[M3devel] Status of threads for RC4?

Olaf Wagner wagner at elegosoft.com
Tue Oct 13 08:46:39 CEST 2009


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




More information about the M3devel mailing list