scheduleWaitThread looping

Gabor Greif ggreif at
Sat Feb 23 16:34:34 CET 2013

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 ()

Breakpoint 3, 0x102b4708 in stopHeapProfTimer ()

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,


More information about the ghc-devs mailing list