Does ghc have daemon threads again?
George Russell
ger at tzi.de
Mon Feb 4 05:55:41 EST 2002
Simon Marlow wrote:
>
> > I have a program which comes to the end of the main action,
> > but nevertheless won't go away. Is this
> > a bug? When I give up and interrupt it, I get a message
> > "fatal error: resurrectThreads: thread blocked in a strange
> > way"; could this be connected?
>
> The behaviour hasn't changed: when the main thread completes, the
> program ends. However, we do run finalizers first, and if one of the
> finalizers blocks on an unavailable resource (perhaps something the main
> thread forgot to free?), then you'll get a deadlock.
None of _my_ finalizers are blocking, because I don't have any. Indeed
the string "Foreign" does not appear anywhere in the sources.
>
> However, you shouldn't get the resurrectThreads error msg; any chance of
> a repeatable example? (or is it the whole of UniForm again :-()
Yes, that's exactly what it is. Perhaps I should try to persuade you to
get it (using CVS) and see for yourself; it may not be the last bug we
come across (and there's also that business with sockets being buffered
to be tracked down).
For the time being I have "solved" the problem with Posix.exitImmediately,
which I realise is only slightly less drastic than pulling the plug.
If I had to guess at what the cause of the problem is, it would be sockets . . .
Best wishes,
George Russell
More information about the Glasgow-haskell-bugs
mailing list