On 8 Dec 2007, at 20:22, Allison Randal wrote:
Could you edit src/scheduler.c and change the value of CX_DEBUG to
1, recompile, and run the test suite? Most of the tests will fail
because of the additional output on stderr, but if you can catch a
hang, we'll have a little more detail on what stage the scheduler
was in when the deadlock hit.
CX_DEBUG = 1, make test, hangs quite promptly. The immediately
preceding debug output looks like this:
# Failed test (t/compilers/imcc/imcpasm/opt1.t at line 787)
# got: '# IMCC does produce b0rken PASM files
# # see http://guesthandling tasks in scheduler runloop
# Found task ID # 1
# ended scheduler runloop
# '
# expected: '# IMCC does produce b0rken PASM files
# # see http://[EMAIL PROTECTED]/rt3/Ticket/Display.html?id=32392
# _main:
# inc N0
# end
# '
(full transcript available here: http://hexten.net/junk/parrot1.txt)
And Instruments is telling me this:
http://hexten.net/junk/parrot1.png
Only two threads this time.
Here's another similar hang:
http://hexten.net/junk/parrot2.png
I can't seem to reproduce the six thread case.
It seems to hang much more readily with CX_DEBUG enabled - including
once during make rather than make test.
What next?
--
Andy Armstrong, Hexten