[M3devel] AMD64_FREEBSD problems with current RC from m3 site

Tony Hosking hosking at cs.purdue.edu
Sat Oct 31 19:19:34 CET 2009


This looks weird.  How do you get from XWait to pthread_cond_signal?   
Unless perhaps that simply represents the fact that the signal has  
been fielded.  In any case, I'd need to see backtraces from all the  
threads.  This one looks to have successfully fielded a request to  
stop for GC.

On 31 Oct 2009, at 12:15, Mika Nystrom wrote:

>
> More details about the "catatonic" case.  It's pretty bad.  Even  
> ctrl-\
> won't wake it up properly.  Ctrl-\ is supposed to cause the program to
> abort and dump core.  It does nothing to my program now!  And I think
> I've "lost threads" before, too.
>
> Btw,
>
> (90)ginger:~/t>uname -a
> FreeBSD ginger 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Fri May  1  
> 07:18:07 UTC 2009     root at driscoll.cse.buffalo.edu:/usr/obj/usr/src/ 
> sys/GENERIC  amd64
>
> I'm happy to help debug if someone can give me some pointers...
>
>
>     Mika
>
> ^\
> Program received signal SIGQUIT, Quit.
> 0x0000000804ca037c in sigsuspend () from /lib/libc.so.7
> (m3gdb) cont
> Continuing.
>
>
> ***
> *** runtime error:
> ***    aborted
>
>
>
>
> ^\
> Program received signal SIGQUIT, Quit.
> 0x0000000804ca037c in sigsuspend () from /lib/libc.so.7
> (m3gdb) where
> #0  0x0000000804ca037c in sigsuspend () from /lib/libc.so.7
> #1  0x0000000804b41d0a in sigsuspend () from /lib/libthr.so.3
> #2  0x0000000803780da0 in ThreadPThread__sigsuspend ()
>    at ../src/thread/PTHREAD/ThreadPThreadC.c:117
> #3  0x000000080377ff6f in SignalHandler (sig=Invalid C/C++ type code  
> 28 in symbol table.
> ) at ../src/thread/PTHREAD/ThreadPThread.m3:1261
> #4  <signal handler called>
> #5  0x0000000804b4829c in __error () from /lib/libthr.so.3
> #6  0x0000000804b46365 in pthread_cond_signal () from /lib/libthr.so.3
> #7  0x000000080377a85d in XWait (self=Invalid C/C++ type code 26 in  
> symbol table.
> ) at ../src/thread/PTHREAD/ThreadPThread.m3:227
> #8  0x000000080377b026 in Wait (m=Invalid C/C++ type code 26 in  
> symbol table.
> ) at ../src/thread/PTHREAD/ThreadPThread.m3:278
> #9  0x000000080294a39c in WaitE (on=Invalid C/C++ type code 30 in  
> symbol table.
> ) at ../src/SX.m3:217
> #10 0x000000080294999a in Wait (on=Invalid C/C++ type code 30 in  
> symbol table.
> ) at ../src/SX.m3:152
> #11 0x00000008011ae748 in WaitLocked (t=Invalid C/C++ type code 26  
> in symbol table.
> ) at ../src/MktAsset.m3:117
> #12 0x00000008011b4950 in RecApply (cl=Invalid C/C++ type code 26 in  
> symbol table.
> ) at ../src/MktPlace.m3:469
> #13 0x000000080377cdf3 in RunThread (me=Invalid C/C++ type code 29  
> in symbol table.
> ) at ../src/thread/PTHREAD/ThreadPThread.m3:547
> #14 0x000000080377ca6a in ThreadBase (param=Invalid C/C++ type code  
> 35 in symbol table.
> ) at ../src/thread/PTHREAD/ThreadPThread.m3:523
> #15 0x0000000804b3e4d1 in pthread_getprio () from /lib/libthr.so.3
> #16 0x0000000000000000 in ?? ()
> (m3gdb)
>
>
> Mika Nystrom writes:
>> Hello m3devel,
>>
>> I'm running into problems with the current release candidate.
>> I'm attaching a backtrace from one crash, but I think I also am  
>> seeing
>> deadlocks in the threading system---my application goes catatonic.
>> Of course it *is* possible it's a bug in my application, but it works
>> on PM3 and on CM3 on PPC_DARWIN.
>>
>> Finally I'm still concerned about threading performance but in the  
>> light
>> of the bugs it's hard to say much about it yet, I think...
>>
>> (The program in question is a highly multithreaded stock market
>> simulator.)
>>
>>    Mika
>>
>> ============================================================
>>
>> ***
>> *** runtime error:
>> ***    <*ASSERT*> failed.
>> ***    file "../src/thread/PTHREAD/ThreadPThread.m3", line 589
>> ***
>>
>>
>> Program received signal SIGABRT, Aborted.
>> 0x0000000804c9fa9c in thr_kill () from /lib/libc.so.7
>> (m3gdb) show args
>> 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 at 13:30 -to  
>> 2009-09-10 at 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".
>> (m3gdb) where
>> #0  0x0000000804c9fa9c in thr_kill () from /lib/libc.so.7
>> #1  0x0000000804d2ef8b in abort () from /lib/libc.so.7
>> #2  0x0000000803777bf7 in Crash () at ../src/runtime/POSIX/RTOS.m3:20
>> #3  0x000000080376b615 in Crash (msg=Invalid C/C++ type code 26 in  
>> symbol table.
>> ) at ../src/runtime/common/RTProcess.m3:65
>> #4  0x0000000803768ab2 in EndError (crash=Invalid C/C++ type code  
>> 36 in symbol table.
>> ) at ../src/runtime/common/RTError.m3:118
>> #5  0x00000008037687aa in MsgS (file=Invalid C/C++ type code 35 in  
>> symbol table.
>> ) at ../src/runtime/common/RTError.m3:40
>> #6  0x0000000803768f85 in Crash (a=Invalid C/C++ type code 30 in  
>> symbol table.
>> ) at ../src/runtime/common/RTException.m3:79
>> #7  0x0000000803768c3c in DefaultBackstop (a=Invalid C/C++ type  
>> code 30 in symbol table.
>> ) at ../src/runtime/common/RTException.m3:39
>> #8  0x0000000803768b6e in InvokeBackstop (a=Invalid C/C++ type code  
>> 30 in symbol table.
>> ) at ../src/runtime/common/RTException.m3:25
>> #9  0x0000000803778eab in Raise (act=Invalid C/C++ type code 30 in  
>> symbol table.
>> ) at ../src/runtime/ex_frame/RTExFrame.m3:29
>> #10 0x0000000803768cee in DefaultBackstop (a=Invalid C/C++ type  
>> code 30 in symbol table.
>> ) at ../src/runtime/common/RTException.m3:47
>> #11 0x0000000803768b6e in InvokeBackstop (a=Invalid C/C++ type code  
>> 30 in symbol table.
>> ) at ../src/runtime/common/RTException.m3:25
>> #12 0x0000000803778eab in Raise (act=Invalid C/C++ type code 30 in  
>> symbol table.
>> ) at ../src/runtime/ex_frame/RTExFrame.m3:29
>> #13 0x0000000803750241 in ReportFault (module=Invalid C/C++ type  
>> code 35 in symbol table.
>> ) at ../src/runtime/common/RTHooks.m3:110
>> #14 0x0000000803780acf in _m3_fault (arg=Invalid C/C++ type code 39  
>> in symbol table.
>> )
>>  from /usr/local/cm3/pkg/m3core/AMD64_FREEBSD/libm3core.so.5
>> #15 0x000000080377d1bc in Fork (closure=Invalid C/C++ type code 26  
>> in symbol table.
>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:589
>> #16 0x00000008011b1651 in AddAsset (t=Invalid C/C++ type code 26 in  
>> symbol table.
>> ) at ../src/MktPlace.m3:116
>> #17 0x00000000004085c6 in Init (t=Invalid C/C++ type code 26 in  
>> symbol table.
>> ) at ../src/MktIsolator.m3:514
>> #18 0x00000000004106af in Main (mode=Invalid C/C++ type code 39 in  
>> symbol table.
>> ) at ../src/Main.m3:734
>> #19 0x0000000803767c19 in RunMainBody (m=Invalid C/C++ type code 29  
>> in symbol table.
>> ) at ../src/runtime/common/RTLinker.m3:400
>> #20 0x0000000803766e00 in AddUnitI (m=Invalid C/C++ type code 29 in  
>> symbol table.
>> ) at ../src/runtime/common/RTLinker.m3:114
>> #21 0x0000000803766e9e in AddUnit (b=Invalid C/C++ type code 31 in  
>> symbol table.
>> ) at ../src/runtime/common/RTLinker.m3:123
>> ---Type <return> to continue, or q <return> to quit---
>> #22 0x0000000000404194 in main (argc=44, argv=0x7fffffffdde8,  
>> envp=0x7fffffffdf50) at _m3main.mc:4
>> #23 0x00000000004040de in _start ()
>> (m3gdb) up 15
>> #15 0x000000080377d1bc in Fork (closure=16_00000008064c8930)
>>   at ../src/thread/PTHREAD/ThreadPThread.m3:589
>> 589         WITH r = pthread_mutex_lock_active() DO <*ASSERT r=0*>  
>> END;
>> Current language:  auto; currently Modula-3
>> (m3gdb) print r
>> $1 = 11
>> (m3gdb)
>>
>> ============================================================
>>
>>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20091031/2422dd2e/attachment-0002.html>


More information about the M3devel mailing list