I banged on this thread-time-crash-on-OSX bug a bit, and found that
setting
ns_param threadtimeout 10000 ;# Idle threads die at this rate
gets rid of this problem. While setting
ns_param threadtimeout 0 ;# Idle threads die at this rate
or
ns_param threadtimeout 1 ;# Idle threads die at this rate
causes the problem to come back. So, it seems the problem is
generally with idle threads being shut down.
-john
Bug #2: occasional crash on OSX, when threads give notice of
timeout waiting for connection
The gdb stack trace is a bit more useful in this case:
[07/Aug/2007:00:05:15][16497.25228800][-nssock:driver-] Notice:
nssock: listening on 127.0.0.1:81
[07/Aug/2007:00:05:24][16497.25229824][-conn:0-] Notice: exiting:
timeout waiting for connection
[07/Aug/2007:00:05:24][16497.25203712][-conn:5-] Notice: exiting:
timeout waiting for connection
[07/Aug/2007:00:05:24][16497.25230848][-conn:2-] Notice: exiting:
timeout waiting for connection
[07/Aug/2007:00:05:24][16497.25229824][-conn:1-] Notice: exiting:
timeout waiting for connection
[07/Aug/2007:00:05:24][16497.25202688][-conn:4-] Notice: exiting:
timeout waiting for connection
[07/Aug/2007:00:05:24][16497.25201664][-conn:3-] Notice: exiting:
timeout waiting for connection
[07/Aug/2007:00:05:25][16497.25203712][-conn:6-] Notice: exiting:
timeout waiting for connection
[07/Aug/2007:00:05:25][16497.25229824][-conn:7-] Notice: exiting:
timeout waiting for connection
[07/Aug/2007:00:05:25][16497.25202688][-conn:9-] Notice: exiting:
timeout waiting for connection
[07/Aug/2007:00:05:25][16497.25204736][-conn:8-] Notice: exiting:
timeout waiting for connection
[07/Aug/2007:00:05:25][16497.25201664][-conn:10-] Notice: exiting:
timeout waiting for connection
[07/Aug/2007:00:05:25][16497.25203712][-conn:11-] Notice: exiting:
timeout waiting for connection
[07/Aug/2007:00:05:25][16497.25202688][-conn:12-] Notice: exiting:
timeout waiting for connection
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000004
[Switching to process 16497 thread 0x3a0b]
0x0a00c130 in Tcl_AsyncDelete ()
(gdb) where
#0 0x0a00c130 in Tcl_AsyncDelete ()
#1 0x00655500 in SignalCmdCleanUp ()
#2 0x0a00f23a in DeleteInterpProc ()
#3 0x0a00c9b1 in Tcl_DeleteInterp ()
#4 0x0007da21 in DeleteData ()
#5 0x0000793a in NsCleanupTls ()
#6 0x0000891f in FreeThread ()
#7 0x90025400 in _pthread_tsd_cleanup ()
#8 0x90024f88 in pthread_exit ()
#9 0x00008203 in Ns_ThreadExit ()
#10 0x0006f756 in NsConnThread ()
#11 0x000088ee in ThreadMain ()
#12 0x90024227 in _pthread_body ()
(gdb)
This doesn't consistently occur, but it's often enough that I run
nsd in a re-starting shell script while running on OSX.
------
I wish I could be more helpful and actually give a C code patch for
these, but they're not aggravating enough for me to spend the ramp-
up time figuring how to fix this sort of thing, but I thought at
least I should report them so they could be logged.
-john
--
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.