I guess you are loading incompatible modules from
your php.ini.

Get rid of all extensions including zend extensions.

--
Yasuo Ohgaki

Russ Goodwin wrote:
> Hi-
> 
> I've searched high and low (bugs.php.net and google) and can't seem to find
> anyone with this same problem, I'm not entirely convinced it's a bug, but if
> I should post it to the bugs db, please let me know...
> 
> I'm running Apache 1.3.22, MySQL 3.23.46, cURL 7.8, mod_ssl 2.8.5 and PHP
> 4.0.6/4.1.1 on RH Linux 6.2 kernel 2.2.18pre11-va2.0smp.  (with php as a
> DSO, mod_ssl static).
> 
> Using the 4.0.6 module, I have no problems.  When I install 4.1.1, then run
> 'apachectl startssl', apachectl functions normally, asks for my key's
> passphrase, then exits.  Ordinarily the forked child would stay alive and
> spawn off StartServers children, but instead a 'ps aux' shows no httpd's
> running.
> 
> I have about a dozen virtualhosts set up, and when I rip out all but the
> first 6 and then comment out the ErrorLog and CustomLog lines in the 6th
> virtualhost setup (or rip the 6th virtualhost altogether), apache starts
> fine.  I've tried re-ordering the virtualhosts but that doesn't help.  I
> found in the apache docs that it might be a file descriptor limit problem,
> and posted to the php.install group asking if anyone had seen this, but got
> no response.  I'm convinced it's not a file descriptor problem, though
> because running 'limit' shows "descriptors     1024" and "openfiles
> 1024" (everything else unlimited).  The segfault only happens with the newer
> php though, so I'm posting here... if you think it's an apache (or something
> else) problem, please let me know.
> 
> I've uncommented the 6th virtualhost's log directives and run 'httpd -X' to
> get a core file, and the backtrace says:
> 
> #gdb /usr/local/apache/bin/httpd /tmp/core
> GNU gdb 19991004
> Copyright 1998 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "i386-redhat-linux"...
> Core was generated by `httpd -X'.
> Program terminated with signal 11, Segmentation fault.
> Reading symbols from /lib/libm.so.6...done.
> Reading symbols from /lib/libcrypt.so.1...done.
> Reading symbols from /lib/libdb.so.3...done.
> Reading symbols from /usr/local/lib/libexpat.so.0...done.
> Reading symbols from /lib/libdl.so.2...done.
> Reading symbols from /lib/libc.so.6...done.
> Reading symbols from /lib/ld-linux.so.2...done.
> Reading symbols from /lib/libnss_files.so.2...done.
> Reading symbols from /usr/local/apache/libexec/libphp4.so...done.
> Reading symbols from /lib/libresolv.so.2...done.
> Reading symbols from /lib/libpam.so.0...done.
> Reading symbols from /home/mysql/lib/mysql/libmysqlclient.so.10...done.
> Reading symbols from /usr/local/lib/libcurl.so.2...done.
> Reading symbols from /lib/libnsl.so.1...done.
> Reading symbols from /usr/lib/libz.so.1...done.
> #0  strcmp (p1=0x403785c0 <Address 0x403785c0 out of bounds>, p2=0x406935c0
> "DESX") at ../sysdeps/generic/strcmp.c:38
> 38      ../sysdeps/generic/strcmp.c: No such file or directory.
> (gdb) bt
> #0  strcmp (p1=0x403785c0 <Address 0x403785c0 out of bounds>, p2=0x406935c0
> "DESX") at ../sysdeps/generic/strcmp.c:38
> #1  0x80f984d in obj_name_cmp ()
> Cannot access memory at address 0x3008add8
> (gdb) quit
> 
> 
> If I do an 'strace httpd -X', the last several lines look like this:
> old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
> = 0x401ba000
> _llseek(21, 0, [0], SEEK_CUR)           = 0
> getpid()                                = 12231
> stat("/usr/local/apache/logs/httpd.pid", {st_mode=S_IFREG|0644, st_size=6,
> ...}) = 0
> time(NULL)                              = 1011128952
> write(2, "[Tue Jan 15 16:09:12 2002] [warn"..., 131) = 131
> write(2, "\n", 1)                       = 1
> umask(022)                              = 02
> umask(022)                              = 022
> open("/usr/local/apache/logs/httpd.pid", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
> umask(02)                               = 022
> fstat64(0x3, 0xbffff1a0)                = 0
> old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
> = 0x401bb000
> write(3, "12231\n", 6)                  = 6
> close(3)                                = 0
> munmap(0x401bb000, 4096)                = 0
> open("./php.ini", O_RDONLY)             = -1 ENOENT (No such file or
> directory)
> open("/usr/local/lib/php.ini", O_RDONLY) = 3
> getcwd("/tmp", 4095)                    = 5
> lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> lstat("/usr/local", {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
> lstat("/usr/local/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> lstat("/usr/local/lib/php.ini", {st_mode=S_IFREG|0644, st_size=24208, ...})
> = 0
> ioctl(3, TCGETS, 0xbffff7fc)            = -1 ENOTTY (Inappropriate ioctl for
> device)
> read(3, "[PHP]\n; $Id: php.ini-dist,v 1.78"..., 8192) = 8192
> read(3, "n to end users, such as file pat"..., 8192) = 8192
> read(3, "CP_PORT or the mysql-tcp entry i"..., 8192) = 7824
> read(3, "", 368)                        = 0
> read(3, "", 8192)                       = 0
> ioctl(3, TCGETS, 0xbfffec14)            = -1 ENOTTY (Inappropriate ioctl for
> device)
> close(3)                                = 0
> --- SIGSEGV (Segmentation fault) ---
> +++ killed by SIGSEGV +++
> 
> 
> Interestingly, if I 'strace httpd -X' while using the 4.0.6 module and
> compare, the last "read(3, "",8192)" call doesn't occur... the close is
> followed by lots of brk's  (dunno if this is of any significance).  Looks to
> me like "whatever happens right after reading in php.ini" is causing the
> segfault.  But I don't know what that is or how to fix it.
> 
> The last line in my ssl_engine_log after a segfault shows:
> [info]  Init: Configuring temporary DH parameters (512/1024 bits)
> 
> When using 4.0.6, the line after that one is:
> [info]  Init: 2nd startup round (already detached)
> <followed by lots more and a properly functioning httpd>
> 
> 4.1.1 is configured like this:
> ./configure  --with-mysql=/home/mysql --with-apxs=/usr/local/apache/bin/apxs
>  --with-curl=/usr/local/lib/libcurl.so --with-openssl --enable-debug
> 
> 4.0.6 is configured like this:
> ./configure  --with-mysql=/home/mysql --with-apxs=/usr/local/apache/bin/apxs
>  --with-curl=/usr/local/lib/libcurl.so --with-openssl
> 
> 
> I'm really stuck, so any help you can offer would be greatly appreciated.
> 
> Thanks.
> 
> -Russ
> 
> 


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to