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