scheduleWaitThread looping

I have finally have a cross compiler building, but encounter a new problem with a simple "Hello World" program not working. I get in GDB: Breakpoint 1, 0x102b4718 in startHeapProfTimer () (gdb) Continuing. Breakpoint 3, 0x102b4708 in stopHeapProfTimer () (gdb) Continuing. Breakpoint 1, 0x102b4718 in startHeapProfTimer () (gdb) bt #0 0x102b4718 in startHeapProfTimer () #1 0x1028d918 in scheduleWaitThread () #2 0x102b5dd0 in rts_evalLazyIO () #3 0x1028b674 in real_main () #4 0x1028b79c in hs_main () #5 0x100021dc in main () The program seems to loop in scheduleWaitThread, toggling the HeapProfTimer endlessly and nothing useful happens. Any idea what could be wrong, or how I could tackle debugging this problem. The native build of the same program with same compiler version (HEAD) works well. Under what condition is scheduleWaitThread supposed to return? How can I enable source debugging for RTS files? I should note that this is a big-endian target (PPC) and I have seen trouble with certain fields being wrongly swapped in the past, but IIRC those resulted in crashes. Cheers and thanks, Gabor

Somebody claiming to be Gabor Greif wrote:
I have finally have a cross compiler building, but encounter a new problem with a simple "Hello World" program not working.
HeapProfTimer endlessly and nothing useful happens. Any idea what could be wrong, or how I could tackle debugging this problem. The native build of the same program with same compiler version (HEAD) works well.
This may be unrelated, but I've had a similar issue that I haven't finished debugging yet. Is the LANG environment variable set? Trying running with LANG="" -- Stephen Paul Weber, @singpolyma See http://singpolyma.net for how I prefer to be contacted edition right joseph

On 23/02/13 15:34, Gabor Greif wrote:
I have finally have a cross compiler building, but encounter a new problem with a simple "Hello World" program not working.
I get in GDB:
Breakpoint 1, 0x102b4718 in startHeapProfTimer () (gdb) Continuing.
Breakpoint 3, 0x102b4708 in stopHeapProfTimer () (gdb) Continuing.
Breakpoint 1, 0x102b4718 in startHeapProfTimer () (gdb) bt #0 0x102b4718 in startHeapProfTimer () #1 0x1028d918 in scheduleWaitThread () #2 0x102b5dd0 in rts_evalLazyIO () #3 0x1028b674 in real_main () #4 0x1028b79c in hs_main () #5 0x100021dc in main ()
The program seems to loop in scheduleWaitThread, toggling the HeapProfTimer endlessly and nothing useful happens. Any idea what could be wrong, or how I could tackle debugging this problem. The native build of the same program with same compiler version (HEAD) works well.
Under what condition is scheduleWaitThread supposed to return?
How can I enable source debugging for RTS files?
Compile your Haskell program with -debug. That will link against the debugging version of the RTS that contains symbols. Cheers, Simon
I should note that this is a big-endian target (PPC) and I have seen trouble with certain fields being wrongly swapped in the past, but IIRC those resulted in crashes.
Cheers and thanks,
Gabor
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
participants (3)
-
Gabor Greif
-
Simon Marlow
-
Stephen Paul Weber