[M3devel] Status of threads for RC4?

Tony Hosking hosking at cs.purdue.edu
Tue Oct 13 15:16:08 CEST 2009


I need to see all the threads:

thread apply all bt

On 13 Oct 2009, at 02:46, Olaf Wagner wrote:

> Quoting Tony Hosking <hosking at cs.purdue.edu>:
>
>> I need a stack dump from the hung OpenBSD p007 run to diagnose  
>> (attach
>> to the process using gdb and grab a stack dump).  Are we seeing this
>> on any other pthread target?
>
> I just logged in quickly to Jay's OpenBSD system and started test 7.
> Output stops after line 8 and I had to hit Control-C.
>
>
> bash-3.2$ m3gdb src/p0/p007/I386_OPENBSD/pgm
> GNU gdb plus Modula-3 6.4
> Copyright 2005 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and  
> you are
> welcome to change it and/or distribute copies of it under certain  
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for  
> details.
> This GDB was configured as "i686-openbsd"...
> (m3gdb) r
> Starting program: /home/hudson/workspace/cm3-test-m3tests- 
> I386_OPENBSD/cm3/m3-sys/m3tests/src/p0/p007/I386_OPENBSD/pgm
>
>    1:     1
>    2:     1    2
>    3:     1    2    3
>    4:     1    2    3    4
>    5:     1    2    3    4    5
>    6:     1    2    3    4    5    6
>    7:     1    2    3    4    5    6    7
>    8:     1    2    3    4    5    6    7    8
>    9: ^C
> Program received signal SIGINT, Interrupt.
> 0x0e3f18f1 in poll () from /usr/lib/libc.so.50.1
> (m3gdb) bt
> #0  0x0e3f18f1 in poll () from /usr/lib/libc.so.50.1
> #1  0x0910f314 in _thread_kern_poll (wait_reqd=1)
>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:760
> #2  0x0910ee53 in _thread_kern_sched (scp=0x0)
>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:382
> #3  0x0910f19f in _thread_kern_sched_state (state=688918728,
>    fname=0x291010c8 "", lineno=688918728)
>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:550
> #4  0x09109085 in nanosleep (time_to_sleep=0x8544ec68,
>    time_remaining=0x8544ec70)
>    at /usr/src/lib/libpthread/uthread/uthread_nanosleep.c:84
> #5  0x1c023181 in ThreadPThread__Nanosleep (req=0x8544ec68,  
> rem=0x8544ec70)
>    at ../src/thread/PTHREAD/ThreadPThreadC.c:317
> #6  0x1c01fb54 in CommonSleep () at ../src/thread/PTHREAD/ 
> ThreadPThread.m3:740
> #7  0x1c0219d3 in StopWorld () at ../src/thread/PTHREAD/ 
> ThreadPThread.m3:1253
> #8  0x1c021041 in SuspendOthers ()
>    at ../src/thread/PTHREAD/ThreadPThread.m3:1029
> #9  0x1c007ccb in CollectSomeInStateZero ()
>    at ../src/runtime/common/RTCollector.m3:735
> #10 0x1c007c8a in CollectSome () at ../src/runtime/common/ 
> RTCollector.m3:709
> #11 0x1c00773d in CollectEnough () at ../src/runtime/common/ 
> RTCollector.m3:643
> #12 0x1c004de1 in AllocTraced (dataSize=Invalid C/C++ type code 40  
> in symbol table.
> )
>    at ../src/runtime/common/RTAllocator.m3:363
> #13 0x1c004056 in GetTracedObj (def=Invalid C/C++ type code 29 in  
> symbol table.
> )
>    at ../src/runtime/common/RTAllocator.m3:222
> #14 0x1c0039ec in AllocateTracedObj (defn=Invalid C/C++ type code 35  
> in symbol table.
> )
>    at ../src/runtime/common/RTAllocator.m3:120
> #15 0x1c002b82 in Task (self=Invalid C/C++ type code 26 in symbol  
> table.
> ) at ../Main.m3:58
> #16 0x1c01ed3e in RunThread (me=Invalid C/C++ type code 29 in symbol  
> table.
> )
>    at ../src/thread/PTHREAD/ThreadPThread.m3:588
> #17 0x1c01ea83 in ThreadBase (param=Invalid C/C++ type code 35 in  
> symbol table.
> )
>    at ../src/thread/PTHREAD/ThreadPThread.m3:564
> #18 0x0910637f in _thread_start ()
>    at /usr/src/lib/libpthread/uthread/uthread_create.c:240
> #19 0x0000002b in ?? ()
> #20 0x00000000 in ?? ()
> (m3gdb) set lang Modula-3
> (m3gdb) bt
> #0  0x0e3f18f1 in poll () from /usr/lib/libc.so.50.1
> #1  0x0910f314 in _thread_kern_poll (wait_reqd=1)
>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:760
> #2  0x0910ee53 in _thread_kern_sched (scp=0x0)
>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:382
> #3  0x0910f19f in _thread_kern_sched_state (state=688918728,
>    fname=0x291010c8 "\000", lineno=688918728)
>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:550
> #4  0x09109085 in nanosleep (time_to_sleep=0x8544ec68,
>    time_remaining=0x8544ec70)
>    at /usr/src/lib/libpthread/uthread/uthread_nanosleep.c:84
> #5  0x1c023181 in ThreadPThread__Nanosleep (req=0x8544ec68,  
> rem=0x8544ec70)
>    at ../src/thread/PTHREAD/ThreadPThreadC.c:317
> #6  0x1c01fb54 in CommonSleep () at ../src/thread/PTHREAD/ 
> ThreadPThread.m3:740
> #7  0x1c0219d3 in StopWorld () at ../src/thread/PTHREAD/ 
> ThreadPThread.m3:1253
> #8  0x1c021041 in SuspendOthers ()
>    at ../src/thread/PTHREAD/ThreadPThread.m3:1029
> #9  0x1c007ccb in CollectSomeInStateZero ()
>    at ../src/runtime/common/RTCollector.m3:735
> #10 0x1c007c8a in CollectSome () at ../src/runtime/common/ 
> RTCollector.m3:709
> #11 0x1c00773d in CollectEnough () at ../src/runtime/common/ 
> RTCollector.m3:643
> #12 0x1c004de1 in AllocTraced (dataSize=12, dataAlignment=4, thread=
>    RECORD inCritical = 0; pool = RECORD note = Allocated; pure =  
> FALSE; page = NIL; next = NIL; limit = NIL;  END;  END)
>    at ../src/runtime/common/RTAllocator.m3:363
> #13 0x1c004056 in GetTracedObj (def=16_3c001114)
>    at ../src/runtime/common/RTAllocator.m3:222
> #14 0x1c0039ec in AllocateTracedObj (defn=16_3c001114)
>    at ../src/runtime/common/RTAllocator.m3:120
> #15 0x1c002b82 in Task (self=16_8bc4a00c) at ../Main.m3:58
> #16 0x1c01ed3e in RunThread (me=16_7faae480)
>    at ../src/thread/PTHREAD/ThreadPThread.m3:588
> #17 0x1c01ea83 in ThreadBase (param=16_7faae480)
>    at ../src/thread/PTHREAD/ThreadPThread.m3:564
> #18 0x0910637f in _thread_start ()
>    at /usr/src/lib/libpthread/uthread/uthread_create.c:240
> #19 0x0000002b in ?? ()
> #20 0x00000000 in ?? ()
> (m3gdb)
>
> Attaching to a running program doesn't yield anything useful:
>
> bash-3.2$ src/p0/p007/I386_OPENBSD/pgm &
> [1] 26756
> bash-3.2$
>    1:     1
>    2:     1    2
>    3:     1    2    3
>    4:     1    2    3    4
>    5:     1    2    3    4    5
>    6:     1    2    3    4    5    6
>    7:     1    2    3    4    5    6    7
>    8:     1    2    3    4    5    6    7    8
>    9:
> bash-3.2$ ps
>  PID TT  STAT       TIME COMMAND
> 22500 p0  Is      0:00.00 -ksh (ksh)
> 18592 p0  S       0:00.04 bash
> 26756 p0  S       0:00.02 src/p0/p007/I386_OPENBSD/pgm
> 28998 p0  R+      0:00.00 ps
> bash-3.2$ m3gdb
> GNU gdb plus Modula-3 6.4
> Copyright 2005 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and  
> you are
> welcome to change it and/or distribute copies of it under certain  
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for  
> details.
> This GDB was configured as "i686-openbsd".
> (m3gdb) attach 26756
> Attaching to process 26756
> 0x0d35f8f1 in ?? ()
> (m3gdb) set symbol-file src/p0/p007/I386_OPENBSD/pgm
> No symbol table is loaded.  Use the "file" command.
> (m3gdb) symbol-file src/p0/p007/I386_OPENBSD/pgm
> Reading symbols from /home/hudson/workspace/cm3-test-m3tests- 
> I386_OPENBSD/cm3/m3-sys/m3tests/src/p0/p007/I386_OPENBSD/pgm...done.
> (m3gdb) bt
> #0  0x0d35f8f1 in ?? ()
> #1  0x0a0c0314 in ?? ()
> #2  0x84533000 in ?? ()
> #3  0x00000001 in ?? ()
> #4  0x00000001 in ?? ()
> #5  0x00000001 in ?? ()
> #6  0x00000000 in ?? ()
>
> Does this help?
> Anything I should try this evening?
>
> Olaf
> -- 
> Olaf Wagner -- elego Software Solutions GmbH
>               Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin,  
> Germany
> phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23  
> 45 86 95
>   http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz:  
> Berlin
> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr:  
> DE163214194
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20091013/624a325b/attachment-0002.html>


More information about the M3devel mailing list