I am trying to see the impact of different memory allocators on multi-threaded workloads on my AMD machine running OpenSolaris 2009.06. I successfully used libmtmalloc and libumem, however, it is giving core dump (through SEG fault) when I used libhoard_32.so. However, I didn't get any errors when I compiled using libhoard_32.so. Moreover, it is fine when I used number of threads from 1 to 6. It is giving core dump with 7 threads and above,
I compiled a multi-threaded program called "swaptions". I also provided the stack trace of the core dump. Could you please tell me the problem? Any directions to find the actual problem please. $ file /usr/lib/libhoard_32.so /usr/lib/libhoard_32.so: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE2 SSE AMD_3DNow CMOV], dynamically linked, not stripped $ ldd swaptions libpthread.so.1 => /lib/libpthread.so.1 /usr/lib/libhoard_32.so libCrun.so.1 => /usr/lib/libCrun.so.1 libstdc++.so.6 => /usr/lib/libstdc++.so.6 libm.so.2 => /lib/libm.so.2 libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 libc.so.1 => /lib/libc.so.1 libthread.so.1 => /usr/lib/lwp/libthread.so.1 libdl.so.1 => /lib/libdl.so.1 $ mdb core Loading modules: [ ld.so.1 ] > ::stack libhoard_32.so`__1cFHoardMHoardManager4n0AVAlignedSuperblockHeap4nCHLMSpinLock Type_udsyQ__n0AKGlobalHeap4udsyQiIn0C___n0APHoardSuperblock4n0C_idsyQn0AJSmall Heap___iIn0C_n0AbBhoardThresholdFunctionClass_n0F__Gmalloc6MI_pv_+0x12d( fef155b4, 1088, febdfee4, feefad51) libhoard_32.so`__1cCHLKHybridHeap4ibwjWnFHoardOThreadPoolHeap4ibnKieYn0BSPerTh readHoardHeap___n0BHBigHeap__Gmalloc6MI_pv_+0x82(fef13850, 1088, fd9c2d48, feef8364) libhoard_32.so`malloc+0xe3(1088, fd9c2d78, feefe59d, fef155b4) _Z7dmatrixllll+0x51(0, 2, 0, af, fef11d50, fd9c2dac) _Z28HJM_SimPath_Forward_BlockingPPdiidS_S_S0_Pli+0x51(fe4d0224, b, 3, 0, 40160000, fea83ac8) _Z21HJM_Swaption_BlockingPddddddiidS_PS_llii+0x438(fd9c2fa4, 9999999a, 3fb99999, 0, 0, 0) _Z6workerPv+0xae(8047c48, fed4f000, fd9c2fec, fecbcd1e) libc_hwcap2.so.1`_thrp_setup+0x7e(fe937400) libc_hwcap2.so.1`_lwp_start(fe937400, 0, 0, fecbcd1e, 0, 0) > ::status debugging core file of swaptions (32-bit) from opensolaris .... ... threading model: native threads status: process terminated by SIGSEGV (Segmentation Fault), addr=C -- This message posted from opensolaris.org _______________________________________________ opensolaris-discuss mailing list opensolaris-discuss@opensolaris.org