From: misc at sopic dot com Operating system: Suse Linux 9.0 PHP version: 5.0.1 PHP Bug Type: Reproducible crash Bug description: $mysqli->num_rows causes segfault
Description: ------------ Execution of the code below causes Apache 2.0.49 (Prefork) to exit with a segfault. Apache error_log: [Fri Aug 13 17:03:35 2004] [notice] child pid 7022 exit signal Segmentation fault (11) [Fri Aug 13 17:10:07 2004] [notice] child pid 7023 exit signal Segmentation fault (11) [Fri Aug 13 17:10:08 2004] [notice] child pid 7024 exit signal Segmentation fault (11) [Fri Aug 13 17:10:08 2004] [notice] child pid 7026 exit signal Segmentation fault (11) [Fri Aug 13 17:10:08 2004] [notice] child pid 7168 exit signal Segmentation fault (11) './configure' '--with-apxs2=/usr/local/apache2-php5/bin/apxs' '--without-mysql' '--with-mysqli=/usr/local/mysql-4.1/bin/mysql_config' '--with-zlib' '--with-xml' '--with-gd' '--with-ttf=/usr' '--with-jpeg-dir=/usr' '--with-xpm-dir=/usr' '--enable-gd-native-ttf' '--with-mcrypt=/usr' '--enable-calendar' '--enable-bcmath' '--with-dom' '--with-xmlrpc' '--with-gettext' '--with-ftp' '--enable-shared' '--enable-memory-limit' '--with-freetype-dir=/usr' '--with-ldap=/usr' '--disable-short-tags' '--with-dom=/usr' '--enable-debug' MySQL is self compiled MySQL 4.1.3-beta. Reproduce code: --------------- <?php echo date('r')."<hr>"; $mysqli = new mysqli("localhost", "root", "", "test", '3307', '/tmp/mysql-4.1.sock'); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } print_r($mysqli); if ($result = $mysqli->query("SELECT * FROM test")) { $row_cnt = $result->num_rows; printf("Result set has %d rows.\n", $row_cnt); $result->close(); } $mysqli->close(); ?> Expected result: ---------------- Int with number of affected rows. Actual result: -------------- [New Thread 16384 (LWP 7410)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 7410)] 0x403162fc in mysqli_read_property (object=0x820895c, member=0x820d7ec, type=0) at /usr/local/src/php-5.0.1/ext/mysqli/mysqli.c:204 204 if (!obj->ptr || (gdb) bt #0 0x403162fc in mysqli_read_property (object=0x820895c, member=0x820d7ec, type=0) at /usr/local/src/php-5.0.1/ext/mysqli/mysqli.c:204 #1 0x40496db2 in zend_fetch_property_address_read (result=0x820d7c0, op1=0x820d7d4, op2=0x820d7e8, Ts=0xbfffcc90, type=0) at /usr/local/src/php-5.0.1/Zend/zend_execute.c:1158 #2 0x40499700 in zend_fetch_obj_r_handler (execute_data=0xbfffcf50, opline=0x820d7bc, op_array=0x8208804) at /usr/local/src/php-5.0.1/Zend/zend_execute.c:2129 #3 0x4049776e in execute (op_array=0x8208804) at /usr/local/src/php-5.0.1/Zend/zend_execute.c:1400 #4 0x40473fcd in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/local/src/php-5.0.1/Zend/zend.c:1061 #5 0x4042c967 in php_execute_script (primary_file=0xbffff200) at /usr/local/src/php-5.0.1/main/main.c:1627 #6 0x404a46ee in php_handler (r=0x81f7888) at /usr/local/src/php-5.0.1/sapi/apache2handler/sapi_apache2.c:535 #7 0x0807d83b in ap_run_handler (r=0x81f7888) at config.c:152 #8 0x0807ddbe in ap_invoke_handler (r=0x81f7888) at config.c:358 #9 0x0806c98b in ap_process_request (r=0x81f7888) at http_request.c:246 #10 0x080686ac in ap_process_http_connection (c=0x81f3098) at http_core.c:250 #11 0x080874db in ap_run_process_connection (c=0x81f3098) at connection.c:42 #12 0x0807c31d in child_main (child_num_arg=2) at prefork.c:609 #13 0x0807c42d in make_child (s=0x80dbf18, slot=0) at prefork.c:649 #14 0x0807c4f4 in startup_children (number_to_start=5) at prefork.c:721 #15 0x0807cb5d in ap_mpm_run (_pconf=0x80d97e8, plog=0x81118c8, s=0x0) at prefork.c:940 #16 0x08081f7a in main (argc=2, argv=0xbffff584) at main.c:617 -- Edit bug report at http://bugs.php.net/?id=29656&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=29656&r=trysnapshot4 Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=29656&r=trysnapshot5 Fixed in CVS: http://bugs.php.net/fix.php?id=29656&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=29656&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=29656&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=29656&r=needscript Try newer version: http://bugs.php.net/fix.php?id=29656&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=29656&r=support Expected behavior: http://bugs.php.net/fix.php?id=29656&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=29656&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=29656&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=29656&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=29656&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=29656&r=dst IIS Stability: http://bugs.php.net/fix.php?id=29656&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=29656&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=29656&r=float