Esa Ilari Vuokko wrote:
Simon Marlow wrote:

[snip: fixed and analysed test failures]
Thanks!


conc007.exe: getMBlocks: VirtualAlloc MEM_COMMIT failed: The parameter
is incorrect.


Iiik!  This means that address given to VirtualAlloc is either not
reserved yet, or that size is too big (ie the block-to-be-committed
isn't inside one VirtualAlloc MEM_RESERVE block.)


(I improved the error message).  With a given RTS build it is always the
same tests that fail in this way, but if I tweak the RTS or use a
debugging RTS, the error goes away or moves to a different test.  I
haven't managed to reproduce it with a debugging RTS at all, which is
frustrating.  It appears to have nothing to do with -threaded, though -
these failures happen with the normal way too.


conc007 & conc012 seem to trigger it more than other tests.

Esa - do you see this?  Any ideas?


I don't see random crashes.  I ran fast-mode and full concurrency-dir tests
several times.

But...this made me check the MBlock allocator once more...there appears
to be a bug in my code.  Attached is a patch with fix.  Although I've hard
time guessing how this bug could cause the failure - it's like something was
freeing memory.  Well, hope it's this bug...in which case sorry for the
trouble.

(The patch doesn't cause additional failures for fast, but it doesn't
fix any for me, either.)

It doesn't fix the failures I'm seeing. conc007, conc012 and conc030 all fail for me at the moment, although the compiler itself seems pretty stable.

Should your patch be committed or not?

Failures I'm seeing in concurrency-dir, on machine with two cores (real, not
HT), but not using testsuite THREADS as the machine had extra load:
   conc023(normal,profasm,ghci,threaded2)
     This is still random, diffrent WAYS fail on diffrent runs.

I haven't seen conc023 fail, except the ghci way:

conc023: failed to create OS thread: Not enough storage is available to process this command.

which is reasonable. I'm not running on an HT or MT machine though, so the other conc023 failures might only show up with there are multiple hardware threads.

   conc037(threaded2)

what happened here?

   conc039(threaded1)

I believe this one fails occasionally due to non-fatal reasons (performGC_: interrupted). I should fix the test really.

   conc058(normal,opt,optasm,prof,profasm)
     "I'm Interruptible"

conc058 shouldn't be failing now.

Cheers,
        Simon
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to