Date: Thu, 25 Mar 2004 14:27:02 +0100 From: Heinrich Rebehn <rebehn@ant.uni-bremen.de> To: Matthew Seaman <m.seaman@infracaninophile.co.uk> Cc: freebsd-questions@freebsd.org Subject: Re: apache+mod_ssl + php4 crashes Message-ID: <4062DE26.2050305@ant.uni-bremen.de> In-Reply-To: <20040317145808.GA29859@happy-idiot-talk.infracaninophile.co.uk> References: <40582439.7060403@ant.uni-bremen.de> <20040317124000.GD26606@happy-idiot-talk.infracaninophile.co.uk> <405850A2.3060509@ant.uni-bremen.de> <20040317145808.GA29859@happy-idiot-talk.infracaninophile.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
Matthew Seaman wrote: > On Wed, Mar 17, 2004 at 02:20:34PM +0100, Heinrich Rebehn wrote: > > >>this is the ldd output: >> >>root@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4062DE26.2050305>