On Tue, Oct 26, 1999, David Kerry wrote:
> [...]
> [Tue Oct 26 10:12:00 1999] [notice] child pid 30579 exit signal Segmentation fault
>(11)
> [...]
> Note also that the backtrace is identical with SDBM vs. vendor DBM libraries
> (dies at 0x21fb in both cases).
This indicates that the problem for you seems to be _NOT_ inside the session cache.
> Since this wasn't getting me anywhere, I managed to get an strace of the
> process, which still doesn't help too much:
>
> 27453 write(21, "[26/Oct/1999 10:46:54 27453] [in"..., 125) = 125
Ok, that's the "established" message as you already found out.
> 27453 time(NULL) = 940949214
> 27453 getpid() = 27453
That seems to be inside ssl_engine_rand.c:ssl_rand_seed().
Caused by "SSLRandomSeed connect builtin", right?
Can you show me your SSLRandomSeed config entries?
> 27453 read(4, "\200+\1\3\0\0\22", 7) = 7
> 27453 read(4, "\0\0\0\20\2\0\200\4\0\200\0\0d\0"..., 38) = 38
> 27453 time(NULL) = 940949214
> 27453 getpid() = 27453
> 27453 time(NULL) = 940949214
> 27453 time(NULL) = 940949214
> 27453 write(4, "\26\3\0\0J\2\0\0F\3\0008\25\276\336"..., 1024) = 1024
> 27453 write(4, "\264\246\26w\373F\222\10H!QL\376"..., 26) = 26
> 27453 read(4, "\26\3\0\0D", 5) = 5
> 27453 read(4, "\20\0\0@\25o\337\357q\f$\271\355"..., 68) = 68
Ok, fd 4 is the accepted socket as the strace entries above showed. This means
this is inside OpenSSL through the call SSL_accept(), i.e. it's the SSL
handshake performed by OpenSSL on the socket.
> 27453 --- SIGSEGV (Segmentation fault) ---
Ok, something directly after the read in OpenSSL causes the segfault. And
then Apache's SIGSEGV handler catches it and tries to write the core dump to
/var/tmp:
> 27453 chdir("/var/tmp") = 0
> 27453 sigaction(SIGSEGV, {SIG_DFL}, {SIG_DFL}) = 0
> 27453 getpid() = 27453
> 27453 kill(27453, SIGSEGV) = 0
> 27453 sigreturn() = ? (mask now [])
> 27453 --- SIGSEGV (Segmentation fault) ---
Hmmm... so let us summarize it: The segfault occurs either still inside
OpenSSL's SSL_accept() or directly after this call inside mod_ssl. The problem
is just that SSL_accept() calls internally a lot of code inside OpenSSL, so
this is not easy to debug. You should start by compiling OpenSSL with "-g
-ggdb3" to really get a backtrace this time.
BTW, have you checked that OpenSSL already passes its "make test"?
Ralf S. Engelschall
[EMAIL PROTECTED]
www.engelschall.com
______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl) www.modssl.org
User Support Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]