Debugging cause of indefinite thread blocking

Hi all, I am making use of the Data.Array.Repa module to achieve data-parallelism. On running my program I get the error: "thread blocked indefinitely on an MVar operation" Two questions: 1. What could be some of the potential causes for the above error when the only use of parallelism is Repa arrays? 2. What are the best strategies for debugging he cause(s) of such an error? Cheers, Ben. The information in this e-mail may be confidential and subject to legal professional privilege and/or copyright. National ICT Australia Limited accepts no liability for any damage caused by this email or its attachments.

I am making use of the Data.Array.Repa module to achieve data-parallelism. On running my program I get the error:
"thread blocked indefinitely on an MVar operation"
Haven't seen any responses yet, so here are some suggestions:
Two questions: 1. What could be some of the potential causes for the above error when the only use of parallelism is Repa arrays?
If you're sure the issue is in Repa, contact the Repa authors?
2. What are the best strategies for debugging he cause(s) of such an error?
If it is in your code, you could try replacing the Control.Concurrent operations with variants that generate a helpful trace before calling the originals. That approach was used in the Concurrent Haskell Debugger: http://www.informatik.uni-kiel.de/~fhu/chd/ Google for "concurrent haskell debugger" to find related and follow-on work on extensions of chd and alternative verification approaches. Newer GHCs have some internal runtime event logging features (eg, link the code with -debug, then run with +RTS -Ds). See RTS options in the GHC user manual (4.15.[67]). Claus
participants (2)
-
Ben Lever
-
Claus Reinke