From: Julien T. <jul...@sp...> - 2012-06-21 09:58:08
|
Hello, Our TCL-based application crashes from times to times on exit. The crash seems to occurs in the TCL thread. Here is the backtrace: #0 0x00000000019de02e in Tcl_MutexUnlock (mutexPtr=0x0) at /home/julien/Certitude/main_line/thirdparty/tcl8.5.11/unix/../unix/tclUnixThrd.c:556 #1 0x00000000019bfa06 in UnlockBucket (cachePtr=0x7feecc00ae10, bucket=5) at /home/julien/Certitude/main_line/thirdparty/tcl8.5.11/unix/../generic/tclThreadAlloc.c:814 #2 0x00000000019bfb94 in PutBlocks (cachePtr=0x7feecc00ae10, bucket=5, numMove=5) at /home/julien/Certitude/main_line/thirdparty/tcl8.5.11/unix/../generic/tclThreadAlloc.c:863 #3 0x00000000019bec18 in TclFreeAllocCache (arg=0x7feecc00ae10) at /home/julien/Certitude/main_line/thirdparty/tcl8.5.11/unix/../generic/tclThreadAlloc.c:240 #4 0x00000000019de3bb in TclpFreeAllocCache (ptr=0x7feecc00ae10) at /home/julien/Certitude/main_line/thirdparty/tcl8.5.11/unix/../unix/tclUnixThrd.c:818 #5 0x000000372cc07b12 in __nptl_deallocate_tsd () from /lib64/libpthread.so.0 #6 0x000000372cc07d22 in start_thread () from /lib64/libpthread.so.0 #7 0x000000372c8f199d in clone () from /lib64/libc.so.6 This problems only occurs on Fedora 17. Our application runs for years on many other Linux distributions without problem. Changing the Tcl_MutexUnlock and Tcl_MutexLock function to check for null pointers seems to solve the issue, but this is probably not the right solution, and something is certainly wrong elsewhere. So is there a bug is the TCL thread handling ? Or is something wrong in our application ? Any idea ? We use TCL 8.5.11, and it is is compiled as follow: ./configure --enable-threads --enable-gcc --disable-langinfo --disable-shared Thank you in advance. Julien |