On FreeBSD, I was gettting the following error message when PHP exits: Php in free(): junk pointer, too high to make sense
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: (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=0x28d365e8 "U\211å\203ì\024Sèðÿÿÿ\201ÃXo\017") at my_malloc.c:60 #7 0x2848c7a6 in delete_dynamic (array=0x824b798) at array.c:236 #8 0x2848ddad in hash_free (hash=0x824b780) 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 () 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). 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. -- Alastair D'Silva mob: 0413 485 733 Networking Consultant fax: 0413 181 661 New Millennium Networking web: http://www.newmillennium.net.au -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php