ID:               49098
 Updated by:       t...@php.net
 Reported By:      bugs at timj dot co dot uk
-Status:           Feedback
+Status:           Open
 Bug Type:         Session related
 Operating System: Linux
 PHP Version:      5.2.10
 New Comment:

Yep. Also checked on 5.2, just in case.

Here's some valgrind from 5.3 for info:

==17517== Invalid free() / delete / delete[]
==17517==    at 0x4A0633D: free (vg_replace_malloc.c:323)
==17517==    by 0xABA17B9: php_mysqli_set_error (mysqli.c:1004)
==17517==    by 0xABA61DD: zif_mysqli_real_connect (mysqli_api.c:1476)
==17517==    by 0x656BD2: zend_do_fcall_common_helper_SPEC
(zend_vm_execute.h:200)
==17517==    by 0x652AFB: execute (zend_vm_execute.h:92)
==17517==    by 0x656545: zend_do_fcall_common_helper_SPEC
(zend_vm_execute.h:234)
==17517==    by 0x652AFB: execute (zend_vm_execute.h:92)
==17517==    by 0x656545: zend_do_fcall_common_helper_SPEC
(zend_vm_execute.h:234)
==17517==    by 0x652AFB: execute (zend_vm_execute.h:92)
==17517==    by 0x656545: zend_do_fcall_common_helper_SPEC
(zend_vm_execute.h:234)
==17517==    by 0x652AFB: execute (zend_vm_execute.h:92)
==17517==    by 0x656545: zend_do_fcall_common_helper_SPEC
(zend_vm_execute.h:234)
==17517==  Address 0xba0af20 is 0 bytes inside a block of size 1
free'd
==17517==    at 0x4A0633D: free (vg_replace_malloc.c:323)
==17517==    by 0xABA1348: zm_deactivate_mysqli (mysqli.c:711)
==17517==    by 0x63165B: module_registry_cleanup (zend_API.c:1976)
==17517==    by 0x63A3B3: zend_hash_reverse_apply (zend_hash.c:755)
==17517==    by 0x6301EC: zend_deactivate_modules (zend.c:838)
==17517==    by 0x5ED964: php_request_shutdown (main.c:1475)
==17517==    by 0x6A065B: main (php_cli.c:1343)
==17517== 




Previous Comments:
------------------------------------------------------------------------

[2009-11-11 22:50:47] j...@php.net

What's the valgrind output then, same as before?

------------------------------------------------------------------------

[2009-11-11 22:48:14] t...@php.net

Reverting the change from r281844 doesn't seem to fix it (tested on
5.3-snap200911111930)

------------------------------------------------------------------------

[2009-11-11 20:41:46] t...@php.net

Yes it still segfaults in the same way in 5.3-snap200911111930.
Essentially the same valgrind output.

Going back to the original issue, it started happening in 5.2.10. A
diff of the "mysqli" directory between 5.2.9 and 5.2.10 shows only one
change: mysqli_api.c in SVN r281844.

------------------------------------------------------------------------

[2009-11-11 08:48:02] j...@php.net

To narrow this down a bit: Does it happen with latest PHP 5.3 snapshot?

------------------------------------------------------------------------

[2009-11-10 23:35:57] ras...@php.net

Looks like an ext/mysqli problem, but I looked through the code and I
don't see a case where MyG(error_msg) is free'ed without being NULL'ed
or immediately re-allocated.  It isn't NULL'ed in the RSHUTDOWN, but it
is NULL'ed in the RINIT, so there should be no way to get to
php_mysqli_set_error() without it being either NULL or correctly
allocated.



------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/49098

-- 
Edit this bug report at http://bugs.php.net/?id=49098&edit=1

Reply via email to