[Bug 114] Multithreaded applications crash upon garbage collection
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Apr 24 07:59:52 PDT 2006
http://d.puremagic.com/bugzilla/show_bug.cgi?id=114
juanjo at comellas.com.ar changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |juanjo at comellas.com.ar
------- Comment #1 from juanjo at comellas.com.ar 2006-04-24 09:59 -------
BTW, when the application crashes, the line reported by gdb is:
#0 0x0806a978 in _D3gcx3Gcx4markFPvPvZv () at gcx.d:1318
1318 byte *p = cast(byte *)(*p1);
The pointer that's being dereferenced by the GC is invalid. Here's a backtrace
of a test program that has two threads. The crash is happening on
thread 1.
(gdb) thread apply all bt
Thread 2 (process 8953):
#0 0x5557db9d in sem_post at GLIBC_2.0 () from /lib/tls/libpthread.so.0
#1 0x08062f27 in _D3std6thread6Thread12pauseHandlerUiZv () at std/thread.d:940
#2 <signal handler called>
#3 0x5557e83e in send () from /lib/tls/libpthread.so.0
#4 0x08050a61 in
_D5mango2io6Socket6Socket4sendFAvE5mango2io6Socket6Socket5FlagsZi () at
/home/jcomellas/devel/d/mango_test/mango/io/Socket.d:1423
#5 0x08050290 in _D5mango2io6Socket6Socket6writerFAvZk () at
/home/jcomellas/devel/d/mango_test/mango/io/Socket.d:879
#6 0x0804cbde in _D5mango2io7Conduit7Conduit5writeFAvZk () at
/home/jcomellas/devel/d/mango_test/mango/io/Conduit.d:198
#7 0x0805821f in _D8selector16clientThreadFuncFZv () at selector.d:363
#8 0x0805816e in _D8selector21dummyClientThreadFuncFPvZi () at selector.d:327
#9 0x080628c5 in _D3std6thread6Thread3runFZi () at std/thread.d:609
#10 0x08062d50 in _D3std6thread6Thread11threadstartUPvZPv () at
std/thread.d:845
#11 0x55579ced in start_thread () from /lib/tls/libpthread.so.0
#12 0x5567ddde in clone () from /lib/tls/libc.so.6
Thread 1 (process 8949):
#0 0x0806a978 in _D3gcx3Gcx4markFPvPvZv () at gcx.d:1318
#1 0x0806ad05 in _D3gcx3Gcx11fullcollectFPvZk () at gcx.d:1462
#2 0x0806aab5 in _D3gcx3Gcx16fullcollectshellFZk () at gcx.d:1382
#3 0x080692de in _D3gcx2GC12mallocNoSyncFkZPv () at gcx.d:275
#4 0x080691c1 in _D3gcx2GC6mallocFkZPv () at gcx.d:228
#5 0x080684db in _d_newclass () at gc.d:127
#6 0x08053df7 in
_D5mango2io8selector12PollSelector12PollSelector11selectedSetFZC5mango2io8selector5model9ISelector13ISelectionSet
()
at /home/jcomellas/devel/d/mango_test/mango/io/selector/PollSelector.d:353
#7 0x08057d69 in
_D8selector12testSelectorFC5mango2io8selector5model9ISelector9ISelectorZv () at
selector.d:142
#8 0x08057c24 in _Dmain () at selector.d:66
#9 0x0805a38a in main () at internal/dmain2.d:94
--
More information about the Digitalmars-d-bugs
mailing list