
Matthias Kilian wrote:
I'm currently working on updating the GHC port to 6.6.1 for OpenBSD, and when I run the testsuite (ghc-regress), all test cases for the way "threaded1", i.e. debug + threaded bail out with an assertion failure:
Blocks: 132 live + 123 free = 255 total (508 around) conc010: internal error: ASSERTION FAILED: file Storage.c, line 1174
The numbers vary slightly, but there's always a total of 255 and 508 blocks around, except for one test case (con012), where there are a total of 763 blocks (1016 around).
What puzzles me a little bit is the fact that this does *not* happen on amd64 (aka x86_64) but only on i386 so far.
So does this ring a bell for anyone? I didn't find anything similar in the archives or in the bug tracker.
No ringing bells here I'm afraid. What you're seeing is a failure from the code that checks for memory leaks, which is only enabled by -debug (the threaded1 test way uses -threaded -debug). It reckons you have 508 blocks allocated from the OS, but can only account for 255 of them. You could try enabling some more debugging options, e.g. +RTS -DSb will enable sanity-checking and debugging messages from the block allocator. Cheers, Simon