Re: [PHP4BETA] Segfault with large Apache
| From: | Sascha Schumann | Date: | Tue, 04 Jan 2000 04:05:04 +0000 |
| Subject: | Re: [PHP4BETA] Segfault with large Apache | ||
| References: | 1 | Groups: | php.version4 |
| Request: | Send a blank email to php-version4+get-8892@lists.php.net to get a copy of this message | ||
On Mon, Jan 03, 2000 at 11:05:51PM -0500, Dark Helmet wrote:
>
> I'm trying to get up a development server at work with all sorts of
> general goodies, since most of our web stuff is all over the place. I got
> Apache 1.3.9 and mod_ssl 2.4.9 (openssl 0.9.4), compiled in as DSO's.
>
> I added in mod_perl 1.21 just fine as a DSO, and it works great.
>
> It's a fairly beefy server, and we have Postgres, Mysql, Oracle 8i, and
> DB2 all installed (all latest versions). The configure script run for php4
> was:
>
> ./configure --enable-track-vars \
> --enable-bcmath \
> --enable-debugger \
> --with-mysql=/usr/local/mysql \
> --with-pgsql=/usr/local/pgsql \
> --with-ibm-db2=/usr/local/db2/V6.1 \
> --with-oracle=/usr/local/oracle-8i/product/8.1.5 \
> --with-zlib \
> --with-java=/usr/local/jdk-1.1.8-blackdown/ \
> --with-ttf \
> --with-gd \
> --with-ftp \
> --with-apxs=/usr/local/apache/bin/apxs
>
> I did notice that it apparently failed on the db2 support, the
> compiliation was missing the -L/usr/local/db2/V6.1/lib. A touchup on the
> Makefile and it went through fine.
>
> When Apache restarts, it forks and segfaults. strace goes through all the
> loading of the php4 modules and the database libs, then loads ssl, and I
> can see it read the next line of httpd.conf, where it apparently segfaults
> for no reason. Here's the last few lines of strace:
>
> 32454 open("/usr/local/apache/libexec/libssl.so", O_RDONLY) = 5
> 32454 fstat(5, {st_mode=S_IFREG|0755, st_size=924730, ...}) = 0
> 32454 read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0
> u\2\000"..., 4096) = 4096
> 32454 mmap(NULL, 800912, PROT_READ|PROT_EXEC, MAP_PRIVATE, 5, 0) =
> 0x4119c000
> 32454 mprotect(0x41250000, 63632, PROT_NONE) = 0
> 32454 mmap(0x41250000, 49152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
> 5, 0xb3000) = 0x
> 41250000
> 32454 mmap(0x4125c000, 14480, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1
> , 0) = 0x4125c000
> 32454 close(5) = 0
> 32454 mprotect(0x4119c000, 737280, PROT_READ|PROT_WRITE) = 0
> 32454 mprotect(0x4119c000, 737280, PROT_READ|PROT_EXEC) = 0
> 32454 read(4, "as.\n# . On SCO (ODT 3) use \"Use"..., 4096) = 4096
> 32454 --- SIGSEGV (Segmentation fault) ---
>
> gdb doesn't help much, it keeps saying the program exits normally. The
> thing that bugs me it the reading of the next line, which seems fine. I'm
> thoroughly stumped on this one.
To get a useful backtrace, run
$ gdb bin/httpd
...
(gdb) r -X
...
(gdb) bt
--
Regards,
Sascha Schumann
Consultant