MySQL crash problems
| From: | rasmus@php.net | Date: | Thu, 01 Jan 1970 00:00:00 +0000 |
| Subject: | MySQL crash problems | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-15684@lists.php.net to get a copy of this message | ||
A bunch of people have been reporting problems with Apache crashing on
startup when MySQL support is compiled in. I have compiled the latest
Apache-1.3.12-dev/MySQL-3.23.11/PHP3.0.15-dev code a bunch of times over
the past couple of days. I finally managed to recreate the problem when I
was helping someone else compile all this stuff. Basically what it boils
down to is that when I use the latest 3.23 rpms I get problems, but if I
compile from the tarball I am fine.
From looking at the .spec file it looks like the shared library version of
the mysql client libs are built thread-safe whereas the static client libs
are built non-threadsafe. Is there a reason for this?
The relevant part of the .spec file is:
BuildMySQL "--enable-shared --enable-thread-safe-client --without-server"
# Save everything for debus
tar cf $RBR/all.tar .
# Save shared libraries
(cd libmysql/.libs; tar cf $RBR/shared-libs.tar *.so*)
# Save manual to avoid rebuilding
mv Docs/manual.ps Docs/manual.ps.save
make distclean
mv Docs/manual.ps.save Docs/manual.ps
BuildMySQL "--disable-shared" \
"--with-mysqld-ldflags='-all-static'" \
"--with-client-ldflags='-all-static'"
If I just grab the tarball instead of using the rpms and compile it
without any special configure flags Apache/PHP/MySQL works fine.
This is a nasty one because there is absolutely no error message in any
log. A gdb trace shows a memory access error on the dlopen() of the PHP
DSO in Apache.
-Rasmus