From: Anuj S. <AN...@Am...> - 2004-04-22 11:39:33
|
Hi, I have a multi threaded C++ application which has multiple tcl = interpreters. The application dumps core sometimes ( stack trace is below ). The only common thing i can see in the tcl functions that cause the core = dump is the use of empty strings i.e. set x "" Is that a known problem ? System details are as follows - tcl - 8.4.1 (also checked with 8.4.5) HP-UX hpp803b B.11.11 U 9000/800=20 Any help would be appreciated. Thanks, Anuj. #3 0xc01e6a74 in abort+0x1c () from /usr/lib/libc.2 #4 0xd39fb5e8 in Tcl_PanicVA (format=3D0xd393c6d0 "alloc: invalid = block: %p: %x %x %x\n",=20 argList=3D0x6799c4bc) at ../generic/tclPanic.c:106 #5 0xd39fb660 in Tcl_Panic (arg1=3D0xd393c6d0 "alloc: invalid block: = %p: %x %x %x\n") at ../generic/tclPanic.c:134 #6 0xd3a16734 in Ptr2Block (ptr=3D0x4272d778 "") at = ../generic/tclThreadAlloc.c:745 #7 0xd3a15a0c in TclpFree (ptr=3D0x4272d778 "") at = ../generic/tclThreadAlloc.c:387 #8 0xd3962bfc in Tcl_Free (ptr=3D0x4272d778 "") at = ../generic/tclCkalloc.c:1160 #9 0xd39ca30c in RecycleBuffer (statePtr=3D0x413b1ef8, = bufPtr=3D0x4272d778, mustDiscard=3D0) at ../generic/tclIO.c:1887 #10 0xd39ca814 in FlushChannel (interp=3D0x0, chanPtr=3D0x413ad8c8, = calledFromAsyncFlush=3D0) at ../generic/tclIO.c:2150 #11 0xd39cc584 in CheckFlush (chanPtr=3D0x413ad8c8, bufPtr=3D0x433a7dd8, = newlineFlag=3D1) at ../generic/tclIO.c:3407 #12 0xd39cc0f4 in WriteChars (chanPtr=3D0x413ad8c8, src=3D0xd3938e61 "", = srcLen=3D0) at ../generic/tclIO.c:3200 #13 0xd39cb920 in DoWriteChars (chanPtr=3D0x413ad8c8, src=3D0xd3938e60 = "\n", len=3D1) at ../generic/tclIO.c:2886 #14 0xd39cb7a4 in Tcl_WriteChars (chan=3D0x413ad8c8, src=3D0xd3938e60 = "\n", len=3D1) at ../generic/tclIO.c:2827 #15 0xd39d6a94 in Tcl_PutsObjCmd (dummy=3D0x0, interp=3D0x40e52678, = objc=3D3, objv=3D0x40eddf98) at ../generic/tclIOCmd.c:137 #16 0xd395a3e0 in TclEvalObjvInternal (interp=3D0x40e52678, objc=3D3, = objv=3D0x40eddf98, command=3D0x0,=20 length=3D0, flags=3D0) at ../generic/tclBasic.c:3087 #17 0xd39a6848 in TclExecuteByteCode (interp=3D0x40e52678, = codePtr=3D0x413c9bb8) at ../generic/tclExecute.c:1404 #18 0xd39a52e4 in TclCompEvalObj (interp=3D0x40e52678, = objPtr=3D0x40f0ce50) at ../generic/tclExecute.c:982 #19 0xd3a0a87c in TclObjInterpProc (clientData=3D0x40ef89a8 "@\345&x", = interp=3D0x40e52678, objc=3D3,=20 #20 0xd395a3e0 in TclEvalObjvInternal (interp=3D0x40e52678, objc=3D3, = objv=3D0x40eddf8c, command=3D0x0,=20 length=3D0, flags=3D0) at ../generic/tclBasic.c:3087 #21 0xd39a6848 in TclExecuteByteCode (interp=3D0x40e52678, = codePtr=3D0x415b68c8) at ../generic/tclExecute.c:1404 #22 0xd39a52e4 in TclCompEvalObj (interp=3D0x40e52678, = objPtr=3D0x40f0d288) at ../generic/tclExecute.c:982 #23 0xd3a0a87c in TclObjInterpProc (clientData=3D0x40f43d38 "@\345&x", = interp=3D0x40e52678, objc=3D3,=20 objv=3D0x4171b978) at ../generic/tclProc.c:1082 #24 0xd395a3e0 in TclEvalObjvInternal (interp=3D0x40e52678, objc=3D3, = objv=3D0x4171b978,=20 command=3D0x68b0e560 "", length=3D0, flags=3D0) at = ../generic/tclBasic.c:3087 #25 0xd395a7d4 in Tcl_EvalObjv (interp=3D0x40e52678, objc=3D3, = objv=3D0x4171b978, flags=3D0) at ../generic/tclBasic.c:3203 |