You shouldn't ever get these errors, even if you forget performGC. I've heard from Michael Xavier that he had this issue when he switched to ghc-7.8. Are you by chance also using ghc-7.8?
Either way this is a bug since it violates the library's contract. If you can throw together a minimal example that reproduces the error as a Github issue then I can dig into this. On Jul 6, 2014 11:59 PM, "Nick Partridge" <[email protected]> wrote: > Hi, I've been playing a bit with Pipes.Concurrent lately, and I seem to be > stumbling into STM errors more than I'd like. Here's a recent example: > > https://gist.github.com/nkpart/5c83011b10b33ebc5e35 > > The function takes a number of workers to spawn, a generator of work and > the function to run on each worker thread. What I don't understand is why I > needed to explicitly seal the output channels in this example. Is it > something to do with the fact I have 2 sets of channels in play? The > examples in the docs don't illustrate anything like this and that seems to > me to be the only real point of difference between this and what works. > > Also in general, I find that I'm frequently able to get bits and pieces to > compile, look okay, and maybe even run correctly some percentage of the > time, and then blow up with STM exceptions occasionally as well. Usually > I've missed the performGC, but the experience is disturbing to my Haskell > brain. > > Thanks, > Nick > > -- > You received this message because you are subscribed to the Google Groups > "Haskell Pipes" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > -- You received this message because you are subscribed to the Google Groups "Haskell Pipes" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected].
