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



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

Reply via email to