From: vanessa at mobezeinc dot com Operating system: CentOS 5.3 PHP version: 5.2.10 PHP Bug Type: Scripting Engine problem Bug description: Segmentation fault durng mysql_fetch_assoc
Description: ------------ During mysql fetch the php script dies and segmentation fault appears in the appache logs. The code will pull a few rows from the db and after ~10 rows the fault occurs. It happens on both apache 2.2.3 and apache 1.3. Reproduce code: --------------- i've replaced actual values with place holders in some cases. OBCReadDBConn is a wrapper class for mysql functions $readConn = OBCReadDBConn::init(); $query = " select * from TABLENANE order by `table`, `column`, `sort_order`, `desc`, `value` "; $result = $readConn->query($query); $tableDetails = array(); if ($result) { while ($row = $result->getNextRow() ) { do something with the row } } [0xbf848e00] mysql_fetch_assoc() /var/homehtml/html/classes/database/DBResult.php:27 [0xbf84a0d0] getNextRow() /var/homehtml/html/classes/utility/Lookup.php:54 [0xbf84aae0] initLookup() /var/homehtml/html/classes/utility/Lookup.php:159 [0xbf84ac90] getArray() /var/homehtml/html/classes/utility/Lookup.php:244 [0xbf84ae00] getDesc() /var/homehtml/html/classes/utility/Lookup.php:287 [0xbf84d3d0] getLookupDesc() /var/homehtml/html/classes/utility/login_engine.php:717 [0xbf84d5a0] process_login() /var/homehtml/html/login.php:26 Expected result: ---------------- db row array table description "table" "varchar(25)" "NO" "PRI" "" "" "column" "varchar(40)" "NO" "PRI" "" "" "value" "int(2)" "NO" "PRI" "" "" "desc" "varchar(100)" "NO" "" "" "" "misc" "text" "YES" "" \N "" "sort_order" "smallint(2)" "NO" "" "" "" Actual result: -------------- Last lines of xdebug out put 0.1267 2330092 +316 -> DBResult->getNextRow() /home/www/html/classes/utility/Lookup.php:54 0.1268 2330116 +24 -> mysql_fetch_assoc(resource(44) of type (mysql result)) /home/www/html/classes/database/DBResult.php:27 gdb on apache core dump (xdebug not running during this core dump) Core was generated by `/usr/sbin/httpd -k restart'. Program terminated with signal 11, Segmentation fault. [New process 15922] #0 _zend_mm_alloc_int (heap=0x93dc798, size=16) at /var/php-5.2.10/Zend/zend_alloc.c:1785 1785 heap->cache[index] = best_fit->prev_free_block; (gdb) bt full #0 _zend_mm_alloc_int (heap=0x93dc798, size=16) at /var/php-5.2.10/Zend/zend_alloc.c:1785 index = 2 bitmap = <value optimized out> best_fit = <value optimized out> true_size = 24 block_size = <value optimized out> remaining_size = <value optimized out> segment_size = <value optimized out> segment = <value optimized out> keep_rest = <value optimized out> #1 0x0124928f in php_mysql_fetch_hash (ht=<value optimized out>, return_value=0x967e4f0, return_value_ptr=<value optimized out>, this_ptr=0x0, return_value_used=1, result_type=1, expected_args=1, into_object=0) at /var/php-5.2.10/ext/mysql/php_mysql.c:1964 result = (zval **) 0x93e5404 arg2 = (zval **) 0xb5d50ccc mysql_row = (MYSQL_ROW) 0x960e1b8 mysql_field = (MYSQL_FIELD *) 0x960be08 mysql_row_lengths = (long unsigned int *) 0x94c5784 i = 1 res = (zval *) 0x3f2ab784 ctor_params = (zval *) 0x0 ce = (zend_class_entry *) 0x0 #2 0x013f2bc8 in zend_do_fcall_common_helper_SPEC (execute_data=0xbf848e00) at /var/php-5.2.10/Zend/zend_vm_execute.h:200 return_reference = 0 '\0' opline = (zend_op *) 0x9611ef8 original_return_value = <value optimized out> current_scope = (zend_class_entry *) 0x0 current_this = (zval *) 0x0 should_change_scope = 0 '\0' -- Edit bug report at http://bugs.php.net/?id=49009&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=49009&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=49009&r=trysnapshot53 Try a snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=49009&r=trysnapshot60 Fixed in SVN: http://bugs.php.net/fix.php?id=49009&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=49009&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=49009&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=49009&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=49009&r=needscript Try newer version: http://bugs.php.net/fix.php?id=49009&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=49009&r=support Expected behavior: http://bugs.php.net/fix.php?id=49009&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=49009&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=49009&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=49009&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=49009&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=49009&r=dst IIS Stability: http://bugs.php.net/fix.php?id=49009&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=49009&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=49009&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=49009&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=49009&r=mysqlcfg