
On 10/03/11 18:20, Bas van Dijk wrote:
On 10 March 2011 18:11, Simon Marlow
wrote: On 28/02/11 15:59, Bas van Dijk wrote:
On 25 February 2011 19:10, Bas van Dijk
wrote: On 25 February 2011 18:27, sclv
wrote: Bas van Dijk-2 wrote:
I believe the OS threads are created by my levmar library. This library uses bindings-levmar[4] which is a binding to a C library. bindings-levmar uses safe FFI calls because the levmar C procedures are reentrant (they need to call back into Haskell to execute the model function). I believe the RTS creates an OS thread for each safe FFI call.
Sounds like #4262: http://hackage.haskell.org/trac/ghc/ticket/4262
(Should be fixed in head)
That looks exactly like my problem. I will try it out with ghc head on monday.
In ghc-HEAD (7.1.20110227) the bug is fixed, great!
The bug still appears in ghc-7.0.2-rc2, so I assume the patch in #4262 was not merged in that release.
Will it be merged into the upcoming ghc-7.0.2?
I'm slightly worried by this. #4262 was not an OS thread "leak", but rather that when the program needs fewer OS threads we weren't returning the surplus OS threads back to the system. #4262 doesn't make programs use an ever-increasing number of OS threads. It's an optimisation rather than a bug, which is why we didn't merge the patch into the 7.0 branch.
So I'm concerned because the symptom you describe sounds more like a leak. #4850 could have caused it, but the fix for that was merged into 7.0.2.
My bug is solved in 7.0.2.
Ah great, thanks for testing. Cheers, Simon