Bug #9398 Updated: Apache SIGTERM when loading php with pspell AND sablotron
| From: | sterling@php.net | Date: | Mon, 30 Jul 2001 22:41:24 +0000 |
| Subject: | Bug #9398 Updated: Apache SIGTERM when loading php with pspell AND sablotron | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-61603@lists.php.net to get a copy of this message | ||
ID: 9398
Updated by: sterling
Reported By: hgomez@slib.fr
Old Status: Open
Status: Closed
Bug Type: Sablotron XSL
Operating System: Linux Redhat 6.2
PHP Version: 4.0.4pl1
New Comment:
This is a Sablotron patch and problem, please send this to
sablist@gingerall.com
thanks!
Previous Comments:
------------------------------------------------------------------------
[2001-02-23 04:42:23] hgomez@slib.fr
The problem appears to be between pspell and sablotron modules which are using both C++ shared libs.
If we change the load, first sablot and after pspell, that's
works.
I attached two logs for httpd -DSSL -DHAVE_PHP4 -X,
one works, one failed:
Here is what ldd -v return for pspell.so and original sablot.so
--- PSPELL
Version information:
/usr/lib/libpspell.so:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/usr/lib/libltdl.so.0:
libdl.so.2 (GLIBC_2.1) => /lib/libdl.so.2
libdl.so.2 (GLIBC_2.0) => /lib/libdl.so.2
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/usr/lib/libpspell-modules.so.1:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/usr/lib/libstdc++-libc6.2-2.so.3:
libm.so.6 (GLIBC_2.0) => /lib/libm.so.6
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/lib/libc.so.6:
ld-linux.so.2 (GLIBC_2.1.1) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.2) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
/lib/libdl.so.2:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
libc.so.6 (GLIBC_2.2) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/lib/libm.so.6:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x4007c000)
libc.so.6 => /lib/libc.so.6 (0x400bf000)
libm.so.6 => /lib/libm.so.6 (0x401e8000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
--- SABLOT
Version information:
/usr/lib/libsablot.so:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/usr/lib/libstdc++-libc6.2-2.so.3:
libm.so.6 (GLIBC_2.0) => /lib/libm.so.6
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/lib/libc.so.6:
ld-linux.so.2 (GLIBC_2.1.1) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.2) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
/lib/libm.so.6:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
I'm not a specialist in C++ or lib loader problem but a quick fix
was to rebuild sablot.so with -lexpat (just missing) and -lstdc++
With that patch you could load pspell and sablot in any orders.
---
--- Sablot/engine/Makefile.in.orig Thu Feb 22 23:09:37 2001
+++ Sablot/engine/Makefile.in Thu Feb 22 23:10:30 2001
@@ -96,7 +96,7 @@
DEFS = @DEFS@ -I. -I$(srcdir) -I../../autocfg
LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
+LIBS = @LIBS@ $(EXPAT_LIBS) -lstdc++
libsablot_la_LIBADD =
libsablot_la_OBJECTS = arena.lo base.lo context.lo datastr.lo error.lo \
expr.lo hash.lo output.lo parser.lo platform.lo proc.lo sablot.lo \
---
------------------------------------------------------------------------
[2001-02-22 05:08:34] hgomez@slib.fr
I've got Apache (1.3.17 + mod_ssl 2.8.0) SIGTERM when using a php 4.04pl1 and mod_php 4.04pl1
with sablotron and pspell.
There are both present as extension loaded via php.ini.
If I remove sablotron (or pspell), apache with mod_php4 start and works correctly. The problem
DIDN'T appears when using php in standalone ....
It seems that Apache got a problem when loading more than one external modules using libstdc++.
I've got a similar error when trying to run apache with the mod_xslt from Xalan-C Project....
---
;; EXTENSION LOADING
extension_dir = /usr/lib/php4
;; Global PHP defaults
warn_plus_overloading = On ; warn if the + operator is used with strings
track_errors = On ; Store the last error/warning message in $php_errormsg (boolean)
track_vars = On ; enable the $HTTP_*_VARS[] arrays, where * is one of
magic_quotes_gpc = On ; magic quotes for incoming GET/POST/Cookie data
; many people think that the system is a pain in the
; a**, but it probably does represent a security
; feature for in-experienced PHP developers. Turn it
; off if you don't want PHP to mess with your incoming
; variables.
include_path = ".:/usr/share/php/PEAR"
session.save_path = "/var/state/php"
extension=imap.so
extension=ldap.so
extension=pgsql.so
extension=mysql.so
extension=gd.so
extension=gettext.so
extension=sysvshm.so
extension=sysvsem.so
extension=shmop.so
#extension=pspell.so
extension=snmp.so
extension=sybase_ct.so
extension=pdf.so
extension=swf.so
extension=sockets.so
extension=curl.so
extension=ftp.so
extension=exif.so
extension=ming.so
extension=sablot.so
extension=php_apc_shm.so
---
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=9398&edit=1