ID: 12450 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Open Bug Type: Documentation problem Operating System: Red Hat Linux 6.2-7.2 PHP Version: 4.1.1 New Comment:
Yes, this was all. One way to get it work is to compile recode as shared extension and load it as the first extension in php.ini. I didn't test if the other extensions need to be shared too in this case. There might also be other libraries which have same symbols in them. But c-client and libmysql definately have. (I think the bundled libmysqlclient works..didn't test that) --Jani Previous Comments: ------------------------------------------------------------------------ [2002-04-24 13:55:28] [EMAIL PROTECTED] Ok, thinking about what sniper wrote I think it's _absolutely_ essential [okok, but .. ;-) ] to get this documented somewhere that the mentioned module do CLASH if you load them together. Hm. Jani, is this all you found out or can you add some more information to that so that the docteam can elaborate this a bit ... ? ------------------------------------------------------------------------ [2002-04-24 01:18:41] [EMAIL PROTECTED] This is not PHP bug. Both c-client and recode have their own hash_lookup() function. And both mysql and recode have their own hash_insert() functions. --Jani ------------------------------------------------------------------------ [2002-01-16 11:10:39] [EMAIL PROTECTED] I can reproduce this: Starting program: /usr/bin/php -v Program received signal SIGSEGV, Segmentation fault. 0x00001f91 in ?? () at eval.c:41 41 eval.c: No such file or directory. in eval.c (gdb) bt #0 0x00001f91 in ?? () at eval.c:41 #1 0x409d4e9e in find_alias (outer=0x81ae688, name=0x40a8bca0 "data", find_type=SYMBOL_CREATE_CHARSET) at names.c:299 #2 0x409d66d0 in register_all_modules (outer=0x81ae688) at outer.c:457 #3 0x409d6cdd in recode_new_outer (auto_abort=true) at outer.c:550 #4 0x408f8f17 in zm_startup_recode (type=1, module_number=18) at recode.c:79 #5 0x0808d3b2 in php_dl (file=0x816c0a0, type=1, return_value=0xbffff6e0) at dl.c:177 #6 0x08062f4e in php_load_function_extension_cb (arg=0x816c0a0) at php_ini.c:185 #7 0x080e8fc5 in zend_llist_apply (l=0x814f7bc, func=0x8062f2c <php_load_function_extension_cb>) at zend_llist.c:186 #8 0x08063235 in php_ini_delayed_modules_startup () at php_ini.c:302 #9 0x08060dbd in php_module_startup (sf=0x8146400) at main.c:946 #10 0x0805f009 in main (argc=2, argv=0xbffff994) at cgi_main.c:445 #11 0x405b8507 in __libc_start_main (main=0x805ee98 <main>, argc=2, ubp_av=0xbffff994, init=0x805d0f8 <_init>, fini=0x8122610 <_fini>, rtld_fini=0x4000dc14 <_dl_fini>, stack_end=0xbffff98c) at ../sysdeps/generic/libc-start.c:129 ------------------------------------------------------------------------ [2002-01-11 17:19:08] [EMAIL PROTECTED] Can you: - try this with 4.1.1 - provide a usefull backtrace: http://bugs.php.net/bugs-generating-backtrace.php ------------------------------------------------------------------------ [2001-07-28 14:19:43] [EMAIL PROTECTED] PHP segfaults if recode.so (php's recode extension as a shared library) is loaded _after_ the imap or mysql extensions. Re-ordering the php.ini file so that the "extension=recode.so" line is the first "extension=..."-line stops the segfaults. Recode versions tested: 3.5d, 3.6. PHP versions tested: 4.0.6. config.nice: ============ #! /bin/sh # # Created by configure "./configure" \ "--prefix=/usr" \ "--libdir=/usr/lib/php4" \ "--includedir=/usr/include" \ "--datadir=/usr/share/php" \ "--with-config-file-path=/etc" \ "--enable-discard-path" \ "--enable-inline-optimization" \ "--enable-magic-quotes" \ "--enable-track-vars" \ "--enable-memory-limit" \ "--enable-wddx" \ "--enable-bcmath" \ "--enable-sigchild" \ "--with-xml" \ "--with-mm" \ "--with-openssl" \ "--enable-ftp=shared" \ "--enable-exif=shared" \ "--with-gd=shared,/usr" \ "--with-ttf" \ "--enable-gd-imgstrttf" \ "--with-png-dir=/usr" \ "--with-jpeg-dir=/usr" \ "--enable-sysvsem=shared" \ "--enable-sysvshm=shared" \ "--enable-shmop=shared" \ "--with-unixODBC=shared" \ "--with-mysql=shared,/usr" \ "--with-ldap=shared" \ "--with-pgsql=shared" \ "--with-gettext=shared" \ "--with-pspell=shared" \ "--with-snmp=shared" \ "--enable-ucd-snmp-hack" \ "--with-sybase-ct=shared,/usr" \ "--with-pdflib=shared" \ "--with-oci8=shared" \ "--with-swf=shared,/home/troels/rpm/BUILD/php-4.0.6/swflib" \ "--enable-sockets=shared" \ "--with-gmp=shared" \ "--with-dom=shared" \ "--with-qtdom=shared,/usr/lib/qt-2.3.0" \ "--with-iconv=shared" \ "--with-curl=shared" \ "--enable-apc=shared" \ "--with-ming=shared" \ "--with-imlib=shared" \ "--with-recode=shared" \ "--with-zlib=/usr" \ "$@" php.ini: ======== 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:/usr/share/php/imlib" session.save_path = "/var/state/php" extension=php_apc.so extension=domxml.so extension=exif.so extension=ftp.so extension=gd-with_gif.so extension=gettext.so extension=gmp.so extension=iconv.so extension=imlib.so extension=ldap.so extension=pdf.so extension=pgsql.so extension=pspell.so extension=sablot.so extension=snmp.so extension=sockets.so extension=swf.so extension=sybase_ct.so extension=sysvshm.so extension=sysvsem.so extension=shmop.so extension=odbc.so extension=curl.so extension=mysql.so extension=recode.so Back-trace: =========== GNU gdb 19991004 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux"... Core was generated by `php'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libpam.so.0...done. Reading symbols from /lib/libdl.so.2...done. Reading symbols from /usr/lib/libssl.so.0...done. Reading symbols from /usr/lib/libcrypto.so.0...done. Reading symbols from /usr/lib/libz.so.1...done. Reading symbols from /lib/libcrypt.so.1...done. Reading symbols from /lib/libresolv.so.2...done. Reading symbols from /lib/libm.so.6...done. Reading symbols from /lib/libnsl.so.1...done. Reading symbols from /lib/libc.so.6...done. Reading symbols from /lib/ld-linux.so.2...done. Reading symbols from /usr/lib/php4/php_apc.so...done. Reading symbols from /usr/lib/php4/domxml.so...done. Reading symbols from /usr/lib/libxml2.so.2...done. Reading symbols from /usr/lib/php4/exif.so...done. Reading symbols from /usr/lib/php4/ftp.so...done. Reading symbols from /usr/lib/php4/gd-with_gif.so...done. Reading symbols from /usr/lib/libttf.so.2...done. Reading symbols from /usr/lib/libpng.so.2...done. Reading symbols from /usr/lib/libjpeg.so.62...done. Reading symbols from /usr/gd-with_gif/lib/libgd.so.1.8...done. Reading symbols from /usr/lib/php4/gettext.so...done. Reading symbols from /usr/lib/php4/gmp.so...done. Reading symbols from /usr/lib/libgmp.so.3...done. Reading symbols from /usr/lib/php4/iconv.so...done. Reading symbols from /usr/lib/php4/imlib.so...done. Reading symbols from /usr/lib/libImlib2.so.1...done. Reading symbols from /usr/lib/php4/ldap.so...done. Reading symbols from /usr/lib/libldap.so.1...done. Reading symbols from /usr/lib/liblber.so.1...done. Reading symbols from /usr/lib/php4/pdf.so...done. Reading symbols from /usr/lib/libgd.so.1...done. Reading symbols from /usr/lib/libtiff.so.3...done. Reading symbols from /usr/lib/libpdf.so.1...done. Reading symbols from /usr/lib/php4/pgsql.so...done. Reading symbols from /usr/lib/libpq.so.2...done. Reading symbols from /usr/lib/php4/pspell.so...done. Reading symbols from /usr/lib/libpspell.so.4...done. Reading symbols from /usr/lib/libltdl.so.0...done. Reading symbols from /usr/lib/libpspell-modules.so.1...done. Reading symbols from /usr/lib/libstdc++-libc6.1-1.so.2...done. Reading symbols from /usr/lib/php4/sablot.so...done. Reading symbols from /usr/lib/libexpat.so.0...done. Reading symbols from /usr/lib/libsablot.so.0...done. Reading symbols from /usr/lib/php4/snmp.so...done. Reading symbols from /usr/lib/libsnmp.so.0...done. Reading symbols from /usr/lib/gconv/ISO8859-1.so...done. Reading symbols from /usr/lib/php4/sockets.so...done. Reading symbols from /lib/libnss_files.so.2...done. Reading symbols from /usr/lib/php4/swf.so...done. Reading symbols from /usr/lib/php4/sybase_ct.so...done. Reading symbols from /usr/lib/php4/sysvshm.so...done. Reading symbols from /usr/lib/php4/sysvsem.so...done. Reading symbols from /usr/lib/php4/shmop.so...done. Reading symbols from /usr/lib/php4/odbc.so...done. Reading symbols from /usr/lib/libodbc.so.1...done. Reading symbols from /usr/lib/php4/curl.so...done. Reading symbols from /usr/lib/libcurl.so.2...done. Reading symbols from /usr/lib/php4/mysql.so...done. Reading symbols from /usr/lib/libmysqlclient.so.10...done. Reading symbols from /usr/lib/php4/recode.so...done. Reading symbols from /usr/lib/librecode.so.0...done. #0 0x1f91 in ?? () (gdb) System information: =================== Red Hat 6.2 with all official RH 6.2 patches on a dual-PIII with 2 gig RAM. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=12450&edit=1