Problem using shared D library from C shared library

Yuxuan Shui via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Apr 6 18:38:34 PDT 2016


I have a D shared library which is loaded by a C shared library, 
which is in turn loaded by my main program.

When the D library tries to allocate something, the whole program 
get an SIGSEGV in __GI___pthread_mutex_lock.

Stack trace:

(gdb) bt
#0  __GI___pthread_mutex_lock (mutex=0x7fffffffc1b8) at 
../nptl/pthread_mutex_lock.c:66
#1  0x00007fffe19cbeef in 
gc.gc.GC.__T9runLockedS47_D2gc2gc2GC12mallocNoSyncMFNbmkKmxC8TypeInfoZPvS21_D2gc2gc10mallocTimelS21_D2gc2gc10numMallocslTmTkTmTxC8TypeInfoZ.runLocked() () from /var/services/homes/.../install/linux/lib64/libphobos2.so.0.70
#2  0x00007fffe19c4f66 in gc.gc.GC.malloc() () from 
/var/services/homes/.../install/linux/lib64/libphobos2.so.0.70
#3  0x00007fffe19cda18 in gc_qalloc () from 
/var/services/homes/.../install/linux/lib64/libphobos2.so.0.70
#4  0x00007fffe19e17dd in rt.lifetime.__arrayAlloc() () from 
/var/services/homes/.../install/linux/lib64/libphobos2.so.0.70
#5  0x00007fffe19e6d26 in _d_arrayliteralTX () from 
/var/services/homes/.../install/linux/lib64/libphobos2.so.0.70

What can be the problem?


More information about the Digitalmars-d-learn mailing list