[M3devel] Status of threads for RC4?

jay.krell at cornell.edu jay.krell at cornell.edu
Mon Oct 19 00:27:12 CEST 2009


We have no real history on OpenBSD, so assume always was this way.

  - Jay (phone)

On Oct 18, 2009, at 12:55 PM, Tony Hosking <hosking at cs.purdue.edu>  
wrote:

> Do we have any idea when this problem started on OpenBSD?  Has it  
> always been there?
>
> On 18 Oct 2009, at 14:09, Tony Hosking wrote:
>
>> OK, now this is more interesting.  We see that thread 2 is trying  
>> to get a GC cycle initiated by stopping the other threads.  I am  
>> guessing that they are not responding to the thread signal being  
>> sent to them.  Can you try with @M3debugthreads?
>>
>>
>>
>> Antony Hosking | Associate Professor | Computer Science | Purdue  
>> University
>> 305 N. University Street | West Lafayette | IN 47907 | USA
>> Office +1 765 494 6001 | Mobile +1 765 427 5484
>>
>>
>>
>>
>> On 18 Oct 2009, at 06:30, Olaf Wagner wrote:
>>
>>> Quoting Tony Hosking <hosking at cs.purdue.edu>:
>>>
>>>>> Thread 1 (process 23708, thread 0x862c9400):
>>>>> #0  _thread_kern_sched (scp=Cannot access memory at address  
>>>>> 0xbb319
>>>>> )
>>>>>  at /usr/src/lib/libpthread/uthread/uthread_kern.c:392
>>>>> Cannot access memory at address 0xbb315
>>>>> #0  0x00fac8f1 in poll () from /usr/lib/libc.so.50.1
>>>>> (m3gdb)
>>>>
>>>> So what is thread 1 up to?
>>>
>>> I don't really understand what's going on there. But I made another
>>> test which might or might not be helpful. I single-stepped in  
>>> thread 1
>>> until it blocks. We get actually no output from other threads then
>>> (though several have been started, but then thread 3 seems to be
>>> corrupt. Here is the debugger session:
>>>
>>>
>>> -- 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) b Main
>>> Main                    Main.m3                  
>>> Main_M3_tcb594446_LINK
>>> Main.i3                 Main.mc
>>> Main.ic                 Main_M3_t9b50f823_INIT
>>> (m3gdb) b Main
>>> Main                    Main.m3                  
>>> Main_M3_tcb594446_LINK
>>> Main.i3                 Main.mc
>>> Main.ic                 Main_M3_t9b50f823_INIT
>>> (m3gdb) b Main
>>> Breakpoint 1 at 0x1c0031c9: file ../Main.m3, line 127.
>>> (m3gdb) r
>>> Starting program: /home/hudson/workspace/cm3-lastok-build- 
>>> I386_OPENBSD/cm3/m3-sys/m3tests/src/p0/p007/I386_OPENBSD/pgm
>>> Breakpoint 1 at 0x1c0031b5: file ../Main.m3, line 127.
>>> [Switching to process 15851, thread 0x85cc4800]
>>>
>>> Breakpoint 1, Main (mode=0) at ../Main.m3:127
>>> 127     BEGIN
>>> Current language:  auto; currently Modula-3
>>> (m3gdb) n
>>> 0x1c00283e in __i686.get_pc_thunk.bx ()
>>> (m3gdb)
>>> Single stepping until exit from function __i686.get_pc_thunk.bx,
>>> which has no line number information.
>>> 0x1c003901 in Main (mode=1006721732) at ../Main.m3:157
>>> 157     RTIO.Flush ();
>>> (m3gdb)
>>> AddUnit (b={"Main_M3", Declared at: ../Main.m3:127})
>>>    at ../src/runtime/common/RTLinker.m3:121
>>> 121         IF (m = NIL) THEN RETURN END;
>>> (m3gdb)
>>> 122         AddUnitI(m);
>>> (m3gdb)
>>>
>>> Breakpoint 1, Main (mode=1) at ../Main.m3:127
>>> 127     BEGIN
>>> (m3gdb)
>>> 0x1c00283e in __i686.get_pc_thunk.bx ()
>>> (m3gdb) finish
>>> Run till exit from #0  0x1c00283e in __i686.get_pc_thunk.bx ()
>>> 0x1c0031c3 in Main (mode=2115735632) at ../Main.m3:127
>>> 127     BEGIN
>>> (m3gdb) n
>>> 131     iolock := NEW (MUTEX);
>>> (m3gdb)
>>> 132     stop := NEW (Thread.Condition);
>>> (m3gdb) l
>>> 127     BEGIN
>>> 128
>>> 129     (* Thread.MinDefaultStackSize (20000); *)
>>> 130
>>> 131     iolock := NEW (MUTEX);
>>> 132     stop := NEW (Thread.Condition);
>>> 133
>>> 134     com := NEW (A, limit := 2000);
>>> 135     com.done := NEW (Thread.Condition);
>>> 136     com.first := 1;
>>> (m3gdb) n
>>> 134     com := NEW (A, limit := 2000);
>>> (m3gdb)
>>> 135     com.done := NEW (Thread.Condition);
>>> (m3gdb)
>>> 136     com.first := 1;
>>> (m3gdb)
>>> 137     com.next := 1;
>>> (m3gdb)
>>> 138     com.last := 1;
>>> (m3gdb)
>>> 139     t := NEW (T, id := 1, limit := 15);
>>> (m3gdb)
>>> 141     INC (com.count);
>>> (m3gdb)
>>> 142     Int (com.count, 5, ": ");
>>> (m3gdb)
>>> 144     th := Thread.Fork (t);
>>> (m3gdb)
>>> 145     t.thread := th;
>>> (m3gdb)
>>> 146     LOCK com DO
>>> (m3gdb)
>>> 147       Thread.Broadcast (com.done);
>>> (m3gdb)
>>> 148     END;
>>> (m3gdb)
>>> 151       LOCK com DO
>>> (m3gdb)
>>> 152         WHILE (com.next # 0) DO
>>> (m3gdb)
>>> 153           com.Wait (com.done); END;
>>> (m3gdb)
>>> 152         WHILE (com.next # 0) DO
>>> (m3gdb)
>>> 153           com.Wait (com.done); END;
>>> (m3gdb)
>>> 152         WHILE (com.next # 0) DO
>>> (m3gdb)
>>> 153           com.Wait (com.done); END;
>>> (m3gdb)
>>> 152         WHILE (com.next # 0) DO
>>> (m3gdb)
>>> 153           com.Wait (com.done); END;
>>> (m3gdb)
>>> 152         WHILE (com.next # 0) DO
>>> (m3gdb)
>>> 153           com.Wait (com.done); END;
>>> (m3gdb)
>>> 152         WHILE (com.next # 0) DO
>>> (m3gdb)
>>> 153           com.Wait (com.done); END;
>>> (m3gdb)
>>> 152         WHILE (com.next # 0) DO
>>> (m3gdb)
>>> 153           com.Wait (com.done); END;
>>> (m3gdb)
>>> 152         WHILE (com.next # 0) DO
>>> (m3gdb)
>>> 153           com.Wait (com.done); END;
>>> (m3gdb)
>>> 152         WHILE (com.next # 0) DO
>>> (m3gdb)
>>> 153           com.Wait (com.done); END;
>>> (m3gdb)
>>> 152         WHILE (com.next # 0) DO
>>> (m3gdb)
>>> 153           com.Wait (com.done); END;
>>> (m3gdb)
>>> 152         WHILE (com.next # 0) DO
>>> (m3gdb)
>>> 153           com.Wait (com.done); END;
>>> (m3gdb)
>>> 152         WHILE (com.next # 0) DO
>>> (m3gdb)
>>> 153           com.Wait (com.done); END;
>>> (m3gdb)
>>>
>>>
>>> ^C[New process 15851]
>>> ^C
>>> Program received signal SIGINT, Interrupt.
>>> [Switching to process 15851]
>>> 0x07b8b8f1 in poll () from /usr/lib/libc.so.50.1
>>> (m3gdb) thread apply all bt
>>>
>>> Thread 11 (process 15851, thread 0x85cc4000):
>>> #0  _thread_kern_sched (scp=0x0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:482
>>> #1  0x0dc2b200 in _thread_kern_sched_state_unlock  
>>> (state=PS_SIGTHREAD,
>>>    lock=0x85cc40b0, fname=0x1 <Address 0x1 out of bounds>, lineno=1)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:581
>>> #2  0x0dc29b9a in mutex_lock_common (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:489
>>> #3  0x0dc29cb8 in pthread_mutex_lock (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:675
>>> #4  0x1c01d3a4 in XWait (self=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:240
>>> #5  0x1c01d746 in Wait (m=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:280
>>> #6  0x1c002b4a in Task (self=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../Main.m3:91
>>> #7  0x1c01f726 in RunThread (me=Invalid C/C++ type code 29 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:588
>>> #8  0x1c01f46b in ThreadBase (param=Invalid C/C++ type code 35 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:564
>>> #9  0x0dc2237f in _thread_start ()
>>>    at /usr/src/lib/libpthread/uthread/uthread_create.c:240
>>> #10 0x0000002b in ?? ()
>>> #11 0x00000000 in ?? ()
>>> Current language:  auto; currently c
>>>
>>> Thread 10 (process 15851, thread 0x84895400):
>>> #0  _thread_kern_sched (scp=0x0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:482
>>> #1  0x0dc2b200 in _thread_kern_sched_state_unlock  
>>> (state=PS_SIGTHREAD,
>>>    lock=0x848954b0, fname=0x1 <Address 0x1 out of bounds>, lineno=1)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:581
>>> #2  0x0dc28e2d in pthread_cond_timedwait (cond=0x2dc1d0e0,  
>>> mutex=0x2dc1d0dc,
>>>    abstime=0x8816efa8) at /usr/src/lib/libpthread/uthread/ 
>>> uthread_cond.c:431
>>> #3  0x0dc225a7 in _thread_gc (arg=0x0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_gc.c:181
>>> #4  0x0dc2237f in _thread_start ()
>>>    at /usr/src/lib/libpthread/uthread/uthread_create.c:240
>>> #5  0x0000002b in ?? ()
>>> #6  0x00000000 in ?? ()
>>>
>>> Thread 9 (process 15851, thread 0x84895c00):
>>> #0  _thread_kern_sched (scp=0x0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:482
>>> #1  0x0dc2b200 in _thread_kern_sched_state_unlock  
>>> (state=PS_SIGTHREAD,
>>>    lock=0x84895cb0, fname=0x1 <Address 0x1 out of bounds>, lineno=1)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:581
>>> #2  0x0dc29b9a in mutex_lock_common (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:489
>>> #3  0x0dc29cb8 in pthread_mutex_lock (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:675
>>> #4  0x1c01d3a4 in XWait (self=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:240
>>> #5  0x1c01d746 in Wait (m=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:280
>>> #6  0x1c002b4a in Task (self=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../Main.m3:91
>>> #7  0x1c01f726 in RunThread (me=Invalid C/C++ type code 29 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:588
>>> #8  0x1c01f46b in ThreadBase (param=Invalid C/C++ type code 35 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:564
>>> #9  0x0dc2237f in _thread_start ()
>>>    at /usr/src/lib/libpthread/uthread/uthread_create.c:240
>>> #10 0x0000002b in ?? ()
>>> #11 0x00000000 in ?? ()
>>>
>>> Thread 8 (process 15851, thread 0x84895000):
>>> #0  _thread_kern_sched (scp=0x0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:482
>>> #1  0x0dc2b200 in _thread_kern_sched_state_unlock  
>>> (state=PS_SIGTHREAD,
>>>    lock=0x848950b0, fname=0x1 <Address 0x1 out of bounds>, lineno=1)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:581
>>> #2  0x0dc29b9a in mutex_lock_common (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:489
>>> #3  0x0dc29cb8 in pthread_mutex_lock (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:675
>>> #4  0x1c01cd60 in LockMutex (m=Invalid C/C++ type code 26 in  
>>> symbol table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:159
>>> #5  0x1c002a51 in Task (self=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../Main.m3:90
>>> #6  0x1c01f726 in RunThread (me=Invalid C/C++ type code 29 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:588
>>> #7  0x1c01f46b in ThreadBase (param=Invalid C/C++ type code 35 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:564
>>> #8  0x0dc2237f in _thread_start ()
>>>    at /usr/src/lib/libpthread/uthread/uthread_create.c:240
>>> #9  0x0000002b in ?? ()
>>> #10 0x00000000 in ?? ()
>>>
>>> Thread 7 (process 15851, thread 0x88197400):
>>> #0  _thread_kern_sched (scp=0x0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:482
>>> #1  0x0dc2b200 in _thread_kern_sched_state_unlock  
>>> (state=PS_SIGTHREAD,
>>>    lock=0x881974b0, fname=0x1 <Address 0x1 out of bounds>, lineno=1)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:581
>>> #2  0x0dc29b9a in mutex_lock_common (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:489
>>> #3  0x0dc29cb8 in pthread_mutex_lock (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:675
>>> #4  0x1c01cd60 in LockMutex (m=Invalid C/C++ type code 26 in  
>>> symbol table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:159
>>> #5  0x1c002a51 in Task (self=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../Main.m3:90
>>> #6  0x1c01f726 in RunThread (me=Invalid C/C++ type code 29 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:588
>>> #7  0x1c01f46b in ThreadBase (param=Invalid C/C++ type code 35 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:564
>>> #8  0x0dc2237f in _thread_start ()
>>>    at /usr/src/lib/libpthread/uthread/uthread_create.c:240
>>> #9  0x0000002b in ?? ()
>>> #10 0x00000000 in ?? ()
>>>
>>> Thread 6 (process 15851, thread 0x88197000):
>>> #0  _thread_kern_sched (scp=0x0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:482
>>> #1  0x0dc2b200 in _thread_kern_sched_state_unlock  
>>> (state=PS_SIGTHREAD,
>>>    lock=0x881970b0, fname=0x1 <Address 0x1 out of bounds>, lineno=1)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:581
>>> #2  0x0dc29b9a in mutex_lock_common (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:489
>>> #3  0x0dc29cb8 in pthread_mutex_lock (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:675
>>> #4  0x1c01cd60 in LockMutex (m=Invalid C/C++ type code 26 in  
>>> symbol table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:159
>>> #5  0x1c002a51 in Task (self=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../Main.m3:90
>>> #6  0x1c01f726 in RunThread (me=Invalid C/C++ type code 29 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:588
>>> #7  0x1c01f46b in ThreadBase (param=Invalid C/C++ type code 35 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:564
>>> #8  0x0dc2237f in _thread_start ()
>>>    at /usr/src/lib/libpthread/uthread/uthread_create.c:240
>>> #9  0x0000002b in ?? ()
>>> #10 0x00000000 in ?? ()
>>>
>>> Thread 5 (process 15851, thread 0x8931f800):
>>> #0  _thread_kern_sched (scp=0x0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:482
>>> #1  0x0dc2b200 in _thread_kern_sched_state_unlock  
>>> (state=PS_SIGTHREAD,
>>>    lock=0x8931f8b0, fname=0x1 <Address 0x1 out of bounds>, lineno=1)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:581
>>> #2  0x0dc29b9a in mutex_lock_common (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:489
>>> #3  0x0dc29cb8 in pthread_mutex_lock (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:675
>>> #4  0x1c01cd60 in LockMutex (m=Invalid C/C++ type code 26 in  
>>> symbol table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:159
>>> #5  0x1c002a51 in Task (self=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../Main.m3:90
>>> #6  0x1c01f726 in RunThread (me=Invalid C/C++ type code 29 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:588
>>> #7  0x1c01f46b in ThreadBase (param=Invalid C/C++ type code 35 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:564
>>> #8  0x0dc2237f in _thread_start ()
>>>    at /usr/src/lib/libpthread/uthread/uthread_create.c:240
>>> #9  0x0000002b in ?? ()
>>> #10 0x00000000 in ?? ()
>>>
>>> Thread 4 (process 15851, thread 0x8931f000):
>>> #0  _thread_kern_sched (scp=0x0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:482
>>> #1  0x0dc2b200 in _thread_kern_sched_state_unlock  
>>> (state=PS_SIGTHREAD,
>>>    lock=0x8931f0b0, fname=0x1 <Address 0x1 out of bounds>, lineno=1)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:581
>>> #2  0x0dc29b9a in mutex_lock_common (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:489
>>> #3  0x0dc29cb8 in pthread_mutex_lock (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:675
>>> #4  0x1c01cd60 in LockMutex (m=Invalid C/C++ type code 26 in  
>>> symbol table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:159
>>> #5  0x1c002a51 in Task (self=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../Main.m3:90
>>> #6  0x1c01f726 in RunThread (me=Invalid C/C++ type code 29 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:588
>>> #7  0x1c01f46b in ThreadBase (param=Invalid C/C++ type code 35 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:564
>>> #8  0x0dc2237f in _thread_start ()
>>>    at /usr/src/lib/libpthread/uthread/uthread_create.c:240
>>> #9  0x0000002b in ?? ()
>>> #10 0x00000000 in ?? ()
>>>
>>> Thread 3 (process 15851, thread 0x856ab400):
>>> #0  _thread_kern_sched (scp=Cannot access memory at address 0x2e497
>>> )
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:392
>>> Cannot access memory at address 0x2e493
>>>
>>> Thread 2 (process 15851):
>>> #0  0x07b8b8f1 in poll () from /usr/lib/libc.so.50.1
>>> #1  0x0dc2b314 in _thread_kern_poll (wait_reqd=1)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:760
>>> #2  0x0dc2ae53 in _thread_kern_sched (scp=0x0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:382
>>> #3  0x0dc2b19f in _thread_kern_sched_state (state=767676616,
>>>    fname=0x2dc1d0c8 "", lineno=767676616)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:550
>>> #4  0x0dc25085 in nanosleep (time_to_sleep=0x7de7fc58,
>>>    time_remaining=0x7de7fc60)
>>>    at /usr/src/lib/libpthread/uthread/uthread_nanosleep.c:84
>>> #5  0x1c023b69 in ThreadPThread__Nanosleep (req=0x7de7fc58,  
>>> rem=0x7de7fc60)
>>>    at ../src/thread/PTHREAD/ThreadPThreadC.c:317
>>> #6  0x1c02053c in CommonSleep () at ../src/thread/PTHREAD/ 
>>> ThreadPThread.m3:740
>>> #7  0x1c0223bb in StopWorld () at ../src/thread/PTHREAD/ 
>>> ThreadPThread.m3:1253
>>> #8  0x1c021a29 in SuspendOthers ()
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:1029
>>> #9  0x1c0086b3 in CollectSomeInStateZero ()
>>>    at ../src/runtime/common/RTCollector.m3:735
>>> #10 0x1c008672 in CollectSome () at ../src/runtime/common/ 
>>> RTCollector.m3:709
>>> #11 0x1c008125 in CollectEnough () at ../src/runtime/common/ 
>>> RTCollector.m3:643
>>> #12 0x1c0057c9 in AllocTraced (dataSize=Invalid C/C++ type code 40  
>>> in symbol table.
>>> )
>>>    at ../src/runtime/common/RTAllocator.m3:363
>>> #13 0x1c004a3e in GetTracedObj (def=Invalid C/C++ type code 29 in  
>>> symbol table.
>>> )
>>>    at ../src/runtime/common/RTAllocator.m3:222
>>> #14 0x1c0043d4 in AllocateTracedObj (defn=Invalid C/C++ type code  
>>> 35 in symbol table.
>>> )
>>>    at ../src/runtime/common/RTAllocator.m3:120
>>> #15 0x1c002f67 in Task (self=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../Main.m3:110
>>> #16 0x1c01f726 in RunThread (me=Invalid C/C++ type code 29 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:588
>>> #17 0x1c01f46b in ThreadBase (param=Invalid C/C++ type code 35 in  
>>> symbol table.
>>> )
>>>    at ../src/thread/PTHREAD/ThreadPThread.m3:564
>>> #18 0x0dc2237f in _thread_start ()
>>>    at /usr/src/lib/libpthread/uthread/uthread_create.c:240
>>> #19 0x0000002b in ?? ()
>>> #20 0x00000000 in ?? ()
>>>
>>> Thread 1 (process 15851, thread 0x85cc4800):
>>> #0  _thread_kern_sched (scp=0x0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:482
>>> #1  0x0dc2b200 in _thread_kern_sched_state_unlock  
>>> (state=PS_SIGTHREAD,
>>>    lock=0x85cc48b0, fname=0x1 <Address 0x1 out of bounds>, lineno=1)
>>>    at /usr/src/lib/libpthread/uthread/uthread_kern.c:581
>>> #2  0x0dc29b9a in mutex_lock_common (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:489
>>> #3  0x0dc29cb8 in pthread_mutex_lock (mutex=0x7e1b90f0)
>>>    at /usr/src/lib/libpthread/uthread/uthread_mutex.c:675
>>> #4  0x1c01d3a4 in XWait (self=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:240
>>> #5  0x1c01d746 in Wait (m=Invalid C/C++ type code 26 in symbol  
>>> table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:280
>>> #6  0x1c00387c in Main (mode=Invalid C/C++ type code 39 in symbol  
>>> table.
>>> ) at ../Main.m3:153
>>> #7  0x1c012688 in RunMainBody (m=Invalid C/C++ type code 29 in  
>>> symbol table.
>>> ) at ../src/runtime/common/RTLinker.m3:399
>>> #8  0x1c011a42 in AddUnitI (m=Invalid C/C++ type code 29 in symbol  
>>> table.
>>> ) at ../src/runtime/common/RTLinker.m3:113
>>> #9  0x1c011ad0 in AddUnit (b=Invalid C/C++ type code 31 in symbol  
>>> table.
>>> ) at ../src/runtime/common/RTLinker.m3:122
>>> #10 0x1c002826 in main (argc=1, argv=0xcfbc15ec, envp=0xcfbc15f4)
>>>    at _m3main.mc:4
>>> #11 0x1c00268c in ___start ()
>>> #12 0x1c0025df in _start ()
>>> #0  0x07b8b8f1 in poll () from /usr/lib/libc.so.50.1
>>> (m3gdb)
>>>
>>> I also tried increasing the default stack size; it didn't help.
>>> If you want me to test anything, I'll be happy to try it.
>>>
>>> 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/20091018/0926de52/attachment-0002.html>


More information about the M3devel mailing list