[M3devel] Status of threads for RC4?

Olaf Wagner wagner at elegosoft.com
Wed Oct 14 08:09:56 CEST 2009


Quoting Tony Hosking <hosking at cs.purdue.edu>:

> I need to see all the threads:
>
> thread apply all bt

Well, of course you need all thread stacks to diagnose a deadlock,
silly me. But I haven't been able to login again since then:
Jay, is the OpenBSD server turned off? Could you either turn it on
this evening CET or send Tony the needed traces?

Thanks in advance,

Olaf

> 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
>>



-- 
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




More information about the M3devel mailing list