php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #9398 Apache SIGTERM when loading php with pspell AND sablotron
Submitted: 2001-02-22 05:08 UTC Modified: 2001-07-30 18:41 UTC
From: hgomez at slib dot fr Assigned:
Status: Closed Package: Sablotron XSL
PHP Version: 4.0.4pl1 OS: Linux Redhat 6.2
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: hgomez at slib dot fr
New email:
PHP Version: OS:

 

 [2001-02-22 05:08 UTC] hgomez at slib dot 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

---

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-02-23 04:42 UTC] hgomez at slib dot 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-07-30 18:41 UTC] sterling@php.net
This is a Sablotron patch and problem, please send this to 
sablist@gingerall.com

thanks!

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Dec 27 04:01:29 2024 UTC