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=0xb200) 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=0xb584) at main.c:617
--
Edit bug report at http://bugs.php.net/?id=29656edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=29656r=trysnapshot4
Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=29656r=trysnapshot5
Fixed in CVS: http://bugs.php.net/fix.php?id=29656r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=29656r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=29656r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=29656r=needscript
Try newer version: http://bugs.php.net/fix.php?id=29656r=oldversion
Not developer issue:http://bugs.php.net/fix.php?id=29656r=support
Expected behavior: http://bugs.php.net/fix.php?id=29656r=notwrong
Not enough info:http://bugs.php.net/fix.php?id=29656r=notenoughinfo
Submitted twice:http://bugs.php.net/fix.php?id=29656r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=29656r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=29656r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=29656r=dst
IIS Stability: http://bugs.php.net/fix.php?id=29656r=isapi
Install GNU Sed