Edit report at http://bugs.php.net/bug.php?id=51248&edit=1
ID: 51248 Comment by: janinemueller26 at gmail dot com Reported by: mbecc...@php.net Summary: Segmentation fault in mysql_fetch_array Status: Assigned Type: Bug Package: MySQL related Operating System: FreeBSD 6.2 PHP Version: 5.3.2 Assigned To: mysql Block user comment: N New Comment: I had also a mysql error with drupal and mysql on http://www.sportwettentipp.com, but update to the newest version and works fine, thanks for the bug fixing. Previous Comments: ------------------------------------------------------------------------ [2010-09-04 20:54:38] php at group dot apple dot com As I noted, the problem disappears when compiled debug, so perhaps that option was enabled in your build? Since valgrind reports heap issues and this appears to be stack corruption, what data are you looking for? Mac OS X has a number of great debugging and analysis tools (Instruments, Shark, dtrace) I can use to get what you need. ------------------------------------------------------------------------ [2010-09-03 18:16:49] mbecc...@php.net I've tried to use -fstack-protector-all both on FreeBSD 6.2 amd64 and Ubuntu Linux x64 and I can't see any segfaults, nor valgrind errors (tested on linux only) using the provided script. ------------------------------------------------------------------------ [2010-09-02 00:49:49] php at group dot apple dot com Does the request for valgrind mean you are unable to reproduce the behavior with - fstack-protector-all? ------------------------------------------------------------------------ [2010-09-01 16:05:57] and...@php.net valgrind output would be helpful :) Thanks! ------------------------------------------------------------------------ [2010-08-27 22:00:08] php at group dot apple dot com This reproduces on Mac OS X, and appears to be a stack overflow issue. I enabled stack overflow protection by adding "-g -fstack-protector-all" to the CFLAGS passed to configure. (The problem does not reproduce when configured with --enable-debug or -O0 instead of -Os.) In running this through gdb, the following line in changes execute_data and may be the start of the corruption: zend_vm_execute.h:301 EX_T(opline->result.u.var).var.ptr_ptr = &EX_T(opline->result.u.var).var.ptr; With the following sample script, the third pass through zend_do_fcall_common_helper_SPEC() demonstrates the crash: <?php $db_host = 'localhost'; $db_user = 'mysql_dba'; $db_password = 'admin'; $db_port = '3306'; $db_conn = mysql_connect($db_host.':'.$db_port, $db_user, $db_password); $db_result = mysql_query('select version() as version;', $db_conn); $row = mysql_fetch_array($db_result, MYSQL_ASSOC); // this does NOT work // $row = mysql_fetch_assoc($db_result); // this works printf("mysql version: %s\n", $row['version']); mysql_free_result($db_result); mysql_close($db_conn); ?> ------------------------------------------------------------------------ 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/bug.php?id=51248 -- Edit this bug report at http://bugs.php.net/bug.php?id=51248&edit=1