[M3devel] AMD64_FREEBSD problems with current RC from m3 site

Mika Nystrom mika at async.async.caltech.edu
Thu Nov 5 23:16:59 CET 2009


The thing is a bit nondeterministic as you might imagine.

I'm having trouble getting it to crash at the moment, with @M3debugthreads I just see this:

Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
Starting act=0x805c17680
^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0x805c06ed0 (LWP 100422)]
0x0000000804b3e29c in __error () from /lib/libthr.so.3
(gdb) where
#0  0x0000000804b3e29c in __error () from /lib/libthr.so.3
#1  0x0000000804b3c365 in pthread_cond_signal () from /lib/libthr.so.3
#2  0x0000000803776a2d in ThreadPThread__pthread_cond_wait (cond=Error accessing memory address 0x8000f97cc718: Bad address.
)
    at ../src/thread/PTHREAD/ThreadPThreadC.c:485
#3  0x000000080377083f in ThreadPThread__XWait (M3_BXP32l_self=Error accessing memory address 0x8000f97cc748: Bad address.
)
    at ../src/thread/PTHREAD/ThreadPThread.m3:200
#4  0x0000000803770a85 in Thread__Wait (M3_AYIbX3_m=Error accessing memory address 0x8000f97cc7b8: Bad address.
) at ../src/thread/PTHREAD/ThreadPThread.m3:229
#5  0x0000000802947374 in SXSelect__WaitE (M3_CNERyx_on=Error accessing memory address 0x8000f97cc848: Bad address.
) at ../src/SX.m3:217
#6  0x0000000802946972 in SXSelect__Wait (M3_CNERyx_on=Error accessing memory address 0x8000f97cc9e8: Bad address.
) at ../src/SX.m3:152
#7  0x00000008011ac748 in MktAsset__WaitLocked (M3_DwTwqf_t=Error accessing memory address 0x8000f97cca48: Bad address.
) at ../src/MktAsset.m3:117
#8  0x00000008011b2950 in MktPlace__RecApply (M3_ELxH3G_cl=Error accessing memory address 0x8000f97ccd18: Bad address.
) at ../src/MktPlace.m3:469
#9  0x00000008037727b3 in ThreadPThread__RunThread (M3_CgoaiZ_me=Error accessing memory address 0x8000f97ccf08: Bad address.
)
    at ../src/thread/PTHREAD/ThreadPThread.m3:509
#10 0x0000000803772569 in ThreadPThread__ThreadBase (M3_AJWxb1_param=Error accessing memory address 0x8000f97ccf88: Bad address.
)
    at ../src/thread/PTHREAD/ThreadPThread.m3:490
#11 0x0000000804b344d1 in pthread_getprio () from /lib/libthr.so.3
#12 0x0000000000000000 in ?? ()
Error accessing memory address 0x7ffff97cd000: Bad address.
(gdb) 

This looks like it's in my code but I think it's in "catatonic mode".  Yes C-\ doesn't even kill it.

     Mika

Tony Hosking writes:
>
>--Apple-Mail-129--20822208
>Content-Type: text/plain;
>	charset=US-ASCII;
>	format=flowed;
>	delsp=yes
>Content-Transfer-Encoding: 7bit
>
>I just checked in a version which will print out the errno for the  
>semaphore calls.
>
>Can you try it?
>
>On 5 Nov 2009, at 16:29, Mika Nystrom wrote:
>
>> Ok here is the latest head (recompiled m3core, libm3, and all my own  
>> code):
>>
>> WARNING: MktPlace.RecApply: asset CB:USD not yet (fully)  
>> initialized, will not attempt executions ag
>> ainst it.
>> [New Thread 0x805cdd440 (LWP 100477)]
>> WARNING: MktPlace.RecApply: asset CB:CAD not yet (fully)  
>> initialized, will not attempt executions ag
>> ainst it.
>> [Switching to Thread 0x805c020b0 (LWP 100102)]
>>
>> Breakpoint 1, RTHooks__ReportFault (M3_AJWxb1_module=Error accessing  
>> memory address 0x8000ffffbe58:
>> Bad address.
>> ) at ../src/runtime/common/RTHooks.m3:95
>> 95        VAR a: RT0.RaiseActivation;  code := Word.And (info, 16_1f);
>> (gdb) where
>> #0  RTHooks__ReportFault (M3_AJWxb1_module=Error accessing memory  
>> address 0x8000ffffbe58: Bad address.
>> ) at ../src/runtime/common/RTHooks.m3:95
>> #1  0x000000080377621e in _m3_fault (M3_AcxOUs_arg=Error accessing  
>> memory address 0x8000ffffbed8: Bad address.
>> )
>>   from /usr/local/cm3/pkg/m3core/AMD64_FREEBSD/libm3core.so.5
>> #2  0x000000080377516d in ThreadPThread__StopWorld ()
>>    at ../src/thread/PTHREAD/ThreadPThread.m3:1061
>> #3  0x000000080377475c in ThreadInternal__SuspendOthers ()
>>    at ../src/thread/PTHREAD/ThreadPThread.m3:865
>> #4  0x0000000803756036 in RTCollector__After (M3_ACxHlO_self=Error  
>> accessing memory address 0x8000ffffbf98: Bad address.
>> )
>>    at ../src/runtime/common/RTCollector.m3:1628
>> #5  0x000000080374cb35 in RTHeapRep__InvokeMonitors  
>> (M3_AicXUJ_before=Error accessing memory address 0x8000ffffbfbf: Bad  
>> address.
>> )
>>    at ../src/runtime/common/RTHeapRep.m3:59
>> #6  0x00000008037537fc in RTCollector__CollectSomeInStateFive ()
>>    at ../src/runtime/common/RTCollector.m3:983
>> #7  0x00000008037526dc in RTCollector__CollectSome () at ../src/ 
>> runtime/common/RTCollector.m3:724
>> #8  0x00000008037520a1 in RTHeapRep__CollectEnough () at ../src/ 
>> runtime/common/RTCollector.m3:653
>> #9  0x0000000803748f49 in RTAllocator__AllocTraced  
>> (M3_Cwb5VA_dataSize=Error accessing memory address 0x8000ffffc138:  
>> Bad address.
>> )
>>    at ../src/runtime/common/RTAllocator.m3:365
>> #10 0x00000008037487a7 in RTAllocator__GetOpenArray  
>> (M3_Eic7CK_def=Error accessing memory address 0x8000ffffc228: Bad  
>> address.
>> )
>>    at ../src/runtime/common/RTAllocator.m3:294
>> #11 0x00000008037478e9 in RTHooks__AllocateOpenArray  
>> (M3_AJWxb1_defn=Error accessing memory address 0x8000ffffc2a8: Bad  
>> address.
>> )
>>    at ../src/runtime/common/RTAllocator.m3:141
>> #12 0x000000080378931b in Text8__Create (M3_Cwb5VA_n=Error accessing  
>> memory address 0x8000ffffc2e8: Bad address.
>> ) at ../src/text/Text8.m3:27
>> #13 0x000000080378915f in Text8__New (M3_CKMnXU_a=Error accessing  
>> memory address 0x8000ffffc348: Bad address.
>> ) at ../src/text/Text8.m3:19
>> ---Type <return> to continue, or q <return> to quit---
>> #14 0x0000000803787c8b in Text__FromChars (M3_CKMnXU_a=Error  
>> accessing memory address 0x8000ffffc3c8: Bad address.
>> ) at ../src/text/Text.m3:226
>> #15 0x0000000800ad41e5 in TWSLogger__ParseRec (M3_CKMnXU_chars=Error  
>> accessing memory address 0x8000ffffc418: Bad address.
>> ) at ../src/TWSLogger.m3:126
>> #16 0x0000000800ad4ce1 in TWSReplayer__ReadRecord (M3_AJWxb1_h=Error  
>> accessing memory address 0x8000ffffc5b8: Bad address.
>> ) at ../src/TWSReplayer.m3:109
>> #17 0x0000000800ad65fb in TWSReplayer__SearchBackwardForData  
>> (M3_AYIbX3_mu=Error accessing memory address 0x8000ffffce88: Bad  
>> address.
>> )
>>    at ../src/TWSReplayer.m3:350
>> #18 0x0000000800ad6e8a in TWSReplayer__ReqMktData (M3_AHDbrZ_t=Error  
>> accessing memory address 0x8000ffffd018: Bad address.
>> ) at ../src/TWSReplayer.m3:396
>> #19 0x0000000800adae34 in TWSReplayBridge__MreqMktData  
>> (M3_Bswth7_t=Error accessing memory address 0x8000ffffd228: Bad  
>> address.
>> )
>>    at ../src/TWSReplayBridge.m3 => /home/mika/t/calarm/twslib/src/ 
>> TWSBridge.mg:574
>> #20 0x000000000040748a in MktIsolator__AddContract  
>> (M3_AGQ7IN_tws=Error accessing memory address 0x8000ffffd278: Bad  
>> address.
>> ) at ../src/MktIsolator.m3:423
>> #21 0x00000000004086d8 in MktIsolator__Init (M3_EXOfcS_t=Error  
>> accessing memory address 0x8000ffffd2d8: Bad address.
>> ) at ../src/MktIsolator.m3:517
>> #22 0x00000000004106af in Main_M3 (M3_AcxOUs_mode=Error accessing  
>> memory address 0x8000ffffd5c8: Bad address.
>> ) at ../src/Main.m3:734
>> #23 0x000000080375e507 in RTLinker__RunMainBody (M3_DjPxE3_m=Error  
>> accessing memory address 0x8000ffffdc48: Bad address.
>> )
>>    at ../src/runtime/common/RTLinker.m3:399
>> #24 0x000000080375d6ee in RTLinker__AddUnitI (M3_DjPxE3_m=Error  
>> accessing memory address 0x8000ffffdce8: Bad address.
>> )
>>    at ../src/runtime/common/RTLinker.m3:113
>> #25 0x000000080375d78c in RTLinker__AddUnit (M3_DjPxE5_b=Error  
>> accessing memory address 0x8000ffffdd08: Bad address.
>> ) at ../src/runtime/common/RTLinker.m3:122
>> #26 0x0000000000404194 in main (argc=Error accessing memory address  
>> 0x8000ffffdd58: Bad address.
>> ) at _m3main.mc:4
>> (gdb)
>>
>> The following is less than helpful:
>>
>> (gdb)
>> #2  0x000000080377516d in ThreadPThread__StopWorld ()
>>    at ../src/thread/PTHREAD/ThreadPThread.m3:1061
>> 1061          <*ASSERT acks < nLive*>
>> (gdb) print acks
>> (gdb) print M3_DLS2Hj_acks
>> Error accessing memory address 0x8000ffffbf24: Bad address.
>> (gdb) print M3_AcxOUs_nLive
>> Error accessing memory address 0x8000ffffbf28: Bad address.
>> (gdb)
>>
>>
>>
>>
>> Thread: 0x8063da3a0
>> mutex:       0x805c130a8
>>  cond:       0x805c130b0
>>  act:        0x805c16080
>>  closure:    0x0
>>  result:     0x0
>>  waitingOn:  0x0
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80618cca0
>> Thread: 0x800571760
>> mutex:       0x805c13428
>>  cond:       0x805c13568
>>  act:        0x805c16b80
>>  closure:    0x8005716e0
>>  result:     0x0
>>  waitingOn:  0x0
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8005717c0
>> Thread: 0x800571868
>> mutex:       0x805c13570
>>  cond:       0x805c13578
>>  act:        0x805c16c00
>>  closure:    0x800571850
>>  result:     0x0
>>  waitingOn:  0x0
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8005718c8
>> Thread: 0x800571908
>> mutex:       0x805c13580
>>  cond:       0x805c13588
>>  act:        0x805c16c80
>>  closure:    0x8005718e8
>>  result:     0x0
>>  waitingOn:  0x0
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x800571968
>> Thread: 0x800571a30
>> mutex:       0x805c13590
>>  cond:       0x805c13598
>>  act:        0x805c16d00
>>  closure:    0x800571a10
>>  result:     0x0
>>  waitingOn:  0x0
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x800571a90
>> Thread: 0x8005d4590
>> mutex:       0x805c135a8
>>  cond:       0x805c135b0
>>  act:        0x805c16e00
>>  closure:    0x8005d4310
>>  result:     0x0
>>  waitingOn:  0x8005d6080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8005d45f0
>> Thread: 0x8005597c0
>> mutex:       0x805c13878
>>  cond:       0x805c13880
>>  act:        0x805c16e80
>>  closure:    0x800559540
>>  result:     0x0
>>  waitingOn:  0x800592080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x800559820
>> Thread: 0x805b9ea68
>> mutex:       0x805c13eb8
>>  cond:       0x805c13ec0
>>  act:        0x805c16d80
>>  closure:    0x805b9e7e8
>>  result:     0x0
>>  waitingOn:  0x805ba0080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805b9eac8
>> Thread: 0x805ba6308
>> mutex:       0x805c13608
>>  cond:       0x805c13610
>>  act:        0x805c16f00
>>  closure:    0x805ba6088
>>  result:     0x0
>>  waitingOn:  0x805ba8080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805ba6368
>> Thread: 0x805bc0240
>> mutex:       0x805cc4b00
>>  cond:       0x805cc4b08
>>  act:        0x805c16f80
>>  closure:    0x805bbffa8
>>  result:     0x0
>>  waitingOn:  0x805bc2080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805bc02a0
>> Thread: 0x8005cfd50
>> mutex:       0x805c13658
>>  cond:       0x805c13660
>>  act:        0x805c17000
>>  closure:    0x8005cfad0
>>  result:     0x0
>>  waitingOn:  0x8005d0080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8005cfdb0
>> Thread: 0x8005694e0
>> mutex:       0x805cb6638
>>  cond:       0x805cb6640
>>  act:        0x805c17080
>>  closure:    0x800569260
>>  result:     0x0
>>  waitingOn:  0x80056a080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x800569540
>> Thread: 0x805e82c48
>> mutex:       0x805c13650
>>  cond:       0x805c13698
>>  act:        0x805c17100
>>  closure:    0x805e829c8
>>  result:     0x0
>>  waitingOn:  0x800602080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e82ca8
>> Thread: 0x80059ca10
>> mutex:       0x805cb60c8
>>  cond:       0x805cb60d0
>>  act:        0x805c17180
>>  closure:    0x80059c790
>>  result:     0x0
>>  waitingOn:  0x800606080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80059ca70
>> Thread: 0x805e3fd50
>> mutex:       0x805c136c0
>>  cond:       0x805c136c8
>>  act:        0x805c17200
>>  closure:    0x805e3fad0
>>  result:     0x0
>>  waitingOn:  0x805e42080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e3fdb0
>> Thread: 0x805e55c50
>> mutex:       0x805ce5648
>>  cond:       0x805ce5650
>>  act:        0x805c17280
>>  closure:    0x805e559d0
>>  result:     0x0
>>  waitingOn:  0x805e58080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e55cb0
>> Thread: 0x805e02d38
>> mutex:       0x805c136f8
>>  cond:       0x805c13700
>>  act:        0x805c17300
>>  closure:    0x805e02ab8
>>  result:     0x0
>>  waitingOn:  0x805e0c080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e02d98
>> Thread: 0x805e64240
>> mutex:       0x805cd38c0
>>  cond:       0x805cd38c8
>>  act:        0x805c17380
>>  closure:    0x805e61f78
>>  result:     0x0
>>  waitingOn:  0x805e66080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e642a0
>> Thread: 0x806232528
>> mutex:       0x805ccd0c8
>>  cond:       0x805ccd0d0
>>  act:        0x805cae100
>>  closure:    0x8062322a8
>>  result:     0x0
>>  waitingOn:  0x80624e080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806232588
>> Thread: 0x800563d50
>> mutex:       0x805c13728
>>  cond:       0x805c13730
>>  act:        0x805c17400
>>  closure:    0x800563ad0
>>  result:     0x0
>>  waitingOn:  0x80057c080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x800563db0
>> Thread: 0x80059b150
>> mutex:       0x805c13b38
>>  cond:       0x805c13b50
>>  act:        0x805c17480
>>  closure:    0x80059aed0
>>  result:     0x0
>>  waitingOn:  0x8005d8080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80059b1b0
>> Thread: 0x80060e308
>> mutex:       0x805c13758
>>  cond:       0x805c13760
>>  act:        0x805c17500
>>  closure:    0x80060e088
>>  result:     0x0
>>  waitingOn:  0x800610080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80060e368
>> Thread: 0x805ed3650
>> mutex:       0x805cc41f0
>>  cond:       0x805cc41f8
>>  act:        0x805c17580
>>  closure:    0x805ed33d0
>>  result:     0x0
>>  waitingOn:  0x805e84080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805ed36b0
>> Thread: 0x800585df8
>> mutex:       0x805c137c0
>>  cond:       0x805c137c8
>>  act:        0x805c17600
>>  closure:    0x800585b78
>>  result:     0x0
>>  waitingOn:  0x805baa080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x800585e58
>> Thread: 0x800577718
>> mutex:       0x805cc4278
>>  cond:       0x805cc4280
>>  act:        0x805c17680
>>  closure:    0x800577498
>>  result:     0x0
>>  waitingOn:  0x80057a080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x800577778
>> Thread: 0x805e57df8
>> mutex:       0x805c137f8
>>  cond:       0x805c13800
>>  act:        0x805c17700
>>  closure:    0x805e57b78
>>  result:     0x0
>>  waitingOn:  0x800588080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e57e58
>> Thread: 0x805e20be8
>> mutex:       0x805cb6bc0
>>  cond:       0x805cb6bc8
>>  act:        0x805c17780
>>  closure:    0x805e20968
>>  result:     0x0
>>  waitingOn:  0x805e22080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e20c48
>> Thread: 0x805e52b38
>> mutex:       0x805c138c0
>>  cond:       0x805c138c8
>>  act:        0x805c17800
>>  closure:    0x805e528b8
>>  result:     0x0
>>  waitingOn:  0x805e86080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e52b98
>> Thread: 0x805bc6aa8
>> mutex:       0x805ccdef8
>>  cond:       0x805ccdf00
>>  act:        0x805c17880
>>  closure:    0x805bc6828
>>  result:     0x0
>>  waitingOn:  0x805bca080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805bc6b08
>> Thread: 0x806113da0
>> mutex:       0x805c138f8
>>  cond:       0x805c13900
>>  act:        0x805c17900
>>  closure:    0x806113b20
>>  result:     0x0
>>  waitingOn:  0x806114080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806113e00
>> Thread: 0x805e46240
>> mutex:       0x805cb65b8
>>  cond:       0x805cb65c0
>>  act:        0x805c17980
>>  closure:    0x805e41f78
>>  result:     0x0
>>  waitingOn:  0x805e4c080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e462a0
>> Thread: 0x805b9ccc0
>> mutex:       0x805cb61f8
>>  cond:       0x805cb6200
>>  act:        0x805cae180
>>  closure:    0x805b9ca40
>>  result:     0x0
>>  waitingOn:  0x805bc8080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805b9cd20
>> Thread: 0x80613cd38
>> mutex:       0x805c13930
>>  cond:       0x805c13938
>>  act:        0x805c17a00
>>  closure:    0x80613cab8
>>  result:     0x0
>>  waitingOn:  0x8005e6080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80613cd98
>> Thread: 0x805e4b4a8
>> mutex:       0x805cb6750
>>  cond:       0x805cb6758
>>  act:        0x805c17a80
>>  closure:    0x805e4b228
>>  result:     0x0
>>  waitingOn:  0x805e62080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e4b508
>> Thread: 0x805e0fe30
>> mutex:       0x805c13970
>>  cond:       0x805c13978
>>  act:        0x805c17b00
>>  closure:    0x805e0fbb0
>>  result:     0x0
>>  waitingOn:  0x805e14080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e0fe90
>> Thread: 0x805e7ecd8
>> mutex:       0x805cb6df8
>>  cond:       0x805cb6e00
>>  act:        0x805c17b80
>>  closure:    0x805e7ea58
>>  result:     0x0
>>  waitingOn:  0x8005e8080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e7ed38
>> Thread: 0x8005f3d50
>> mutex:       0x805c139a0
>>  cond:       0x805c139a8
>>  act:        0x805c17c00
>>  closure:    0x8005f3ad0
>>  result:     0x0
>>  waitingOn:  0x805bce080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8005f3db0
>> Thread: 0x800565628
>> mutex:       0x805cb6cc8
>>  cond:       0x805cb6cd0
>>  act:        0x805c17c80
>>  closure:    0x8005653a8
>>  result:     0x0
>>  waitingOn:  0x800614080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x800565688
>> Thread: 0x805e8eb38
>> mutex:       0x805c139e0
>>  cond:       0x805c139e8
>>  act:        0x805c17d00
>>  closure:    0x805e8e8b8
>>  result:     0x0
>>  waitingOn:  0x806132080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e8eb98
>> Thread: 0x80610ada0
>> mutex:       0x805cc4390
>>  cond:       0x805cc4398
>>  act:        0x805c17d80
>>  closure:    0x80610ab20
>>  result:     0x0
>>  waitingOn:  0x80610e080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80610ae00
>> Thread: 0x80614dda0
>> mutex:       0x805c13a10
>>  cond:       0x805c13a18
>>  act:        0x805c17e00
>>  closure:    0x80614db20
>>  result:     0x0
>>  waitingOn:  0x806150080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80614de00
>> Thread: 0x800609408
>> mutex:       0x805ccd780
>>  cond:       0x805ccd788
>>  act:        0x805c17e80
>>  closure:    0x800609188
>>  result:     0x0
>>  waitingOn:  0x80060c080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x800609468
>> Thread: 0x8061bbdc8
>> mutex:       0x805c13a40
>>  cond:       0x805c13a48
>>  act:        0x805c17f00
>>  closure:    0x8061bbb48
>>  result:     0x0
>>  waitingOn:  0x8061c0080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8061bbe28
>> Thread: 0x805bd5ec8
>> mutex:       0x805cd34f8
>>  cond:       0x805cd3500
>>  act:        0x805c17f80
>>  closure:    0x805bd5c48
>>  result:     0x0
>>  waitingOn:  0x805bd8080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805bd5f28
>> Thread: 0x805bbbdc8
>> mutex:       0x805c13a70
>>  cond:       0x805c13a78
>>  act:        0x805cad080
>>  closure:    0x805bbbb48
>>  result:     0x0
>>  waitingOn:  0x805e72080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805bbbe28
>> Thread: 0x805eb3ee8
>> mutex:       0x805cd3548
>>  cond:       0x805cd3550
>>  act:        0x805cad100
>>  closure:    0x805eb3c68
>>  result:     0x0
>>  waitingOn:  0x805eb4080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805eb3f48
>> Thread: 0x805ed7dc8
>> mutex:       0x805c13aa0
>>  cond:       0x805c13aa8
>>  act:        0x805cad180
>>  closure:    0x805ed7b48
>>  result:     0x0
>>  waitingOn:  0x805e5c080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805ed7e28
>> Thread: 0x805e32648
>> mutex:       0x805cd30a0
>>  cond:       0x805cd30a8
>>  act:        0x805cad200
>>  closure:    0x805e323c8
>>  result:     0x0
>>  waitingOn:  0x805e34080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e326a8
>> Thread: 0x80613a868
>> mutex:       0x805c13ae0
>>  cond:       0x805c13ae8
>>  act:        0x805cad280
>>  closure:    0x80613a5e8
>>  result:     0x0
>>  waitingOn:  0x80625e080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80613a8c8
>> Thread: 0x805e27790
>> mutex:       0x805cb6db8
>>  cond:       0x805cb6dc0
>>  act:        0x805cad300
>>  closure:    0x805e27510
>>  result:     0x0
>>  waitingOn:  0x805e28080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e277f0
>> Thread: 0x805eade70
>> mutex:       0x805c13ba8
>>  cond:       0x805c13bb0
>>  act:        0x805cad380
>>  closure:    0x805eadbf0
>>  result:     0x0
>>  waitingOn:  0x805bb8080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805eaded0
>> Thread: 0x805e91118
>> mutex:       0x805cc4770
>>  cond:       0x805cc4778
>>  act:        0x805cad400
>>  closure:    0x805e90e98
>>  result:     0x0
>>  waitingOn:  0x805e9e080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e91178
>> Thread: 0x8061295c8
>> mutex:       0x805c13c00
>>  cond:       0x805c13c08
>>  act:        0x805cad480
>>  closure:    0x806129348
>>  result:     0x0
>>  waitingOn:  0x80622e080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806129628
>> Thread: 0x805ed59b8
>> mutex:       0x805cc46e8
>>  cond:       0x805cc46f0
>>  act:        0x805cad500
>>  closure:    0x805ed5738
>>  result:     0x0
>>  waitingOn:  0x80615a080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805ed5a18
>> Thread: 0x806134bb0
>> mutex:       0x805c13c30
>>  cond:       0x805c13c38
>>  act:        0x805cad580
>>  closure:    0x806134930
>>  result:     0x0
>>  waitingOn:  0x806136080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806134c10
>> Thread: 0x805e92240
>> mutex:       0x805cd3950
>>  cond:       0x805cd3958
>>  act:        0x805cad600
>>  closure:    0x805e75e68
>>  result:     0x0
>>  waitingOn:  0x805e94080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e922a0
>> Thread: 0x806216410
>> mutex:       0x805c13c60
>>  cond:       0x805c13c68
>>  act:        0x805cad680
>>  closure:    0x806216190
>>  result:     0x0
>>  waitingOn:  0x806218080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806216470
>> Thread: 0x805e97f00
>> mutex:       0x805ce5570
>>  cond:       0x805ce5578
>>  act:        0x805cad700
>>  closure:    0x805e97c80
>>  result:     0x0
>>  waitingOn:  0x805e9a080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e97f60
>> Thread: 0x806126cc0
>> mutex:       0x805c13cd0
>>  cond:       0x805c13cd8
>>  act:        0x805cad780
>>  closure:    0x806126a40
>>  result:     0x0
>>  waitingOn:  0x806212080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806126d20
>> Thread: 0x806250038
>> mutex:       0x805f1b0b0
>>  cond:       0x805f1b0b8
>>  act:        0x805cad800
>>  closure:    0x80624dda8
>>  result:     0x0
>>  waitingOn:  0x806252080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806250098
>> Thread: 0x8061acbb0
>> mutex:       0x805c13d00
>>  cond:       0x805c13d08
>>  act:        0x805cad880
>>  closure:    0x8061ac930
>>  result:     0x0
>>  waitingOn:  0x8061b0080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8061acc10
>> Thread: 0x806234240
>> mutex:       0x805ce5c08
>>  cond:       0x805ce5c10
>>  act:        0x805cad900
>>  closure:    0x806231e68
>>  result:     0x0
>>  waitingOn:  0x8005f4080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8062342a0
>> Thread: 0x80611e3a0
>> mutex:       0x805c13d40
>>  cond:       0x805c13d48
>>  act:        0x805cad980
>>  closure:    0x80611e120
>>  result:     0x0
>>  waitingOn:  0x80612a080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80611e400
>> Thread: 0x806267570
>> mutex:       0x805ccd960
>>  cond:       0x805ccd968
>>  act:        0x805cada00
>>  closure:    0x8062672f0
>>  result:     0x0
>>  waitingOn:  0x806268080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8062675d0
>> Thread: 0x8061cfdc8
>> mutex:       0x805c13d80
>>  cond:       0x805c13d98
>>  act:        0x805cada80
>>  closure:    0x8061cfb48
>>  result:     0x0
>>  waitingOn:  0x805ec0080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8061cfe28
>> Thread: 0x800557290
>> mutex:       0x805c13df0
>>  cond:       0x805c13df8
>>  act:        0x805cadb00
>>  closure:    0x800557010
>>  result:     0x0
>>  waitingOn:  0x80056c080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8005572f0
>> Thread: 0x8005b5e70
>> mutex:       0x805c13e28
>>  cond:       0x805c13e30
>>  act:        0x805cadb80
>>  closure:    0x8005b5bf0
>>  result:     0x0
>>  waitingOn:  0x8005c0080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8005b5ed0
>> Thread: 0x8005c4900
>> mutex:       0x805c13f28
>>  cond:       0x805c13f30
>>  act:        0x805cadc00
>>  closure:    0x8005c4680
>>  result:     0x0
>>  waitingOn:  0x8005c6080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8005c4960
>> Thread: 0x8005a3dc8
>> mutex:       0x805c13f70
>>  cond:       0x805c13f78
>>  act:        0x805cadc80
>>  closure:    0x8005a3b48
>>  result:     0x0
>>  waitingOn:  0x8005cc080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8005a3e28
>> Thread: 0x8005720f0
>> mutex:       0x805d045f8
>>  cond:       0x805d04758
>>  act:        0x805d17080
>>  closure:    0x800572050
>>  result:     0x0
>>  waitingOn:  0x0
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x800572150
>> Thread: 0x805e3d938
>> mutex:       0x805ce5128
>>  cond:       0x805ce5130
>>  act:        0x805cadd00
>>  closure:    0x805e3d6b8
>>  result:     0x0
>>  waitingOn:  0x805e8a080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e3d998
>> Thread: 0x805ebbe70
>> mutex:       0x805c13fa0
>>  cond:       0x805c13fa8
>>  act:        0x805cadd80
>>  closure:    0x805ebbbf0
>>  result:     0x0
>>  waitingOn:  0x806162080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805ebbed0
>> Thread: 0x805bc5028
>> mutex:       0x805cb6980
>>  cond:       0x805cb6988
>>  act:        0x805cade00
>>  closure:    0x805bc4da8
>>  result:     0x0
>>  waitingOn:  0x805bd6080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805bc5088
>> Thread: 0x805ebc0f0
>> mutex:       0x805d047f0
>>  cond:       0x805d04820
>>  act:        0x805d17100
>>  closure:    0x805ebc050
>>  result:     0x0
>>  waitingOn:  0x0
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805ebc150
>> Thread: 0x805eaebb0
>> mutex:       0x805cb6138
>>  cond:       0x805cb6140
>>  act:        0x805cade80
>>  closure:    0x805eae930
>>  result:     0x0
>>  waitingOn:  0x805eb6080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805eaec10
>> Thread: 0x8005b0868
>> mutex:       0x805f81748
>>  cond:       0x805f81750
>>  act:        0x805cadf00
>>  closure:    0x8005b05e8
>>  result:     0x0
>>  waitingOn:  0x8005b2080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8005b08c8
>> Thread: 0x8062de3a0
>> mutex:       0x805cb6188
>>  cond:       0x805cb6190
>>  act:        0x805cadf80
>>  closure:    0x8062de120
>>  result:     0x0
>>  waitingOn:  0x8062e0080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8062de400
>> Thread: 0x805e17c10
>> mutex:       0x805f1b9b8
>>  cond:       0x805f1b9c0
>>  act:        0x805cae000
>>  closure:    0x805e17990
>>  result:     0x0
>>  waitingOn:  0x805e18080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e17c70
>> Thread: 0x80612e3a0
>> mutex:       0x805cb61c0
>>  cond:       0x805cb61c8
>>  act:        0x805cae080
>>  closure:    0x80612e120
>>  result:     0x0
>>  waitingOn:  0x806130080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80612e400
>> Thread: 0x80611b350
>> mutex:       0x805f10210
>>  cond:       0x805f10218
>>  act:        0x805cae200
>>  closure:    0x80611b0d0
>>  result:     0x0
>>  waitingOn:  0x8061b4080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80611b3b0
>> Thread: 0x8062c1dc8
>> mutex:       0x805cb6230
>>  cond:       0x805cb6238
>>  act:        0x805cae280
>>  closure:    0x8062c1b48
>>  result:     0x0
>>  waitingOn:  0x8062c8080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8062c1e28
>> Thread: 0x805ec97a0
>> mutex:       0x805f81a20
>>  cond:       0x805f81a28
>>  act:        0x805cae300
>>  closure:    0x805ec9520
>>  result:     0x0
>>  waitingOn:  0x805ecc080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805ec9800
>> Thread: 0x805e48bb0
>> mutex:       0x805cb6228
>>  cond:       0x805cb6270
>>  act:        0x805cae380
>>  closure:    0x805e48930
>>  result:     0x0
>>  waitingOn:  0x805e5e080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e48c10
>> Thread: 0x80619d440
>> mutex:       0x805f74800
>>  cond:       0x805f74808
>>  act:        0x805cae400
>>  closure:    0x80619d1c0
>>  result:     0x0
>>  waitingOn:  0x80619e080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80619d4a0
>> Thread: 0x80626bdc8
>> mutex:       0x805cb6298
>>  cond:       0x805cb62a0
>>  act:        0x805cae480
>>  closure:    0x80626bb48
>>  result:     0x0
>>  waitingOn:  0x8005c8080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80626be28
>> Thread: 0x8005efd20
>> mutex:       0x805cc4b68
>>  cond:       0x805cc4b70
>>  act:        0x805cae500
>>  closure:    0x8005efaa0
>>  result:     0x0
>>  waitingOn:  0x8005f0080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8005efd80
>> Thread: 0x806359dc8
>> mutex:       0x805cb62c8
>>  cond:       0x805cb62d0
>>  act:        0x805cae580
>>  closure:    0x806359b48
>>  result:     0x0
>>  waitingOn:  0x8062d0080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806359e28
>> Thread: 0x8061d5440
>> mutex:       0x805cfa2e0
>>  cond:       0x805cfa2e8
>>  act:        0x805cae600
>>  closure:    0x8061d51c0
>>  result:     0x0
>>  waitingOn:  0x8061d6080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8061d54a0
>> Thread: 0x805e44cc0
>> mutex:       0x805cb62f8
>>  cond:       0x805cb6300
>>  act:        0x805cae680
>>  closure:    0x805e44a40
>>  result:     0x0
>>  waitingOn:  0x805e5a080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805e44d20
>> Thread: 0x806273ec0
>> mutex:       0x805cd3d78
>>  cond:       0x805cd3d80
>>  act:        0x805cae700
>>  closure:    0x806273c40
>>  result:     0x0
>>  waitingOn:  0x806278080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806273f20
>> Thread: 0x80613fdc8
>> mutex:       0x805cb6328
>>  cond:       0x805cb6330
>>  act:        0x805cae780
>>  closure:    0x80613fb48
>>  result:     0x0
>>  waitingOn:  0x80614a080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x80613fe28
>> Thread: 0x8062cb078
>> mutex:       0x805cf5b28
>>  cond:       0x805cf5b30
>>  act:        0x805cae800
>>  closure:    0x8062cadf8
>>  result:     0x0
>>  waitingOn:  0x8062cc080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8062cb0d8
>> Thread: 0x805ea7dc8
>> mutex:       0x805cb6360
>>  cond:       0x805cb6368
>>  act:        0x805cae880
>>  closure:    0x805ea7b48
>>  result:     0x0
>>  waitingOn:  0x806142080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805ea7e28
>> Thread: 0x806148b20
>> mutex:       0x805cd3818
>>  cond:       0x805cd3820
>>  act:        0x805cae900
>>  closure:    0x8061488a0
>>  result:     0x0
>>  waitingOn:  0x806156080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806148b80
>> Thread: 0x8061b7dc8
>> mutex:       0x805cb6398
>>  cond:       0x805cb63a0
>>  act:        0x805cae980
>>  closure:    0x8061b7b48
>>  result:     0x0
>>  waitingOn:  0x8061c4080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8061b7e28
>> Thread: 0x806509f00
>> mutex:       0x805cf5300
>>  cond:       0x805cf5308
>>  act:        0x805caea00
>>  closure:    0x806509c80
>>  result:     0x0
>>  waitingOn:  0x8063ae080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806509f60
>> $1 = void
>> Thread: 0x805ea7dc8
>> mutex:       0x805cb6360
>>  cond:       0x805cb6368
>>  act:        0x805cae880
>>  closure:    0x805ea7b48
>>  result:     0x0
>>  waitingOn:  0x806142080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x805ea7e28
>> Thread: 0x806148b20
>> mutex:       0x805cd3818
>>  cond:       0x805cd3820
>>  act:        0x805cae900
>>  closure:    0x8061488a0
>>  result:     0x0
>>  waitingOn:  0x806156080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806148b80
>> Thread: 0x8061b7dc8
>> mutex:       0x805cb6398
>>  cond:       0x805cb63a0
>>  act:        0x805cae980
>>  closure:    0x8061b7b48
>>  result:     0x0
>>  waitingOn:  0x8061c4080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x8061b7e28
>> Thread: 0x806509f00
>> mutex:       0x805cf5300
>>  cond:       0x805cf5308
>>  act:        0x805caea00
>>  closure:    0x806509c80
>>  result:     0x0
>>  waitingOn:  0x8063ae080
>>  nextWaiter: 0x0
>>  alerted:    0
>>  joined:     0
>>  join:       0x806509f60
>> $1 = void
>> (gdb)
>>
>> [cut here for sanity, sorry I might have copied one screen twice  
>> above]
>>
>> Running the code @M3debugthreads I get a lot of the following:
>>
>> Stopped from act=0x805c16080
>> Starting from act=0x805c16080
>> Starting act=0x805c16b80
>> Starting act=0x805c16c00
>> Starting act=0x805c16c80
>> Starting act=0x805c16d00
>> Starting act=0x805c16d80
>> Starting act=0x805c16e00
>> Starting act=0x805c16e80
>> Starting act=0x805c16f00
>> Starting act=0x805c16f80
>> Starting act=0x805c17000
>> Starting act=0x805c17080
>> Starting act=0x805c17100
>> Starting act=0x805c17180
>> Starting act=0x805c16f80
>> Starting act=0x805c17180
>> Starting act=0x805c17180
>> Started from act=0x805c16080
>> Stopping from act=0x805c16080
>> Stopping act=0x805c16b80
>> Stopping act=0x805c16c00
>> Stopping act=0x805c16c80
>> Stopping act=0x805c16d00
>> Stopping act=0x805c16d80
>> Stopping act=0x805c16e00
>> Stopping act=0x805c16e80
>> Stopping act=0x805c16f00
>> Stopping act=0x805c16f80
>> Stopping act=0x805c17000
>> Stopping act=0x805c17080
>> Stopping act=0x805c17100
>> Stopping act=0x805c17180
>> Stopping act=0x805c16e00
>> Stopping act=0x805c17000
>> Stopping act=0x805c17100
>> Stopped from act=0x805c16080
>> Processing act=0x805c16080
>> Processing act=0x805c16b80
>> Processing act=0x805c16c00
>> Processing act=0x805c16c80
>> Processing act=0x805c16d00
>> Processing act=0x805c16d80
>> Processing act=0x805c16e00
>> Processing act=0x805c16e80
>> Processing act=0x805c16f00
>> Processing act=0x805c16f80
>> Processing act=0x805c17000
>> Processing act=0x805c17080
>> Processing act=0x805c17100
>> Processing act=0x805c17180
>> Starting from act=0x805c16080
>>
>> Is it because I'm using Thread.Broadcast a lot?
>>
>>     Mika
>
>
>--Apple-Mail-129--20822208
>Content-Type: text/html;
>	charset=US-ASCII
>Content-Transfer-Encoding: quoted-printable
>
><html><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
>-webkit-line-break: after-white-space; ">I just checked in a version =
>which will print out the errno for the semaphore =
>calls.<div><br></div><div>Can you try it?</div><div><div =
>apple-content-edited=3D"true"><span class=3D"Apple-style-span" =
>style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
>Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
>font-weight: normal; letter-spacing: normal; line-height: normal; =
>orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; =
>white-space: normal; widows: 2; word-spacing: 0px; =
>-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
>auto; -webkit-text-stroke-width: 0; "><div style=3D"word-wrap: =
>break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
>after-white-space; "><span class=3D"Apple-style-span" =
>style=3D"border-collapse: separate; -webkit-border-horizontal-spacing: =
>0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); =
>font-family: Helvetica; font-size: 12px; font-style: normal; =
>font-variant: normal; font-weight: normal; letter-spacing: normal; =
>line-height: normal; -webkit-text-decorations-in-effect: none; =
>text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; =
>orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div =
>style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
>-webkit-line-break: after-white-space; "><span class=3D"Apple-style-span" =
>style=3D"border-collapse: separate; -webkit-border-horizontal-spacing: =
>0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); =
>font-family: Helvetica; font-size: 12px; font-style: normal; =
>font-variant: normal; font-weight: normal; letter-spacing: normal; =
>line-height: normal; -webkit-text-decorations-in-effect: none; =
>text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; =
>orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span =
>class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>font-style: normal; font-variant: normal; font-weight: normal; =
>letter-spacing: normal; line-height: normal; =
>-webkit-text-decorations-in-effect: none; text-indent: 0px; =
>-webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>white-space: normal; widows: 2; word-spacing: 0px; "><span =
>class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>font-style: normal; font-variant: normal; font-weight: normal; =
>letter-spacing: normal; line-height: normal; =
>-webkit-text-decorations-in-effect: none; text-indent: 0px; =
>-webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>white-space: normal; widows: 2; word-spacing: 0px; "><span =
>class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>font-style: normal; font-variant: normal; font-weight: normal; =
>letter-spacing: normal; line-height: normal; =
>-webkit-text-decorations-in-effect: none; text-indent: 0px; =
>-webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>white-space: normal; widows: 2; word-spacing: 0px; "><span =
>class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>font-style: normal; font-variant: normal; font-weight: normal; =
>letter-spacing: normal; line-height: normal; =
>-webkit-text-decorations-in-effect: none; text-indent: 0px; =
>-webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>white-space: normal; widows: 2; word-spacing: 0px; "><span =
>class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>font-style: normal; font-variant: normal; font-weight: normal; =
>letter-spacing: normal; line-height: normal; =
>-webkit-text-decorations-in-effect: none; text-indent: 0px; =
>-webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>white-space: normal; widows: 2; word-spacing: 0px; "><span =
>class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>font-style: normal; font-variant: normal; font-weight: normal; =
>letter-spacing: normal; line-height: normal; =
>-webkit-text-decorations-in-effect: none; text-indent: 0px; =
>-webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>white-space: normal; widows: 2; word-spacing: 0px; "><span =
>class=3D"Apple-style-span" style=3D"border-collapse: separate; =
>-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
>0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
>font-style: normal; font-variant: normal; font-weight: normal; =
>letter-spacing: normal; line-height: normal; =
>-webkit-text-decorations-in-effect: none; text-indent: 0px; =
>-webkit-text-size-adjust: auto; text-transform: none; orphans: 2; =
>white-space: normal; widows: 2; word-spacing: 0px; "><div><span =
>class=3D"Apple-style-span" style=3D"font-size: medium;"><font =
>class=3D"Apple-style-span" color=3D"#0000FF" face=3D"'Gill =
>Sans'"><br></font></span></div></span></span></span></span></span></span><=
>/span></span></div></span></div></span></div><div><div>On 5 Nov 2009, at =
>16:29, Mika Nystrom wrote:</div><br =
>class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div>Ok =
>here is the latest head (recompiled m3core, libm3, and all my own =
>code):<br><br>WARNING: MktPlace.RecApply: asset CB:USD not yet (fully) =
>initialized, will not attempt executions ag<br>ainst it.<br>[New Thread =
>0x805cdd440 (LWP 100477)]<br>WARNING: MktPlace.RecApply: asset CB:CAD =
>not yet (fully) initialized, will not attempt executions ag<br>ainst =
>it.<br>[Switching to Thread 0x805c020b0 (LWP 100102)]<br><br>Breakpoint =
>1, RTHooks__ReportFault (M3_AJWxb1_module=3DError accessing memory =
>address 0x8000ffffbe58: <br>Bad address.<br>) at =
>../src/runtime/common/RTHooks.m3:95<br>95 =
>       VAR a: RT0.RaiseActivation; =
> code :=3D Word.And (info, 16_1f);<br>(gdb) where<br>#0 =
> RTHooks__ReportFault (M3_AJWxb1_module=3DError accessing memory =
>address 0x8000ffffbe58: Bad address.<br>) at =
>../src/runtime/common/RTHooks.m3:95<br>#1  0x000000080377621e in =
>_m3_fault (M3_AcxOUs_arg=3DError accessing memory address =
>0x8000ffffbed8: Bad address.<br>)<br>   from =
>/usr/local/cm3/pkg/m3core/AMD64_FREEBSD/libm3core.so.5<br>#2 =
> 0x000000080377516d in ThreadPThread__StopWorld ()<br> =
>   at ../src/thread/PTHREAD/ThreadPThread.m3:1061<br>#3 =
> 0x000000080377475c in ThreadInternal__SuspendOthers ()<br> =
>   at ../src/thread/PTHREAD/ThreadPThread.m3:865<br>#4 =
> 0x0000000803756036 in RTCollector__After (M3_ACxHlO_self=3DError =
>accessing memory address 0x8000ffffbf98: Bad address.<br>)<br> =
>   at ../src/runtime/common/RTCollector.m3:1628<br>#5 =
> 0x000000080374cb35 in RTHeapRep__InvokeMonitors =
>(M3_AicXUJ_before=3DError accessing memory address 0x8000ffffbfbf: Bad =
>address.<br>)<br>    at =
>../src/runtime/common/RTHeapRep.m3:59<br>#6  0x00000008037537fc in =
>RTCollector__CollectSomeInStateFive ()<br>    at =
>../src/runtime/common/RTCollector.m3:983<br>#7  0x00000008037526dc =
>in RTCollector__CollectSome () at =
>../src/runtime/common/RTCollector.m3:724<br>#8  0x00000008037520a1 =
>in RTHeapRep__CollectEnough () at =
>../src/runtime/common/RTCollector.m3:653<br>#9  0x0000000803748f49 =
>in RTAllocator__AllocTraced (M3_Cwb5VA_dataSize=3DError accessing memory =
>address 0x8000ffffc138: Bad address.<br>)<br>    at =
>../src/runtime/common/RTAllocator.m3:365<br>#10 0x00000008037487a7 in =
>RTAllocator__GetOpenArray (M3_Eic7CK_def=3DError accessing memory =
>address 0x8000ffffc228: Bad address.<br>)<br>    at =
>../src/runtime/common/RTAllocator.m3:294<br>#11 0x00000008037478e9 in =
>RTHooks__AllocateOpenArray (M3_AJWxb1_defn=3DError accessing memory =
>address 0x8000ffffc2a8: Bad address.<br>)<br>    at =
>../src/runtime/common/RTAllocator.m3:141<br>#12 0x000000080378931b in =
>Text8__Create (M3_Cwb5VA_n=3DError accessing memory address =
>0x8000ffffc2e8: Bad address.<br>) at ../src/text/Text8.m3:27<br>#13 =
>0x000000080378915f in Text8__New (M3_CKMnXU_a=3DError accessing memory =
>address 0x8000ffffc348: Bad address.<br>) at =
>../src/text/Text8.m3:19<br>---Type <return> to continue, or q =
><return> to quit---<br>#14 0x0000000803787c8b in Text__FromChars =
>(M3_CKMnXU_a=3DError accessing memory address 0x8000ffffc3c8: Bad =
>address.<br>) at ../src/text/Text.m3:226<br>#15 0x0000000800ad41e5 in =
>TWSLogger__ParseRec (M3_CKMnXU_chars=3DError accessing memory address =
>0x8000ffffc418: Bad address.<br>) at ../src/TWSLogger.m3:126<br>#16 =
>0x0000000800ad4ce1 in TWSReplayer__ReadRecord (M3_AJWxb1_h=3DError =
>accessing memory address 0x8000ffffc5b8: Bad address.<br>) at =
>../src/TWSReplayer.m3:109<br>#17 0x0000000800ad65fb in =
>TWSReplayer__SearchBackwardForData (M3_AYIbX3_mu=3DError accessing =
>memory address 0x8000ffffce88: Bad address.<br>)<br> =
>   at ../src/TWSReplayer.m3:350<br>#18 0x0000000800ad6e8a =
>in TWSReplayer__ReqMktData (M3_AHDbrZ_t=3DError accessing memory address =
>0x8000ffffd018: Bad address.<br>) at ../src/TWSReplayer.m3:396<br>#19 =
>0x0000000800adae34 in TWSReplayBridge__MreqMktData (M3_Bswth7_t=3DError =
>accessing memory address 0x8000ffffd228: Bad address.<br>)<br> =
>   at ../src/TWSReplayBridge.m3 =3D> =
>/home/mika/t/calarm/twslib/src/TWSBridge.mg:574<br>#20 =
>0x000000000040748a in MktIsolator__AddContract (M3_AGQ7IN_tws=3DError =
>accessing memory address 0x8000ffffd278: Bad address.<br>) at =
>../src/MktIsolator.m3:423<br>#21 0x00000000004086d8 in MktIsolator__Init =
>(M3_EXOfcS_t=3DError accessing memory address 0x8000ffffd2d8: Bad =
>address.<br>) at ../src/MktIsolator.m3:517<br>#22 0x00000000004106af in =
>Main_M3 (M3_AcxOUs_mode=3DError accessing memory address 0x8000ffffd5c8: =
>Bad address.<br>) at ../src/Main.m3:734<br>#23 0x000000080375e507 in =
>RTLinker__RunMainBody (M3_DjPxE3_m=3DError accessing memory address =
>0x8000ffffdc48: Bad address.<br>)<br>    at =
>../src/runtime/common/RTLinker.m3:399<br>#24 0x000000080375d6ee in =
>RTLinker__AddUnitI (M3_DjPxE3_m=3DError accessing memory address =
>0x8000ffffdce8: Bad address.<br>)<br>    at =
>../src/runtime/common/RTLinker.m3:113<br>#25 0x000000080375d78c in =
>RTLinker__AddUnit (M3_DjPxE5_b=3DError accessing memory address =
>0x8000ffffdd08: Bad address.<br>) at =
>../src/runtime/common/RTLinker.m3:122<br>#26 0x0000000000404194 in main =
>(argc=3DError accessing memory address 0x8000ffffdd58: Bad address.<br>) =
>at _m3main.mc:4<br>(gdb) <br><br>The following is less than =
>helpful:<br><br>(gdb) <br>#2  0x000000080377516d in =
>ThreadPThread__StopWorld ()<br>    at =
>../src/thread/PTHREAD/ThreadPThread.m3:1061<br>1061 =
>         <*ASSERT acks =
>< nLive*><br>(gdb) print acks<br>(gdb) print M3_DLS2Hj_acks =
><br>Error accessing memory address 0x8000ffffbf24: Bad address.<br>(gdb) =
>print M3_AcxOUs_nLive  <br>Error accessing memory address =
>0x8000ffffbf28: Bad address.<br>(gdb) <br><br><br><br><br>Thread: =
>0x8063da3a0<br> mutex: =
>      0x805c130a8<br>  cond: =
>      0x805c130b0<br>  act: =
>       0x805c16080<br>  closure: =
>   0x0<br>  result:     0x0<br> =
> waitingOn:  0x0<br>  nextWaiter: 0x0<br>  alerted: =
>   0<br>  joined:     0<br> =
> join:       0x80618cca0<br>Thread: =
>0x800571760<br> mutex: =
>      0x805c13428<br>  cond: =
>      0x805c13568<br>  act: =
>       0x805c16b80<br>  closure: =
>   0x8005716e0<br>  result: =
>    0x0<br>  waitingOn:  0x0<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8005717c0<br>Thread: =
>0x800571868<br> mutex: =
>      0x805c13570<br>  cond: =
>      0x805c13578<br>  act: =
>       0x805c16c00<br>  closure: =
>   0x800571850<br>  result: =
>    0x0<br>  waitingOn:  0x0<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8005718c8<br>Thread: =
>0x800571908<br> mutex: =
>      0x805c13580<br>  cond: =
>      0x805c13588<br>  act: =
>       0x805c16c80<br>  closure: =
>   0x8005718e8<br>  result: =
>    0x0<br>  waitingOn:  0x0<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x800571968<br>Thread: =
>0x800571a30<br> mutex: =
>      0x805c13590<br>  cond: =
>      0x805c13598<br>  act: =
>       0x805c16d00<br>  closure: =
>   0x800571a10<br>  result: =
>    0x0<br>  waitingOn:  0x0<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x800571a90<br>Thread: =
>0x8005d4590<br> mutex: =
>      0x805c135a8<br>  cond: =
>      0x805c135b0<br>  act: =
>       0x805c16e00<br>  closure: =
>   0x8005d4310<br>  result: =
>    0x0<br>  waitingOn:  0x8005d6080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8005d45f0<br>Thread: =
>0x8005597c0<br> mutex: =
>      0x805c13878<br>  cond: =
>      0x805c13880<br>  act: =
>       0x805c16e80<br>  closure: =
>   0x800559540<br>  result: =
>    0x0<br>  waitingOn:  0x800592080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x800559820<br>Thread: =
>0x805b9ea68<br> mutex: =
>      0x805c13eb8<br>  cond: =
>      0x805c13ec0<br>  act: =
>       0x805c16d80<br>  closure: =
>   0x805b9e7e8<br>  result: =
>    0x0<br>  waitingOn:  0x805ba0080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805b9eac8<br>Thread: =
>0x805ba6308<br> mutex: =
>      0x805c13608<br>  cond: =
>      0x805c13610<br>  act: =
>       0x805c16f00<br>  closure: =
>   0x805ba6088<br>  result: =
>    0x0<br>  waitingOn:  0x805ba8080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805ba6368<br>Thread: =
>0x805bc0240<br> mutex: =
>      0x805cc4b00<br>  cond: =
>      0x805cc4b08<br>  act: =
>       0x805c16f80<br>  closure: =
>   0x805bbffa8<br>  result: =
>    0x0<br>  waitingOn:  0x805bc2080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805bc02a0<br>Thread: =
>0x8005cfd50<br> mutex: =
>      0x805c13658<br>  cond: =
>      0x805c13660<br>  act: =
>       0x805c17000<br>  closure: =
>   0x8005cfad0<br>  result: =
>    0x0<br>  waitingOn:  0x8005d0080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8005cfdb0<br>Thread: =
>0x8005694e0<br> mutex: =
>      0x805cb6638<br>  cond: =
>      0x805cb6640<br>  act: =
>       0x805c17080<br>  closure: =
>   0x800569260<br>  result: =
>    0x0<br>  waitingOn:  0x80056a080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x800569540<br>Thread: =
>0x805e82c48<br> mutex: =
>      0x805c13650<br>  cond: =
>      0x805c13698<br>  act: =
>       0x805c17100<br>  closure: =
>   0x805e829c8<br>  result: =
>    0x0<br>  waitingOn:  0x800602080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e82ca8<br>Thread: =
>0x80059ca10<br> mutex: =
>      0x805cb60c8<br>  cond: =
>      0x805cb60d0<br>  act: =
>       0x805c17180<br>  closure: =
>   0x80059c790<br>  result: =
>    0x0<br>  waitingOn:  0x800606080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80059ca70<br>Thread: =
>0x805e3fd50<br> mutex: =
>      0x805c136c0<br>  cond: =
>      0x805c136c8<br>  act: =
>       0x805c17200<br>  closure: =
>   0x805e3fad0<br>  result: =
>    0x0<br>  waitingOn:  0x805e42080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e3fdb0<br>Thread: =
>0x805e55c50<br> mutex: =
>      0x805ce5648<br>  cond: =
>      0x805ce5650<br>  act: =
>       0x805c17280<br>  closure: =
>   0x805e559d0<br>  result: =
>    0x0<br>  waitingOn:  0x805e58080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e55cb0<br>Thread: =
>0x805e02d38<br> mutex: =
>      0x805c136f8<br>  cond: =
>      0x805c13700<br>  act: =
>       0x805c17300<br>  closure: =
>   0x805e02ab8<br>  result: =
>    0x0<br>  waitingOn:  0x805e0c080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e02d98<br>Thread: =
>0x805e64240<br> mutex: =
>      0x805cd38c0<br>  cond: =
>      0x805cd38c8<br>  act: =
>       0x805c17380<br>  closure: =
>   0x805e61f78<br>  result: =
>    0x0<br>  waitingOn:  0x805e66080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e642a0<br>Thread: =
>0x806232528<br> mutex: =
>      0x805ccd0c8<br>  cond: =
>      0x805ccd0d0<br>  act: =
>       0x805cae100<br>  closure: =
>   0x8062322a8<br>  result: =
>    0x0<br>  waitingOn:  0x80624e080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806232588<br>Thread: =
>0x800563d50<br> mutex: =
>      0x805c13728<br>  cond: =
>      0x805c13730<br>  act: =
>       0x805c17400<br>  closure: =
>   0x800563ad0<br>  result: =
>    0x0<br>  waitingOn:  0x80057c080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x800563db0<br>Thread: =
>0x80059b150<br> mutex: =
>      0x805c13b38<br>  cond: =
>      0x805c13b50<br>  act: =
>       0x805c17480<br>  closure: =
>   0x80059aed0<br>  result: =
>    0x0<br>  waitingOn:  0x8005d8080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80059b1b0<br>Thread: =
>0x80060e308<br> mutex: =
>      0x805c13758<br>  cond: =
>      0x805c13760<br>  act: =
>       0x805c17500<br>  closure: =
>   0x80060e088<br>  result: =
>    0x0<br>  waitingOn:  0x800610080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80060e368<br>Thread: =
>0x805ed3650<br> mutex: =
>      0x805cc41f0<br>  cond: =
>      0x805cc41f8<br>  act: =
>       0x805c17580<br>  closure: =
>   0x805ed33d0<br>  result: =
>    0x0<br>  waitingOn:  0x805e84080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805ed36b0<br>Thread: =
>0x800585df8<br> mutex: =
>      0x805c137c0<br>  cond: =
>      0x805c137c8<br>  act: =
>       0x805c17600<br>  closure: =
>   0x800585b78<br>  result: =
>    0x0<br>  waitingOn:  0x805baa080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x800585e58<br>Thread: =
>0x800577718<br> mutex: =
>      0x805cc4278<br>  cond: =
>      0x805cc4280<br>  act: =
>       0x805c17680<br>  closure: =
>   0x800577498<br>  result: =
>    0x0<br>  waitingOn:  0x80057a080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x800577778<br>Thread: =
>0x805e57df8<br> mutex: =
>      0x805c137f8<br>  cond: =
>      0x805c13800<br>  act: =
>       0x805c17700<br>  closure: =
>   0x805e57b78<br>  result: =
>    0x0<br>  waitingOn:  0x800588080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e57e58<br>Thread: =
>0x805e20be8<br> mutex: =
>      0x805cb6bc0<br>  cond: =
>      0x805cb6bc8<br>  act: =
>       0x805c17780<br>  closure: =
>   0x805e20968<br>  result: =
>    0x0<br>  waitingOn:  0x805e22080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e20c48<br>Thread: =
>0x805e52b38<br> mutex: =
>      0x805c138c0<br>  cond: =
>      0x805c138c8<br>  act: =
>       0x805c17800<br>  closure: =
>   0x805e528b8<br>  result: =
>    0x0<br>  waitingOn:  0x805e86080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e52b98<br>Thread: =
>0x805bc6aa8<br> mutex: =
>      0x805ccdef8<br>  cond: =
>      0x805ccdf00<br>  act: =
>       0x805c17880<br>  closure: =
>   0x805bc6828<br>  result: =
>    0x0<br>  waitingOn:  0x805bca080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805bc6b08<br>Thread: =
>0x806113da0<br> mutex: =
>      0x805c138f8<br>  cond: =
>      0x805c13900<br>  act: =
>       0x805c17900<br>  closure: =
>   0x806113b20<br>  result: =
>    0x0<br>  waitingOn:  0x806114080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806113e00<br>Thread: =
>0x805e46240<br> mutex: =
>      0x805cb65b8<br>  cond: =
>      0x805cb65c0<br>  act: =
>       0x805c17980<br>  closure: =
>   0x805e41f78<br>  result: =
>    0x0<br>  waitingOn:  0x805e4c080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e462a0<br>Thread: =
>0x805b9ccc0<br> mutex: =
>      0x805cb61f8<br>  cond: =
>      0x805cb6200<br>  act: =
>       0x805cae180<br>  closure: =
>   0x805b9ca40<br>  result: =
>    0x0<br>  waitingOn:  0x805bc8080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805b9cd20<br>Thread: =
>0x80613cd38<br> mutex: =
>      0x805c13930<br>  cond: =
>      0x805c13938<br>  act: =
>       0x805c17a00<br>  closure: =
>   0x80613cab8<br>  result: =
>    0x0<br>  waitingOn:  0x8005e6080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80613cd98<br>Thread: =
>0x805e4b4a8<br> mutex: =
>      0x805cb6750<br>  cond: =
>      0x805cb6758<br>  act: =
>       0x805c17a80<br>  closure: =
>   0x805e4b228<br>  result: =
>    0x0<br>  waitingOn:  0x805e62080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e4b508<br>Thread: =
>0x805e0fe30<br> mutex: =
>      0x805c13970<br>  cond: =
>      0x805c13978<br>  act: =
>       0x805c17b00<br>  closure: =
>   0x805e0fbb0<br>  result: =
>    0x0<br>  waitingOn:  0x805e14080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e0fe90<br>Thread: =
>0x805e7ecd8<br> mutex: =
>      0x805cb6df8<br>  cond: =
>      0x805cb6e00<br>  act: =
>       0x805c17b80<br>  closure: =
>   0x805e7ea58<br>  result: =
>    0x0<br>  waitingOn:  0x8005e8080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e7ed38<br>Thread: =
>0x8005f3d50<br> mutex: =
>      0x805c139a0<br>  cond: =
>      0x805c139a8<br>  act: =
>       0x805c17c00<br>  closure: =
>   0x8005f3ad0<br>  result: =
>    0x0<br>  waitingOn:  0x805bce080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8005f3db0<br>Thread: =
>0x800565628<br> mutex: =
>      0x805cb6cc8<br>  cond: =
>      0x805cb6cd0<br>  act: =
>       0x805c17c80<br>  closure: =
>   0x8005653a8<br>  result: =
>    0x0<br>  waitingOn:  0x800614080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x800565688<br>Thread: =
>0x805e8eb38<br> mutex: =
>      0x805c139e0<br>  cond: =
>      0x805c139e8<br>  act: =
>       0x805c17d00<br>  closure: =
>   0x805e8e8b8<br>  result: =
>    0x0<br>  waitingOn:  0x806132080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e8eb98<br>Thread: =
>0x80610ada0<br> mutex: =
>      0x805cc4390<br>  cond: =
>      0x805cc4398<br>  act: =
>       0x805c17d80<br>  closure: =
>   0x80610ab20<br>  result: =
>    0x0<br>  waitingOn:  0x80610e080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80610ae00<br>Thread: =
>0x80614dda0<br> mutex: =
>      0x805c13a10<br>  cond: =
>      0x805c13a18<br>  act: =
>       0x805c17e00<br>  closure: =
>   0x80614db20<br>  result: =
>    0x0<br>  waitingOn:  0x806150080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80614de00<br>Thread: =
>0x800609408<br> mutex: =
>      0x805ccd780<br>  cond: =
>      0x805ccd788<br>  act: =
>       0x805c17e80<br>  closure: =
>   0x800609188<br>  result: =
>    0x0<br>  waitingOn:  0x80060c080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x800609468<br>Thread: =
>0x8061bbdc8<br> mutex: =
>      0x805c13a40<br>  cond: =
>      0x805c13a48<br>  act: =
>       0x805c17f00<br>  closure: =
>   0x8061bbb48<br>  result: =
>    0x0<br>  waitingOn:  0x8061c0080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8061bbe28<br>Thread: =
>0x805bd5ec8<br> mutex: =
>      0x805cd34f8<br>  cond: =
>      0x805cd3500<br>  act: =
>       0x805c17f80<br>  closure: =
>   0x805bd5c48<br>  result: =
>    0x0<br>  waitingOn:  0x805bd8080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805bd5f28<br>Thread: =
>0x805bbbdc8<br> mutex: =
>      0x805c13a70<br>  cond: =
>      0x805c13a78<br>  act: =
>       0x805cad080<br>  closure: =
>   0x805bbbb48<br>  result: =
>    0x0<br>  waitingOn:  0x805e72080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805bbbe28<br>Thread: =
>0x805eb3ee8<br> mutex: =
>      0x805cd3548<br>  cond: =
>      0x805cd3550<br>  act: =
>       0x805cad100<br>  closure: =
>   0x805eb3c68<br>  result: =
>    0x0<br>  waitingOn:  0x805eb4080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805eb3f48<br>Thread: =
>0x805ed7dc8<br> mutex: =
>      0x805c13aa0<br>  cond: =
>      0x805c13aa8<br>  act: =
>       0x805cad180<br>  closure: =
>   0x805ed7b48<br>  result: =
>    0x0<br>  waitingOn:  0x805e5c080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805ed7e28<br>Thread: =
>0x805e32648<br> mutex: =
>      0x805cd30a0<br>  cond: =
>      0x805cd30a8<br>  act: =
>       0x805cad200<br>  closure: =
>   0x805e323c8<br>  result: =
>    0x0<br>  waitingOn:  0x805e34080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e326a8<br>Thread: =
>0x80613a868<br> mutex: =
>      0x805c13ae0<br>  cond: =
>      0x805c13ae8<br>  act: =
>       0x805cad280<br>  closure: =
>   0x80613a5e8<br>  result: =
>    0x0<br>  waitingOn:  0x80625e080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80613a8c8<br>Thread: =
>0x805e27790<br> mutex: =
>      0x805cb6db8<br>  cond: =
>      0x805cb6dc0<br>  act: =
>       0x805cad300<br>  closure: =
>   0x805e27510<br>  result: =
>    0x0<br>  waitingOn:  0x805e28080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e277f0<br>Thread: =
>0x805eade70<br> mutex: =
>      0x805c13ba8<br>  cond: =
>      0x805c13bb0<br>  act: =
>       0x805cad380<br>  closure: =
>   0x805eadbf0<br>  result: =
>    0x0<br>  waitingOn:  0x805bb8080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805eaded0<br>Thread: =
>0x805e91118<br> mutex: =
>      0x805cc4770<br>  cond: =
>      0x805cc4778<br>  act: =
>       0x805cad400<br>  closure: =
>   0x805e90e98<br>  result: =
>    0x0<br>  waitingOn:  0x805e9e080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e91178<br>Thread: =
>0x8061295c8<br> mutex: =
>      0x805c13c00<br>  cond: =
>      0x805c13c08<br>  act: =
>       0x805cad480<br>  closure: =
>   0x806129348<br>  result: =
>    0x0<br>  waitingOn:  0x80622e080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806129628<br>Thread: =
>0x805ed59b8<br> mutex: =
>      0x805cc46e8<br>  cond: =
>      0x805cc46f0<br>  act: =
>       0x805cad500<br>  closure: =
>   0x805ed5738<br>  result: =
>    0x0<br>  waitingOn:  0x80615a080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805ed5a18<br>Thread: =
>0x806134bb0<br> mutex: =
>      0x805c13c30<br>  cond: =
>      0x805c13c38<br>  act: =
>       0x805cad580<br>  closure: =
>   0x806134930<br>  result: =
>    0x0<br>  waitingOn:  0x806136080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806134c10<br>Thread: =
>0x805e92240<br> mutex: =
>      0x805cd3950<br>  cond: =
>      0x805cd3958<br>  act: =
>       0x805cad600<br>  closure: =
>   0x805e75e68<br>  result: =
>    0x0<br>  waitingOn:  0x805e94080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e922a0<br>Thread: =
>0x806216410<br> mutex: =
>      0x805c13c60<br>  cond: =
>      0x805c13c68<br>  act: =
>       0x805cad680<br>  closure: =
>   0x806216190<br>  result: =
>    0x0<br>  waitingOn:  0x806218080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806216470<br>Thread: =
>0x805e97f00<br> mutex: =
>      0x805ce5570<br>  cond: =
>      0x805ce5578<br>  act: =
>       0x805cad700<br>  closure: =
>   0x805e97c80<br>  result: =
>    0x0<br>  waitingOn:  0x805e9a080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e97f60<br>Thread: =
>0x806126cc0<br> mutex: =
>      0x805c13cd0<br>  cond: =
>      0x805c13cd8<br>  act: =
>       0x805cad780<br>  closure: =
>   0x806126a40<br>  result: =
>    0x0<br>  waitingOn:  0x806212080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806126d20<br>Thread: =
>0x806250038<br> mutex: =
>      0x805f1b0b0<br>  cond: =
>      0x805f1b0b8<br>  act: =
>       0x805cad800<br>  closure: =
>   0x80624dda8<br>  result: =
>    0x0<br>  waitingOn:  0x806252080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806250098<br>Thread: =
>0x8061acbb0<br> mutex: =
>      0x805c13d00<br>  cond: =
>      0x805c13d08<br>  act: =
>       0x805cad880<br>  closure: =
>   0x8061ac930<br>  result: =
>    0x0<br>  waitingOn:  0x8061b0080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8061acc10<br>Thread: =
>0x806234240<br> mutex: =
>      0x805ce5c08<br>  cond: =
>      0x805ce5c10<br>  act: =
>       0x805cad900<br>  closure: =
>   0x806231e68<br>  result: =
>    0x0<br>  waitingOn:  0x8005f4080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8062342a0<br>Thread: =
>0x80611e3a0<br> mutex: =
>      0x805c13d40<br>  cond: =
>      0x805c13d48<br>  act: =
>       0x805cad980<br>  closure: =
>   0x80611e120<br>  result: =
>    0x0<br>  waitingOn:  0x80612a080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80611e400<br>Thread: =
>0x806267570<br> mutex: =
>      0x805ccd960<br>  cond: =
>      0x805ccd968<br>  act: =
>       0x805cada00<br>  closure: =
>   0x8062672f0<br>  result: =
>    0x0<br>  waitingOn:  0x806268080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8062675d0<br>Thread: =
>0x8061cfdc8<br> mutex: =
>      0x805c13d80<br>  cond: =
>      0x805c13d98<br>  act: =
>       0x805cada80<br>  closure: =
>   0x8061cfb48<br>  result: =
>    0x0<br>  waitingOn:  0x805ec0080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8061cfe28<br>Thread: =
>0x800557290<br> mutex: =
>      0x805c13df0<br>  cond: =
>      0x805c13df8<br>  act: =
>       0x805cadb00<br>  closure: =
>   0x800557010<br>  result: =
>    0x0<br>  waitingOn:  0x80056c080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8005572f0<br>Thread: =
>0x8005b5e70<br> mutex: =
>      0x805c13e28<br>  cond: =
>      0x805c13e30<br>  act: =
>       0x805cadb80<br>  closure: =
>   0x8005b5bf0<br>  result: =
>    0x0<br>  waitingOn:  0x8005c0080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8005b5ed0<br>Thread: =
>0x8005c4900<br> mutex: =
>      0x805c13f28<br>  cond: =
>      0x805c13f30<br>  act: =
>       0x805cadc00<br>  closure: =
>   0x8005c4680<br>  result: =
>    0x0<br>  waitingOn:  0x8005c6080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8005c4960<br>Thread: =
>0x8005a3dc8<br> mutex: =
>      0x805c13f70<br>  cond: =
>      0x805c13f78<br>  act: =
>       0x805cadc80<br>  closure: =
>   0x8005a3b48<br>  result: =
>    0x0<br>  waitingOn:  0x8005cc080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8005a3e28<br>Thread: =
>0x8005720f0<br> mutex: =
>      0x805d045f8<br>  cond: =
>      0x805d04758<br>  act: =
>       0x805d17080<br>  closure: =
>   0x800572050<br>  result: =
>    0x0<br>  waitingOn:  0x0<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x800572150<br>Thread: =
>0x805e3d938<br> mutex: =
>      0x805ce5128<br>  cond: =
>      0x805ce5130<br>  act: =
>       0x805cadd00<br>  closure: =
>   0x805e3d6b8<br>  result: =
>    0x0<br>  waitingOn:  0x805e8a080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e3d998<br>Thread: =
>0x805ebbe70<br> mutex: =
>      0x805c13fa0<br>  cond: =
>      0x805c13fa8<br>  act: =
>       0x805cadd80<br>  closure: =
>   0x805ebbbf0<br>  result: =
>    0x0<br>  waitingOn:  0x806162080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805ebbed0<br>Thread: =
>0x805bc5028<br> mutex: =
>      0x805cb6980<br>  cond: =
>      0x805cb6988<br>  act: =
>       0x805cade00<br>  closure: =
>   0x805bc4da8<br>  result: =
>    0x0<br>  waitingOn:  0x805bd6080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805bc5088<br>Thread: =
>0x805ebc0f0<br> mutex: =
>      0x805d047f0<br>  cond: =
>      0x805d04820<br>  act: =
>       0x805d17100<br>  closure: =
>   0x805ebc050<br>  result: =
>    0x0<br>  waitingOn:  0x0<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805ebc150<br>Thread: =
>0x805eaebb0<br> mutex: =
>      0x805cb6138<br>  cond: =
>      0x805cb6140<br>  act: =
>       0x805cade80<br>  closure: =
>   0x805eae930<br>  result: =
>    0x0<br>  waitingOn:  0x805eb6080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805eaec10<br>Thread: =
>0x8005b0868<br> mutex: =
>      0x805f81748<br>  cond: =
>      0x805f81750<br>  act: =
>       0x805cadf00<br>  closure: =
>   0x8005b05e8<br>  result: =
>    0x0<br>  waitingOn:  0x8005b2080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8005b08c8<br>Thread: =
>0x8062de3a0<br> mutex: =
>      0x805cb6188<br>  cond: =
>      0x805cb6190<br>  act: =
>       0x805cadf80<br>  closure: =
>   0x8062de120<br>  result: =
>    0x0<br>  waitingOn:  0x8062e0080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8062de400<br>Thread: =
>0x805e17c10<br> mutex: =
>      0x805f1b9b8<br>  cond: =
>      0x805f1b9c0<br>  act: =
>       0x805cae000<br>  closure: =
>   0x805e17990<br>  result: =
>    0x0<br>  waitingOn:  0x805e18080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e17c70<br>Thread: =
>0x80612e3a0<br> mutex: =
>      0x805cb61c0<br>  cond: =
>      0x805cb61c8<br>  act: =
>       0x805cae080<br>  closure: =
>   0x80612e120<br>  result: =
>    0x0<br>  waitingOn:  0x806130080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80612e400<br>Thread: =
>0x80611b350<br> mutex: =
>      0x805f10210<br>  cond: =
>      0x805f10218<br>  act: =
>       0x805cae200<br>  closure: =
>   0x80611b0d0<br>  result: =
>    0x0<br>  waitingOn:  0x8061b4080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80611b3b0<br>Thread: =
>0x8062c1dc8<br> mutex: =
>      0x805cb6230<br>  cond: =
>      0x805cb6238<br>  act: =
>       0x805cae280<br>  closure: =
>   0x8062c1b48<br>  result: =
>    0x0<br>  waitingOn:  0x8062c8080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8062c1e28<br>Thread: =
>0x805ec97a0<br> mutex: =
>      0x805f81a20<br>  cond: =
>      0x805f81a28<br>  act: =
>       0x805cae300<br>  closure: =
>   0x805ec9520<br>  result: =
>    0x0<br>  waitingOn:  0x805ecc080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805ec9800<br>Thread: =
>0x805e48bb0<br> mutex: =
>      0x805cb6228<br>  cond: =
>      0x805cb6270<br>  act: =
>       0x805cae380<br>  closure: =
>   0x805e48930<br>  result: =
>    0x0<br>  waitingOn:  0x805e5e080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e48c10<br>Thread: =
>0x80619d440<br> mutex: =
>      0x805f74800<br>  cond: =
>      0x805f74808<br>  act: =
>       0x805cae400<br>  closure: =
>   0x80619d1c0<br>  result: =
>    0x0<br>  waitingOn:  0x80619e080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80619d4a0<br>Thread: =
>0x80626bdc8<br> mutex: =
>      0x805cb6298<br>  cond: =
>      0x805cb62a0<br>  act: =
>       0x805cae480<br>  closure: =
>   0x80626bb48<br>  result: =
>    0x0<br>  waitingOn:  0x8005c8080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80626be28<br>Thread: =
>0x8005efd20<br> mutex: =
>      0x805cc4b68<br>  cond: =
>      0x805cc4b70<br>  act: =
>       0x805cae500<br>  closure: =
>   0x8005efaa0<br>  result: =
>    0x0<br>  waitingOn:  0x8005f0080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8005efd80<br>Thread: =
>0x806359dc8<br> mutex: =
>      0x805cb62c8<br>  cond: =
>      0x805cb62d0<br>  act: =
>       0x805cae580<br>  closure: =
>   0x806359b48<br>  result: =
>    0x0<br>  waitingOn:  0x8062d0080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806359e28<br>Thread: =
>0x8061d5440<br> mutex: =
>      0x805cfa2e0<br>  cond: =
>      0x805cfa2e8<br>  act: =
>       0x805cae600<br>  closure: =
>   0x8061d51c0<br>  result: =
>    0x0<br>  waitingOn:  0x8061d6080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8061d54a0<br>Thread: =
>0x805e44cc0<br> mutex: =
>      0x805cb62f8<br>  cond: =
>      0x805cb6300<br>  act: =
>       0x805cae680<br>  closure: =
>   0x805e44a40<br>  result: =
>    0x0<br>  waitingOn:  0x805e5a080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805e44d20<br>Thread: =
>0x806273ec0<br> mutex: =
>      0x805cd3d78<br>  cond: =
>      0x805cd3d80<br>  act: =
>       0x805cae700<br>  closure: =
>   0x806273c40<br>  result: =
>    0x0<br>  waitingOn:  0x806278080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806273f20<br>Thread: =
>0x80613fdc8<br> mutex: =
>      0x805cb6328<br>  cond: =
>      0x805cb6330<br>  act: =
>       0x805cae780<br>  closure: =
>   0x80613fb48<br>  result: =
>    0x0<br>  waitingOn:  0x80614a080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x80613fe28<br>Thread: =
>0x8062cb078<br> mutex: =
>      0x805cf5b28<br>  cond: =
>      0x805cf5b30<br>  act: =
>       0x805cae800<br>  closure: =
>   0x8062cadf8<br>  result: =
>    0x0<br>  waitingOn:  0x8062cc080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8062cb0d8<br>Thread: =
>0x805ea7dc8<br> mutex: =
>      0x805cb6360<br>  cond: =
>      0x805cb6368<br>  act: =
>       0x805cae880<br>  closure: =
>   0x805ea7b48<br>  result: =
>    0x0<br>  waitingOn:  0x806142080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805ea7e28<br>Thread: =
>0x806148b20<br> mutex: =
>      0x805cd3818<br>  cond: =
>      0x805cd3820<br>  act: =
>       0x805cae900<br>  closure: =
>   0x8061488a0<br>  result: =
>    0x0<br>  waitingOn:  0x806156080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806148b80<br>Thread: =
>0x8061b7dc8<br> mutex: =
>      0x805cb6398<br>  cond: =
>      0x805cb63a0<br>  act: =
>       0x805cae980<br>  closure: =
>   0x8061b7b48<br>  result: =
>    0x0<br>  waitingOn:  0x8061c4080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8061b7e28<br>Thread: =
>0x806509f00<br> mutex: =
>      0x805cf5300<br>  cond: =
>      0x805cf5308<br>  act: =
>       0x805caea00<br>  closure: =
>   0x806509c80<br>  result: =
>    0x0<br>  waitingOn:  0x8063ae080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806509f60<br>$1 =3D =
>void<br>Thread: 0x805ea7dc8<br> mutex: =
>      0x805cb6360<br>  cond: =
>      0x805cb6368<br>  act: =
>       0x805cae880<br>  closure: =
>   0x805ea7b48<br>  result: =
>    0x0<br>  waitingOn:  0x806142080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x805ea7e28<br>Thread: =
>0x806148b20<br> mutex: =
>      0x805cd3818<br>  cond: =
>      0x805cd3820<br>  act: =
>       0x805cae900<br>  closure: =
>   0x8061488a0<br>  result: =
>    0x0<br>  waitingOn:  0x806156080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806148b80<br>Thread: =
>0x8061b7dc8<br> mutex: =
>      0x805cb6398<br>  cond: =
>      0x805cb63a0<br>  act: =
>       0x805cae980<br>  closure: =
>   0x8061b7b48<br>  result: =
>    0x0<br>  waitingOn:  0x8061c4080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x8061b7e28<br>Thread: =
>0x806509f00<br> mutex: =
>      0x805cf5300<br>  cond: =
>      0x805cf5308<br>  act: =
>       0x805caea00<br>  closure: =
>   0x806509c80<br>  result: =
>    0x0<br>  waitingOn:  0x8063ae080<br> =
> nextWaiter: 0x0<br>  alerted:    0<br> =
> joined:     0<br>  join: =
>      0x806509f60<br>$1 =3D =
>void<br>(gdb)<br><br>[cut here for sanity, sorry I might have copied one =
>screen twice above]<br><br>Running the code @M3debugthreads I get a lot =
>of the following:<br><br>Stopped from act=3D0x805c16080<br>Starting from =
>act=3D0x805c16080<br>Starting act=3D0x805c16b80<br>Starting =
>act=3D0x805c16c00<br>Starting act=3D0x805c16c80<br>Starting =
>act=3D0x805c16d00<br>Starting act=3D0x805c16d80<br>Starting =
>act=3D0x805c16e00<br>Starting act=3D0x805c16e80<br>Starting =
>act=3D0x805c16f00<br>Starting act=3D0x805c16f80<br>Starting =
>act=3D0x805c17000<br>Starting act=3D0x805c17080<br>Starting =
>act=3D0x805c17100<br>Starting act=3D0x805c17180<br>Starting =
>act=3D0x805c16f80<br>Starting act=3D0x805c17180<br>Starting =
>act=3D0x805c17180<br>Started from act=3D0x805c16080<br>Stopping from =
>act=3D0x805c16080<br>Stopping act=3D0x805c16b80<br>Stopping =
>act=3D0x805c16c00<br>Stopping act=3D0x805c16c80<br>Stopping =
>act=3D0x805c16d00<br>Stopping act=3D0x805c16d80<br>Stopping =
>act=3D0x805c16e00<br>Stopping act=3D0x805c16e80<br>Stopping =
>act=3D0x805c16f00<br>Stopping act=3D0x805c16f80<br>Stopping =
>act=3D0x805c17000<br>Stopping act=3D0x805c17080<br>Stopping =
>act=3D0x805c17100<br>Stopping act=3D0x805c17180<br>Stopping =
>act=3D0x805c16e00<br>Stopping act=3D0x805c17000<br>Stopping =
>act=3D0x805c17100<br>Stopped from act=3D0x805c16080<br>Processing =
>act=3D0x805c16080<br>Processing act=3D0x805c16b80<br>Processing =
>act=3D0x805c16c00<br>Processing act=3D0x805c16c80<br>Processing =
>act=3D0x805c16d00<br>Processing act=3D0x805c16d80<br>Processing =
>act=3D0x805c16e00<br>Processing act=3D0x805c16e80<br>Processing =
>act=3D0x805c16f00<br>Processing act=3D0x805c16f80<br>Processing =
>act=3D0x805c17000<br>Processing act=3D0x805c17080<br>Processing =
>act=3D0x805c17100<br>Processing act=3D0x805c17180<br>Starting from =
>act=3D0x805c16080<br><br>Is it because I'm using Thread.Broadcast a =
>lot?<br><br> =
>    Mika<br></div></blockquote></div><br></div></body>=
></html>=
>
>--Apple-Mail-129--20822208--



More information about the M3devel mailing list