On Tue, Apr 13, 1999, Derek Smith wrote:
> Unless I'm not undestanding you correctly, due to the fact that the process doesn't
>core
> dump at all all I could do was include a truss of the session. The truss output was
>rather
> long so I've scanned through it and found the entries of one of the child processes
> segfaulting. The output is below. If you need the whole truss file reply to me
>seperately
> with an e-mail address to send it directly to you.
>
>[...]
> 10703: open64("/usr/local/etc/apache-ssl/logs/ssl_scache.pag", O_RDONLY) = 5
> 10703: open64("/usr/local/etc/apache-ssl/logs/ssl_scache.dir", O_RDONLY) = 6
> 10703: fstat64(6, 0x08047A18) = 0
> 10703: llseek(6, 0, SEEK_SET) = 0
> 10703: read(6, "01\0\0\0\0\0\0\0\0\0\0\0".., 4096) = 4096
> 10703: llseek(5, 0, SEEK_SET) = 0
> 10703: read(5, "\f\0E003 [03 K03E402D402".., 1024) = 1024
> 10703: close(6) = 0
> 10703: close(5) = 0
> 10703: fcntl(25, F_SETLKW, 0xDFDC6C9C) = 0
> 10703: Incurred fault #6, FLTBOUNDS %pc = 0xDFD5065C
> 10703: siginfo: SIGSEGV SEGV_MAPERR addr=0x0000029C
> 10703: Received signal #11, SIGSEGV [caught]
> 10703: siginfo: SIGSEGV SEGV_MAPERR addr=0x0000029C
>[...]
Ok, I've found the piece of source who corresponds to this fcntl() call. It's
in ssl_engine_mutex.c:
| :
| static struct flock unlock_it;
| :
| BOOL ssl_mutex_file_release(void)
| {
| int rc = -1;
| #ifndef WIN32
| SSLModConfigRec *mc = myModConfig();
|
| #ifdef SSL_USE_FCNTL
| unlock_it.l_whence = SEEK_SET; /* from current point */
| unlock_it.l_start = 0; /* -"- */
| unlock_it.l_len = 0; /* until end of file */
| unlock_it.l_type = F_UNLCK; /* unlock */
| unlock_it.l_pid = 0; /* pid not actually interesting */
|
| rc = fcntl(mc->nMutexFD, F_SETLKW, &unlock_it);
The segfault occurs with the unlock_it variable. But I've no clue why. At
least the code is correct AFAIK. Please try to find out why this causes the
segfault on your platform. As a workaround you can try to force mod_ssl to use
SSL_USE_FLOCK when flock() is available. Just patch the mod_ssl.h header for
this.
Ralf S. Engelschall
[EMAIL PROTECTED]
www.engelschall.com
______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl) www.engelschall.com/sw/mod_ssl/
Official Support Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]