<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div apple-content-edited="true"><span class="Apple-style-span" style="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="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="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="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="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="Apple-style-span" style="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="Apple-style-span" style="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="Apple-style-span" style="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="Apple-style-span" style="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="Apple-style-span" style="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="Apple-style-span" style="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="Apple-style-span" style="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="Apple-style-span" style="font-size: medium;"><font class="Apple-style-span" color="#0000FF" face="'Gill Sans'">For what it's worth, that call should never fail.  It is unlocking a mutex that this thread should already hold.</font></span></div></span></span></span></span></span></span></span></span></div></span></div></span> </div><br><div><div>On 31 Oct 2009, at 12:11, Mika Nystrom wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hello m3devel,<br><br>I'm running into problems with the current release candidate.<br>I'm attaching a backtrace from one crash, but I think I also am seeing<br>deadlocks in the threading system---my application goes catatonic.<br>Of course it *is* possible it's a bug in my application, but it works<br>on PM3 and on CM3 on PPC_DARWIN.<br><br>Finally I'm still concerned about threading performance but in the light<br>of the bugs it's hard to say much about it yet, I think...<br><br>(The program in question is a highly multithreaded stock market<br>simulator.)<br><br>     Mika<br><br>============================================================<br><br>***<br>*** runtime error:<br>***    <*ASSERT*> failed.<br>***    file "../src/thread/PTHREAD/ThreadPThread.m3", line 589<br>***<br><br><br>Program received signal SIGABRT, Aborted.<br>0x0000000804c9fa9c in thr_kill () from /lib/libc.so.7<br>(m3gdb) show args<br>Argument list to give program being debugged when it is started is "@M3debugtrace=mktsim.out -tz America/New_York -bugbehavior None -symbology ric -symbology tws -replay mktisolator090910.ticks 2009-09-10@13:30 -to 2009-09-10@15:59 -port 7001 -dp 0.05 7003 -dp 0.10 7005 -dp 0.15 7007 -dp 0.20 7009 -dp 0.25 7011 -dp 0.30 7013 -sync 60 -unsolicitedfills 0.5 -cp 0.5 -xtimeport 7200 isolate90.src".<br>(m3gdb) where<br>#0  0x0000000804c9fa9c in thr_kill () from /lib/libc.so.7<br>#1  0x0000000804d2ef8b in abort () from /lib/libc.so.7<br>#2  0x0000000803777bf7 in Crash () at ../src/runtime/POSIX/RTOS.m3:20<br>#3  0x000000080376b615 in Crash (msg=Invalid C/C++ type code 26 in symbol table.<br>) at ../src/runtime/common/RTProcess.m3:65<br>#4  0x0000000803768ab2 in EndError (crash=Invalid C/C++ type code 36 in symbol table.<br>) at ../src/runtime/common/RTError.m3:118<br>#5  0x00000008037687aa in MsgS (file=Invalid C/C++ type code 35 in symbol table.<br>) at ../src/runtime/common/RTError.m3:40<br>#6  0x0000000803768f85 in Crash (a=Invalid C/C++ type code 30 in symbol table.<br>) at ../src/runtime/common/RTException.m3:79<br>#7  0x0000000803768c3c in DefaultBackstop (a=Invalid C/C++ type code 30 in symbol table.<br>) at ../src/runtime/common/RTException.m3:39<br>#8  0x0000000803768b6e in InvokeBackstop (a=Invalid C/C++ type code 30 in symbol table.<br>) at ../src/runtime/common/RTException.m3:25<br>#9  0x0000000803778eab in Raise (act=Invalid C/C++ type code 30 in symbol table.<br>) at ../src/runtime/ex_frame/RTExFrame.m3:29<br>#10 0x0000000803768cee in DefaultBackstop (a=Invalid C/C++ type code 30 in symbol table.<br>) at ../src/runtime/common/RTException.m3:47<br>#11 0x0000000803768b6e in InvokeBackstop (a=Invalid C/C++ type code 30 in symbol table.<br>) at ../src/runtime/common/RTException.m3:25<br>#12 0x0000000803778eab in Raise (act=Invalid C/C++ type code 30 in symbol table.<br>) at ../src/runtime/ex_frame/RTExFrame.m3:29<br>#13 0x0000000803750241 in ReportFault (module=Invalid C/C++ type code 35 in symbol table.<br>) at ../src/runtime/common/RTHooks.m3:110<br>#14 0x0000000803780acf in _m3_fault (arg=Invalid C/C++ type code 39 in symbol table.<br>)<br>   from /usr/local/cm3/pkg/m3core/AMD64_FREEBSD/libm3core.so.5<br>#15 0x000000080377d1bc in Fork (closure=Invalid C/C++ type code 26 in symbol table.<br>) at ../src/thread/PTHREAD/ThreadPThread.m3:589<br>#16 0x00000008011b1651 in AddAsset (t=Invalid C/C++ type code 26 in symbol table.<br>) at ../src/MktPlace.m3:116<br>#17 0x00000000004085c6 in Init (t=Invalid C/C++ type code 26 in symbol table.<br>) at ../src/MktIsolator.m3:514<br>#18 0x00000000004106af in Main (mode=Invalid C/C++ type code 39 in symbol table.<br>) at ../src/Main.m3:734<br>#19 0x0000000803767c19 in RunMainBody (m=Invalid C/C++ type code 29 in symbol table.<br>) at ../src/runtime/common/RTLinker.m3:400<br>#20 0x0000000803766e00 in AddUnitI (m=Invalid C/C++ type code 29 in symbol table.<br>) at ../src/runtime/common/RTLinker.m3:114<br>#21 0x0000000803766e9e in AddUnit (b=Invalid C/C++ type code 31 in symbol table.<br>) at ../src/runtime/common/RTLinker.m3:123<br>---Type <return> to continue, or q <return> to quit---<br>#22 0x0000000000404194 in main (argc=44, argv=0x7fffffffdde8, envp=0x7fffffffdf50) at _m3main.mc:4<br>#23 0x00000000004040de in _start ()<br>(m3gdb) up 15<br>#15 0x000000080377d1bc in Fork (closure=16_00000008064c8930)<br>    at ../src/thread/PTHREAD/ThreadPThread.m3:589<br>589         WITH r = pthread_mutex_lock_active() DO <*ASSERT r=0*> END;<br>Current language:  auto; currently Modula-3<br>(m3gdb) print r<br>$1 = 11<br>(m3gdb) <br><br>============================================================<br><br></div></blockquote></div><br></body></html>