apache+mod_ssl + php4 crashes
Heinrich Rebehn
rebehn at ant.uni-bremen.de
Thu Mar 25 05:27:04 PST 2004
Matthew Seaman wrote:
> On Wed, Mar 17, 2004 at 02:20:34PM +0100, Heinrich Rebehn wrote:
>
>
>>this is the ldd output:
>>
>>root at antsrv1 [/usr/local/libexec/apache] # ldd ./libphp4.so
>>./libphp4.so:
>
> [...]
>
>> libc_r.so.5 => /usr/lib/libc_r.so.5 (0x287fd000)
>
>
> Hmmmm... Which OS version are you building this on? If it's
> 5.2.1-RELEASE, I think that libc_r.so.5 should be replaced by
> libpthread.so.N -- and one exceedingly annoying problem is that in a
> dynamically linked program like Apache, parts of it can end up being
> linked against libpthread, and other parts can be linked against
> libc_r, which will cause the whole thing to crash.
>
> One solution is to use /etc/libmap.conf to substiture libpthread for
> libc_r during the dynamic link stage of program startup. See
> libmap.conf(5). /etc/libmap.conf should contain something like:
>
> libpthread.so.1 libpthread.so.1 # Everything uses 'libpthread'
> libpthread.so libpthread.so
>
> libc_r.so.5 libpthread.so.1 # Everything that uses 'libc_r'
> libc_r.so libpthread.so # now uses 'libpthread'
>
> Of course, the ultimate solution is to fix all of the ports and
> recompile them so that they automatically link against the correct
> threading library.
>
> Cheers,
>
> Matthew
>
Hi Matthew,
I tried substituting libc_r with libkse (there is no libpthread on
5.2.1-RELEASE-p3). Still no good. httpd dumps core. :-(
I did an lsof for the httpd process (with php4 commented out) and it
shows no sign of any two modules using different threading libraries:
# lsof|grep 76767|grep /lib|awk '{print $9}'
/libexec/ld-elf.so.1
/lib/libcrypt.so.2
/usr/local/lib/libmm.so.13
/lib/libc.so.5
/usr/local/libexec/apache/mod_mmap_static.so
/usr/local/libexec/apache/mod_vhost_alias.so
/usr/local/libexec/apache/mod_env.so
/usr/local/libexec/apache/mod_define.so
/usr/local/libexec/apache/mod_log_config.so
/usr/local/libexec/apache/mod_mime_magic.so
/usr/local/libexec/apache/mod_mime.so
/usr/local/libexec/apache/mod_negotiation.so
/usr/local/libexec/apache/mod_status.so
/usr/local/libexec/apache/mod_info.so
/usr/local/libexec/apache/mod_include.so
/usr/local/libexec/apache/mod_autoindex.so
/usr/local/libexec/apache/mod_dir.so
/usr/local/libexec/apache/mod_cgi.so
/usr/local/libexec/apache/mod_asis.so
/usr/local/libexec/apache/mod_imap.so
/usr/local/libexec/apache/mod_actions.so
/usr/local/libexec/apache/mod_speling.so
/usr/local/libexec/apache/mod_userdir.so
/usr/local/libexec/apache/mod_alias.so
/usr/local/libexec/apache/mod_rewrite.so
/usr/local/libexec/apache/mod_access.so
/usr/local/libexec/apache/mod_auth.so
/usr/local/libexec/apache/mod_auth_anon.so
/usr/local/libexec/apache/mod_auth_db.so
/usr/local/libexec/apache/mod_digest.so
/usr/local/libexec/apache/libproxy.so
/usr/local/libexec/apache/mod_cern_meta.so
/usr/local/libexec/apache/mod_expires.so
/usr/local/libexec/apache/mod_headers.so
/usr/local/libexec/apache/mod_usertrack.so
/usr/local/libexec/apache/mod_unique_id.so
/usr/local/libexec/apache/mod_setenvif.so
/usr/local/libexec/apache/mod_layout.so
/usr/local/libexec/apache/libssl.so
/usr/lib/libssl.so.3
/lib/libcrypto.so.3
# ldd /usr/local/libexec/apache/libphp4.so
/usr/local/libexec/apache/libphp4.so:
libcrypto.so.3 => /lib/libcrypto.so.3 (0x282fc000)
libssl.so.3 => /usr/lib/libssl.so.3 (0x2840a000)
libcrypt.so.2 => /lib/libcrypt.so.2 (0x2843c000)
libmcal.so => /usr/local/lib/libmcal.so (0x28455000)
libc-client4.so.8 => /usr/local/lib/libc-client4.so.8 (0x28464000)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x2851d000)
libexpat.so.5 => /usr/local/lib/libexpat.so.5 (0x2860c000)
libpq.so.3 => /usr/local/lib/libpq.so.3 (0x2862c000)
libmysqlclient.so.12 =>
/usr/local/lib/mysql/libmysqlclient.so.12 (0x28647000)
libmcrypt.so.8 => /usr/local/lib/libmcrypt.so.8 (0x2866a000)
libltdl.so.4 => /usr/local/lib/libltdl.so.4 (0x2869d000)
libldap.so.2 => /usr/local/lib/libldap.so.2 (0x286a5000)
liblber.so.2 => /usr/local/lib/liblber.so.2 (0x286cd000)
libpam.so.2 => /usr/lib/libpam.so.2 (0x286d8000)
libintl.so.6 => /usr/local/lib/libintl.so.6 (0x286df000)
libz.so.2 => /lib/libz.so.2 (0x286e8000)
libm.so.2 => /lib/libm.so.2 (0x286f6000)
libxml2.so.5 => /usr/local/lib/libxml2.so.5 (0x2870f000)
libc_r.so.5 => /usr/lib/libkse.so.1 (0x28808000)
Any other clues??
-- Heinrich
More information about the freebsd-questions
mailing list