Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:14894 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 87036 invoked by uid 1010); 13 Feb 2005 06:21:56 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 87021 invoked from network); 13 Feb 2005 06:21:56 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Feb 2005 06:21:56 -0000 X-Host-Fingerprint: 64.233.184.196 wproxy.gmail.com Linux 2.4/2.6 Received: from ([64.233.184.196:57027] helo=wproxy.gmail.com) by pb1.pair.com (ecelerity 1.2.11 (r4403)) with SMTP id 08/CE-04303-302FE024 for ; Sun, 13 Feb 2005 01:21:55 -0500 Received: by wproxy.gmail.com with SMTP id 63so308490wri for ; Sat, 12 Feb 2005 22:21:53 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=d8UmDeJbSizLTHSUcw7nUVqz67he/6+Mph1c2hI7ymYleLRrk6eKtl6vYJfU1dK2SY/RnMIPBC2x0CjGXur/v70AQkqbCjC7qmUUQJmYwRn37ekfee2cinaeHSAAcJdQ1Vais3+M+QH2H25PVrzzaBEFl4m66lYrRIc6xCE+NQE= Received: by 10.54.59.18 with SMTP id h18mr220105wra; Sat, 12 Feb 2005 22:21:53 -0800 (PST) Received: by 10.54.59.22 with HTTP; Sat, 12 Feb 2005 22:21:53 -0800 (PST) Message-ID: <4e89b4260502122221d6e86c@mail.gmail.com> Date: Sun, 13 Feb 2005 01:21:53 -0500 Reply-To: Wez Furlong To: "php@newmillennium.net.au" Cc: internals@lists.php.net In-Reply-To: <001701c5118c$523de990$0201000a@riker> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable References: <001701c5118c$523de990$0201000a@riker> Subject: Re: [PHP-DEV] Symbol clash between Recode and MySQL extensions From: kingwez@gmail.com (Wez Furlong) I think you should be talking to the people that wrote those two libraries to ask them to clean up their exports; it's nothing to do with PHP. For a quick "fix", I'd suggest dropping recode and using iconv instead. --Wez. On Sun, 13 Feb 2005 16:24:42 +1100, php@newmillennium.net.au wrote: > On FreeBSD, I was gettting the following error message when PHP exits: >=20 > Php in free(): junk pointer, too high to make sense >=20 > Further investigation showed that it stops showing when the MySQL module = is > disabled. I rebuilt my MySQL client libraries with debugging symbols, and > forced a crash on invalid frees. Here is a backtrace: >=20 > (gdb) bt > #0 0x283fb404 in kill () from /usr/lib/libc.so.4 > #1 0x28440810 in abort () from /usr/lib/libc.so.4 > #2 0x2843f18a in isatty () from /usr/lib/libc.so.4 > #3 0x2843f1bf in isatty () from /usr/lib/libc.so.4 > #4 0x28440208 in isatty () from /usr/lib/libc.so.4 > #5 0x28440485 in free () from /usr/lib/libc.so.4 > #6 0x28487962 in my_no_flags_free (ptr=3D0x28d365e8 > "U\211=E5\203=EC\024S=E8=F0=FF=FF=FF\201=C3Xo\017") at my_malloc.c:60 > #7 0x2848c7a6 in delete_dynamic (array=3D0x824b798) at array.c:236 > #8 0x2848ddad in hash_free (hash=3D0x824b780) at hash.c:116 > #9 0x28d38b74 in recode_delete_outer () from /usr/local/lib/librecode.so= .3 > #10 0x28ceed88 in zm_shutdown_recode () from > /usr/local/lib/php/20041030/recode.so > #11 0x81145be in module_destructor () > #12 0x81170d7 in zend_hash_apply_deleter () > #13 0x8117246 in zend_hash_graceful_reverse_destroy () > #14 0x810faa2 in zend_shutdown () > #15 0x80d8a10 in php_module_shutdown () > #16 0x8157eea in main () > #17 0x80632a1 in _start () >=20 > It looks like the MySQL hash_free function is being called as the recode > extension shuts down. I confirmed this by disabling the recode module and > noting that the problem went away (it also goes away if the MySQL module = is > disabled). >=20 > Any thoughts on how to scope the libraries to avoid this conflict? I was > thinking dlfunc could be used to only import the functions we want, but I > don't really have time to play with this myself. >=20 > -- > Alastair D'Silva mob: 0413 485 733 > Networking Consultant fax: 0413 181 661 > New Millennium Networking web: http://www.newmillennium.net.au >=20 > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >=20 >