[hunchentoot-devel] Hunchentoot treatment of unhandled conditions
Daniel Weinreb
dlw at itasoftware.com
Tue Mar 2 15:01:20 UTC 2010
Hans Hübner wrote:
> On Mon, Mar 1, 2010 at 23:30, Daniel Weinreb <dlw at itasoftware.com> wrote:
>
>> Hunchentoot's accept-connections called usocket:socket-accept,
>> which signaled a usocket:unknown-error. Nothing handled this
>> condition. This happened in a server, which crashes (rather than
>> going into the interactive debugger) when there is an unhandled
>> condition.
>>
>
> [...]
>
>
>> Are there any plans regarding this, or advice about it?
>>
>
> I do not think that Hunchentoot should continue as if nothing happened
> when usocket:socket-accept signals an unknown condition.
Yes, I agree. I was thinking in terms of providing a way for
the application using Hunchentoot to have a way of
controlling what happens next in such a circumstance,
such as logging, notifying some other process, etc.
> After all,
> something bad could have happened to the socket, making the following
> select hang forever or the following accept just signal the same error
> again, both being undesireable (hanging vs. busy looping).
>
> The real question is: What is the original error that was converted
> into an unsocket:unknown-error?
In this case, it was an errno 24, which is EMFILE, "too many
open files". Yes, ideally usocket would have a generic condition
for this. But from my point of view, the most important thing
is to have some way to control what happens in the face of a
condition that we cannot anticipate.
It would be something like the existing handle-message's
handler-bind, but "closer to the base of the stack" so that
it would handle conditions signaled within, e.g., accept-connection.
Thanks.
-- Dan
> The condition has a real-error slot
> that can be examined to find out (and the print method prints it using
> "The condition ~A occured."). Once the original error is known, it
> can be decided how usocket must be fixed to map the platform specific
> error to a usocket condition class and if Hunchentoot can safely
> ignore this error when it occurs during an accept. Please let us know
> what you find out.
>
> -Hans
>
> _______________________________________________
> tbnl-devel site list
> tbnl-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/tbnl-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/tbnl-devel/attachments/20100302/426c5be2/attachment.html>
More information about the Tbnl-devel
mailing list