Esa Ilari Vuokko wrote:
The other one is the various concurrency tests that fail. The machine
in which I run these is P4 with hyperthreading, and in my experience
hyperthreading does bring out threading-related bugs that won't appear
on normal single core machines.
I have fixed a few things that were affecting these tests, and disabled some
tests that were inappropriate. I'm left with
conc014(ghci,threaded1,threaded2)
conc015(ghci,threaded1)
conc017(ghci,threaded1,threaded2)
these all fail because in the threaded RTS on Windows, threadDelay is not
interruptible like it is on Unix. I do intend to fix this (but not for 6.6), so
I should probably mark these as expected failures.
Now, the worrying this is I'm left with some tests that do this:
conc007.exe: getMBlocks: VirtualAlloc MEM_COMMIT failed: The parameter is
incorrect.
(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?
Cheers,
Simon
conc012(threaded2)
Exception (stack overflow) in a thread. This actually plain crashes.
conc014(normal,opt,optasm,prof,profasm,ghci,threaded1,threaded2)
conc015(normal,opt,optasm,prof,profasm,ghci,threaded1,threaded2)
conc017(normal,opt,optasm,prof,profasm,ghci,threaded1,threaded2)
Async exceptions. These crash in diffrent ways, depending on WAY.
conc023(normal,ghci,threaded1,threaded2)
QSemN. This one corrupts heap somehow and crashes in diffrent ways -
I have seen various crashes from panics to just read/write out of
heap.
conc053(threaded1,threaded2)
QSemN+stm
conc037(threaded1,threaded2)
conc038(threaded1,threaded2)
These just have ffi import Windows doesn't have - sleep. Is adding
CPP, and conditionally importing windows.h/Sleep a good way to fix
them?
conc056(threaded1,threaded2)
The async exception and QSemN problems are somewhat beyond me to debug,
if everyone else is busy, I'll try to debug those but I'd appreciate if
someone more experienced would look into them. I've been running some of
the exception failures in debug mode and using various RTS flags and
reading the code, but I can't spot anything wrong in the code.
Let me know if I can help somehow.
Best regards,
--Esa
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc