apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Martin <instant...@me.com>
Subject Re: apache segfaults with dbd + php + mysql
Date Sat, 14 Feb 2009 01:39:22 GMT
Strangely, in my functioning configuration (with apr and apr-util  
downgraded to 1.2.x) appears to already be at odds with php as far as  
the libmysqlclient_r.so is concerned.  (ldd output below)

I'll try getting them all to use the same one later tonight. But it's  
it's strange that they appear to be differing already and are running  
just fine.

I saw that one solution might be to symlink /usr/lib64/ 
libmysqlclient.so.15.0.0 -> mysql/libmysqlclient_r.so.15.0.0 and  
recompile php. Would that work? I don't compile directly from source  
-- i use gentoo portage (like bsd ports) and i'm not really fond of  
patching and install it myself because i often screw up other stuff.

.tim

ldd /usr/lib64/libapr-1.so.0.2.12
	linux-vdso.so.1 =>  (0x00007fff61ffe000)
	libuuid.so.1 => /lib/libuuid.so.1 (0x00007f8259b77000)
	librt.so.1 => /lib/librt.so.1 (0x00007f825996e000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007f8259739000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007f825951e000)
	libdl.so.2 => /lib/libdl.so.2 (0x00007f825931a000)
	libc.so.6 => /lib/libc.so.6 (0x00007f8258fda000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f8259fad000)

ldd /usr/lib64/libaprutil-1.so.0.0.0
	linux-vdso.so.1 =>  (0x00007fffea9fe000)
	libz.so.1 => /lib/libz.so.1 (0x00007fa7e243b000)
	libnsl.so.1 => /lib/libnsl.so.1 (0x00007fa7e2224000)
	libm.so.6 => /lib/libm.so.6 (0x00007fa7e1fa2000)
	libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007fa7e1d53000)
	libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007fa7e19ce000)
	libgdbm.so.3 => /usr/lib/libgdbm.so.3 (0x00007fa7e17c7000)
	libdb-4.5.so => /usr/lib/libdb-4.5.so (0x00007fa7e14a8000)
	libmysqlclient_r.so.15 => /usr/lib/libmysqlclient_r.so.15  
(0x00007fa7e1131000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fa7e0f0c000)
	libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0x00007fa7e0ce2000)
	libuuid.so.1 => /lib/libuuid.so.1 (0x00007fa7e0add000)
	librt.so.1 => /lib/librt.so.1 (0x00007fa7e08d3000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007fa7e069f000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007fa7e0484000)
	libdl.so.2 => /lib/libdl.so.2 (0x00007fa7e027f000)
	libc.so.6 => /lib/libc.so.6 (0x00007fa7dff40000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fa7e2875000)

ldd apache2
	linux-vdso.so.1 =>  (0x00007fff683fe000)
	libpcre.so.0 => /usr/lib/libpcre.so.0 (0x00007f9e5fe7a000)
	libbz2.so.1 => /lib/libbz2.so.1 (0x00007f9e5fc6a000)
	libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0x00007f9e5fa4c000)
	libz.so.1 => /lib/libz.so.1 (0x00007f9e5f837000)
	libnsl.so.1 => /lib/libnsl.so.1 (0x00007f9e5f620000)
	libm.so.6 => /lib/libm.so.6 (0x00007f9e5f39f000)
	libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007f9e5f150000)
	libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007f9e5edcb000)
	libgdbm.so.3 => /usr/lib/libgdbm.so.3 (0x00007f9e5ebc5000)
	libdb-4.5.so => /usr/lib/libdb-4.5.so (0x00007f9e5e8a6000)
	libmysqlclient_r.so.15 => /usr/lib/libmysqlclient_r.so.15  
(0x00007f9e5e52f000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f9e5e30b000)
	libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0x00007f9e5e0e1000)
	libuuid.so.1 => /lib/libuuid.so.1 (0x00007f9e5dedc000)
	librt.so.1 => /lib/librt.so.1 (0x00007f9e5dcd3000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007f9e5da9f000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007f9e5d884000)
	libdl.so.2 => /lib/libdl.so.2 (0x00007f9e5d680000)
	libc.so.6 => /lib/libc.so.6 (0x00007f9e5d341000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f9e600a8000)

ldd libphp5.so
	linux-vdso.so.1 =>  (0x00007fff7adfe000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007fb572187000)
	libz.so.1 => /lib/libz.so.1 (0x00007fb571f71000)
	libhistory.so.5 => /lib/libhistory.so.5 (0x00007fb571d68000)
	libreadline.so.5 => /lib/libreadline.so.5 (0x00007fb571b27000)
	libncurses.so.5 => /lib/libncurses.so.5 (0x00007fb5718c9000)
	libpanel.so.5 => /usr/lib/libpanel.so.5 (0x00007fb5716c4000)
	libmcrypt.so.4 => /usr/lib/libmcrypt.so.4 (0x00007fb571494000)
	libltdl.so.3 => /usr/lib/libltdl.so.3 (0x00007fb57128c000)
	libpam.so.0 => /lib/libpam.so.0 (0x00007fb57107f000)
	libt1.so.5 => /usr/lib/libt1.so.5 (0x00007fb570e25000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007fb570b95000)
	libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00007fb57096f000)
	libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00007fb57074d000)
	libdb-4.5.so => /usr/lib/libdb-4.5.so (0x00007fb57042e000)
	libgdbm.so.3 => /usr/lib/libgdbm.so.3 (0x00007fb570227000)
	libbz2.so.1 => /lib/libbz2.so.1 (0x00007fb570017000)
	libpcre.so.0 => /usr/lib/libpcre.so.0 (0x00007fb56fde9000)
	libresolv.so.2 => /lib/libresolv.so.2 (0x00007fb56fbd4000)
	libm.so.6 => /lib/libm.so.6 (0x00007fb56f953000)
	libdl.so.2 => /lib/libdl.so.2 (0x00007fb56f74f000)
	libnsl.so.1 => /lib/libnsl.so.1 (0x00007fb56f537000)
	libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007fb56f2e8000)
	libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007fb56ef63000)
	libcurl.so.4 => /usr/lib/libcurl.so.4 (0x00007fb56ed20000)
	libmysqlclient.so.15 => /usr/lib64/mysql/libmysqlclient.so.15  
(0x00007fb56e9ad000)
	libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007fb56e669000)
	libc.so.6 => /lib/libc.so.6 (0x00007fb56e329000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fb572cc4000)
	librt.so.1 => /lib/librt.so.1 (0x00007fb56e120000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007fb56df04000)

ldd /usr/bin/php
	linux-vdso.so.1 =>  (0x00007fff495fe000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007fba411ab000)
	libz.so.1 => /lib/libz.so.1 (0x00007fba40f96000)
	libhistory.so.5 => /lib/libhistory.so.5 (0x00007fba40d8d000)
	libreadline.so.5 => /lib/libreadline.so.5 (0x00007fba40b4c000)
	libncurses.so.5 => /lib/libncurses.so.5 (0x00007fba408ee000)
	libpanel.so.5 => /usr/lib/libpanel.so.5 (0x00007fba406ea000)
	libmcrypt.so.4 => /usr/lib/libmcrypt.so.4 (0x00007fba404ba000)
	libltdl.so.3 => /usr/lib/libltdl.so.3 (0x00007fba402b2000)
	libdl.so.2 => /lib/libdl.so.2 (0x00007fba400ae000)
	libpam.so.0 => /lib/libpam.so.0 (0x00007fba3fea2000)
	libt1.so.5 => /usr/lib/libt1.so.5 (0x00007fba3fc48000)
	libm.so.6 => /lib/libm.so.6 (0x00007fba3f9c7000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007fba3f737000)
	libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00007fba3f512000)
	libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00007fba3f2f0000)
	libdb-4.5.so => /usr/lib/libdb-4.5.so (0x00007fba3efd1000)
	libgdbm.so.3 => /usr/lib/libgdbm.so.3 (0x00007fba3edcb000)
	libpcre.so.0 => /usr/lib/libpcre.so.0 (0x00007fba3eb9d000)
	libbz2.so.1 => /lib/libbz2.so.1 (0x00007fba3e98d000)
	libresolv.so.2 => /lib/libresolv.so.2 (0x00007fba3e779000)
	libnsl.so.1 => /lib/libnsl.so.1 (0x00007fba3e562000)
	libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007fba3e313000)
	libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007fba3df8e000)
	libcurl.so.4 => /usr/lib/libcurl.so.4 (0x00007fba3dd4c000)
	librt.so.1 => /lib/librt.so.1 (0x00007fba3db43000)
	libmysqlclient.so.15 => /usr/lib64/mysql/libmysqlclient.so.15  
(0x00007fba3d7d0000)
	libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007fba3d48c000)
	libc.so.6 => /lib/libc.so.6 (0x00007fba3d14d000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fba413df000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007fba3cf32000)



On Feb 13, 2009, at 4:44pm, Stefan Fritsch wrote:

> Hi,
>
> On Saturday 14 February 2009, Timothy Martin wrote:
>> I ran in to a problem where I couldn't seem to use apr and apr-util
>> 1.3.x because Apache httpd would segfault every time. I found bugs
>> filed on gentoo, php, and discussion in some forums, but it wasn't
>> clear to me that this info was getting where it needed to be... the
>> apr developers, right?
>>
>> It seemed that everyone who had the problem downgraded to 1.2 and
>> left it at that.
>
> this could be due to php-mysql linking to libmysqlclient.so and
> apr-util-mysql linking to libmysqlclient_r.so (you can verify that
> with ldd). Since both libraries use the same symbols and symbol
> versions, all kinds of things can go wrong when both are loaded into
> the same process.
>
> You can try compiling php with libmysqlclient_r.so, e.g. by using this
> patch
>
> http://svn.debian.org/wsvn/pkg-php/php5/trunk/debian/patches/force_libmysqlclient_r.patch?op=file&rev=0&sc=0
>
> and recreating configure. There is some discussion about this issue at
>
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=450535
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469081
> http://bugs.mysql.com/bug.php?id=32196
>
>
> Cheers,
> Stefan


Mime
View raw message