I have a rather large program that works fine with ghc's default
runtime, but now I'd like to build it with -threaded, and this
causes it to hang in a way I have not been able to pin down to anything
specific. It hangs at different points each time it's run; running
it in strace will consistently avoid the problem. If I look at
it once it's hung, I always see a pair of processes, both blocked
in futex:

joey@wren:~/src/git-annex>strace -p 21749
Process 21749 attached - interrupt to quit
futex(0x8b03930, FUTEX_WAIT_PRIVATE, 69, NULL^C <unfinished ...>
Process 21749 detached
joey@wren:~/src/git-annex>strace -p 21811
Process 21811 attached - interrupt to quit
futex(0x8b03df8, FUTEX_WAIT_PRIVATE, 2, NULL

Are there any common gotchas with converting to the threaded runtime
that might provide a hint to what's wrong? My code does not currently
use Control.Concurrent or threads, although it does use some libraries
like MissingH that use forkIO or forkOS.

GHC 7.4.1, 7.4.2 on Debian Linux

-- 
see shy jo

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to