[M3devel] "RandomTest" (that is its name) hangs on I386_OPENBSD

Tony Hosking hosking at cs.purdue.edu
Mon Aug 31 17:06:44 CEST 2009


The main thread should never hang here...

Looks like thread 2 is not receiving/responding to the signal to stop.

Something very wrong...

On 31 Aug 2009, at 06:15, Jay K wrote:

> "RandomTest" (that is its name) always hangs on I386_OPENBSD.
>
>
> The main thread never finishes StopWorld:
>
>
> (gdb) bt
> #0  0x00ba08f1 in poll () from /usr/lib/libc.so.50.1
> #1  0x04ab5314 in _thread_kern_poll (wait_reqd=1)
>     at /usr/src/lib/libpthread/uthread/uthread_kern.c:760
> #2  0x04ab4e53 in _thread_kern_sched (scp=0x0)
>     at /usr/src/lib/libpthread/uthread/uthread_kern.c:382
> #3  0x04ab519f in _thread_kern_sched_state (state=615149768,
>     fname=0x24aa70c8 "", lineno=615149768)
>     at /usr/src/lib/libpthread/uthread/uthread_kern.c:550
> #4  0x04aaf085 in nanosleep (time_to_sleep=0xcfbcc1a8,
>     time_remaining=0xcfbcc1b0)
>     at /usr/src/lib/libpthread/uthread/uthread_nanosleep.c:84
> #5  0x0166eafd in ThreadPThread__Nanosleep (req=0xcfbcc1a8,  
> rem=0xcfbcc1b0)
>     at ../src/thread/PTHREAD/ThreadPThreadC.c:318
> #6  0x0166b6f4 in ThreadPThread__CommonSleep ()
>     at ../src/thread/PTHREAD/ThreadPThread.m3:651
> #7  0x0166d355 in ThreadPThread__StopWorld ()
>     at ../src/thread/PTHREAD/ThreadPThread.m3:1142
> #8  0x0166c9c3 in ThreadF__SuspendOthers ()
>     at ../src/thread/PTHREAD/ThreadPThread.m3:918
> #9  0x0164e70b in RTCollector__CollectSomeInStateZero ()
>     at ../src/runtime/common/RTCollector.m3:747
> #10 0x0164e6ca in RTCollector__CollectSome ()
>     at ../src/runtime/common/RTCollector.m3:721
> #11 0x0164e161 in RTCollector__CollectEnough (M3_AicXUJ_allocator=1  
> '\001')
> ---Type <return> to continue, or q <return> to quit---
>     at ../src/runtime/common/RTCollector.m3:653
> #12 0x01650cb7 in RTCollector__LongAlloc (M3_Cwb5VA_dataSize=92,
>     M3_Cwb5VA_dataAlignment=4, M3_CAzbsM_pool=0x86770ab8)
>     at ../src/runtime/common/RTCollector.m3:1438
> #13 0x01650b14 in RTHeapRep__AllocTraced (M3_Cwb5VA_dataSize=92,
>     M3_Cwb5VA_dataAlignment=4, M3_CAzbsM_pool=0x86770ab8)
>     at ../src/runtime/common/RTCollector.m3:1400
> #14 0x01645b47 in RTAllocator__GetOpenArray (M3_Eic7CK_def=0x216259d0,
>     M3_ANmeAM_s=0xcfbcc4fc) at ../src/runtime/common/ 
> RTAllocator.m3:292
> #15 0x01644e3c in RTHooks__AllocateOpenArray  
> (M3_AJWxb1_defn=0x216259d0,
>     M3_ANmeAM_s=0xcfbcc4fc) at ../src/runtime/common/ 
> RTAllocator.m3:141
> #16 0x0c4b364f in RandomPerm__HQInit (M3_AMLmtL_t=0x7eed1fb0,  
> M3_Cwb5VA_n=21,
>     M3_BUCfej_r=0x7eecb0f4) at ../src/random/Common/RandomPerm.m3:55
> #17 0x1c00489e in RandomTest__TestPerm () at ../src/RandomTest.m3:367
> #18 0x1c0015f7 in RandomTest__Main () at ../src/RandomTest.m3:64
> #19 0x1c00595c in RandomTest_M3 (M3_AcxOUs_mode=1) at ../src/ 
> RandomTest.m3:458
> #20 0x01658a19 in RTLinker__RunMainBody (M3_DjPxE3_m=0x3c001660)
>     at ../src/runtime/common/RTLinker.m3:400
> #21 0x01657dd3 in RTLinker__AddUnitI (M3_DjPxE3_m=0x3c001660)
>     at ../src/runtime/common/RTLinker.m3:114
> #22 0x01657e61 in RTLinker__AddUnit (M3_DjPxE5_b=0x1c00588c)
>     at ../src/runtime/common/RTLinker.m3:123
> #23 0x1c001206 in main (argc=2, argv=0xcfbccadc, envp=0xcfbccae8)
>     at _m3main.mc:4
>
>
> While the other thread is in:
>
>
> Thread 2 (process 5611, thread 0x7fc1d400):
> #0  _thread_kern_sched (scp=0x0)
>     at /usr/src/lib/libpthread/uthread/uthread_kern.c:482
> #1  0x04ab5200 in _thread_kern_sched_state_unlock (state=PS_SIGTHREAD,
>     lock=0x7fc1d4b0, fname=0x1 <Address 0x1 out of bounds>, lineno=1)
>     at /usr/src/lib/libpthread/uthread/uthread_kern.c:581
> #2  0x04ab2bc9 in pthread_cond_wait (cond=0x80dda100,  
> mutex=0x80dda1e0)
>     at /usr/src/lib/libpthread/uthread/uthread_cond.c:261
> #3  0x01668b89 in ThreadPThread__XWait (M3_BXP32l_self=0x7eeff13c,
>     M3_AYIbX3_m=0x7eecb018, M3_Bl0jv4_c=0x7eecb06c,
>     M3_AicXUJ_alertable=0 '\0') at ../src/thread/PTHREAD/ 
> ThreadPThread.m3:227
> #4  0x01669235 in Thread__Wait (M3_AYIbX3_m=0x7eecb018,
>     M3_Bl0jv4_c=0x7eecb06c) at ../src/thread/PTHREAD/ 
> ThreadPThread.m3:278
> #5  0x0c4c1de7 in AutoFlushWr__Worker (M3_EMTrVz_cl=0x7eeff134)
>     at ../src/rw/AutoFlushWr.m3:210
> #6  0x0166acfb in ThreadPThread__RunThread (M3_BeUkBA_me=0x86770b00)
>     at ../src/thread/PTHREAD/ThreadPThread.m3:547
> #7  0x0166aa26 in ThreadPThread__ThreadBase  
> (M3_AJWxb1_param=0x86770b00)
>     at ../src/thread/PTHREAD/ThreadPThread.m3:523
> #8  0x04aac37f in _thread_start ()
>     at /usr/src/lib/libpthread/uthread/uthread_create.c:240
> #9  0x0000002b in ?? ()
> #10 0x00000000 in ?? ()
>
>
> Maybe AutoFlushWr needs more work?
> (It was crashing on platforms it didn't hang on.)
>
> I'll try to dig around more here..
>
>
>   - Jay

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20090831/6d76ce37/attachment-0002.html>


More information about the M3devel mailing list