I've attached some clues below the quoted message. On Thu, 20 Feb 2003, Dean Herington wrote:
> I'm getting intermittent "thread blocked indefinitely" errors with GHC > 5.04.2. My program uses modules Concurrent and Posix heavily. In > particular, I fork processes (now with GHC.Conc.forkProcess) and handle > SIGCHLD signals to determine when the processes have finished. The > symptoms seem similar to "evacuated object entered" problems I had with > GHC 5.02 and an earlier version of my program. Any bugs or gotchas I > should know about? Suggestions about how to collect information with > which to debug this problem? (I've heard about +RTS -D1, IIRC, but have > not tried it. Is a debugging RTS available? Is it possible for a mere > mortal to build one?) Something like the following seems to be occurring. The program `Concurrent.forkIO`s several threads. Two of these auxiliary threads each fork a process (with `GHC.Conc.forkProcess`). Just as the second forked process is about to `Posix.executeFile`, it appears that the "ghost" of the original thread (with ID 1) in that process--which is not supposed to exist in the new process--suffers the "thread blocked indefinitely" exception. (Each of my threads protects itself with `Exception.catch` and tags caught exceptions with process and thread IDs.) It is likely that, in the original process, the original thread was waiting on a `readChan` at the time of the `forkProcess`. What I describe above happens nearly all the time. However, one time I observed something superficially quite different. One of the processes (I suspect the second forked one, as above, though since the message comes from the RTS it isn't tagged with a process ID) reports: Test: main thread exited (uncaught exception) and then a bit later: Test: fatal error: schedule: invalid what_next field That process then exits with `ExitFailure 254`. Any ideas and suggestions are welcome! Dean _______________________________________________ Glasgow-haskell-bugs mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
