Hi, I am getting yet another crash in AOLServer 4.5.0. This time it crashes after exiting from threads started with "ns_thread begin" or "ns_thread begindetached".
Any Suggestions? Thanks, ~ Alex. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1086359904 (LWP 19612)] 0x00002aaaaae6c2a7 in Tcl_AsyncDelete (async=0x54e6c0) at /srv/DIST/tcl8.4.13/unix/../generic/tclAsync.c:297 297 while (prevPtr->nextPtr != asyncPtr) { (gdb) back #0 0x00002aaaaae6c2a7 in Tcl_AsyncDelete (async=0x54e6c0) at /srv/DIST/tcl8.4.13/unix/../generic/tclAsync.c:297 #1 0x00002aaaad48190e in TclX_SelectInit () from /usr/lib/libtclx8.4.so.1 #2 0x00002aaaaae6cfe2 in DeleteInterpProc (interp=0x647420) at /srv/DIST/tcl8.4.13/unix/../generic/tclBasic.c:1037 #3 0x00002aaaaaee8416 in Tcl_EventuallyFree (clientData=0x647420, freeProc=0x2aaaaae6ce5f <DeleteInterpProc>) at /srv/DIST/tcl8.4.13/unix/../generic/tclPreserve.c:302 #4 0x00002aaaaae6ce5d in Tcl_DeleteInterp (interp=0x647420) at /srv/DIST/tcl8.4.13/unix/../generic/tclBasic.c:924 #5 0x00002aaaaabf863f in NsConnThread (arg=<value optimized out>) at queue.c:590 #6 0x00002aaaaad36492 in ThreadMain (arg=0x515fc0) at pthread.c:469 #7 0x00002aaaab141b1c in start_thread () from /lib/libpthread.so.0 #8 0x00002aaaab5b09b2 in clone () from /lib/libc.so.6 #9 0x0000000000000000 in ?? () (gdb) print prevPtr $1 = (AsyncHandler *) 0x0 (gdb) print asyncPtr $2 = (AsyncHandler *) 0x54e6c0 (gdb) print tsdPtr $3 = (ThreadSpecificData *) 0x7569c0 (gdb) print tsdPtr->firstHandler $4 = (AsyncHandler *) 0x662b00 Here is the bit of code that fails. <<<<<<<<<< marks line 297 which is probably the cause void Tcl_AsyncDelete(async) Tcl_AsyncHandler async; /* Token for handler to delete. */ { ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey); AsyncHandler *asyncPtr = (AsyncHandler *) async; AsyncHandler *prevPtr; Tcl_MutexLock(&tsdPtr->asyncMutex); if (tsdPtr->firstHandler == asyncPtr) { tsdPtr->firstHandler = asyncPtr->nextPtr; if (tsdPtr->firstHandler == NULL) { tsdPtr->lastHandler = NULL; } } else { prevPtr = tsdPtr->firstHandler; while (prevPtr->nextPtr != asyncPtr) { <<<<<<<<<<<<<<<<< prevPtr = prevPtr->nextPtr; } prevPtr->nextPtr = asyncPtr->nextPtr; if (tsdPtr->lastHandler == asyncPtr) { tsdPtr->lastHandler = prevPtr; } } Tcl_MutexUnlock(&tsdPtr->asyncMutex); ckfree((char *) asyncPtr); } -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.