Esa Ilari Vuokko
2006-08-22 00:37:32 UTC
Hi,
There's few annoying issues I'm running into in my mingw32 builds,
and it would be nice if they got fixed for release.
One wierdness is that I've been getting this sort of errors (this one is
from testsuite, not failing on bling-builds):
! ghc.exe: panic! (the 'impossible' happened)
! (GHC version 6.5 for i386-unknown-mingw32):
! loadObj: failed
!
! Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
!
! ghc.exe: Unknown PEi386 section name `/4' (while processing: TH_spliceD1_Lib.o
I have no idea what section that is, and I don't think Linker needs to
crash from it. I quickly tried to find if there's something special in
asm, but there was nothing suspicious looking. I will update my mingw
tomorrow, next time I'd do clean build, maybe it goes away. But I
wouldn't be suprised if it stays.
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.
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
There's few annoying issues I'm running into in my mingw32 builds,
and it would be nice if they got fixed for release.
One wierdness is that I've been getting this sort of errors (this one is
from testsuite, not failing on bling-builds):
! ghc.exe: panic! (the 'impossible' happened)
! (GHC version 6.5 for i386-unknown-mingw32):
! loadObj: failed
!
! Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
!
! ghc.exe: Unknown PEi386 section name `/4' (while processing: TH_spliceD1_Lib.o
I have no idea what section that is, and I don't think Linker needs to
crash from it. I quickly tried to find if there's something special in
asm, but there was nothing suspicious looking. I will update my mingw
tomorrow, next time I'd do clean build, maybe it goes away. But I
wouldn't be suprised if it stays.
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.
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