Edit report at https://bugs.php.net/bug.php?id=55334&edit=1

 ID:                 55334
 Comment by:         ninzya at inbox dot lv
 Reported by:        bruno at chalopin dot fr
 Summary:            MySQLi make mod_php crash on stress test
 Status:             Open
 Type:               Bug
 Package:            MySQLi related
 Operating System:   Windows 2008r2 x64
 PHP Version:        5.3.7RC4
 Block user comment: N
 Private report:     N

 New Comment:

Got apache crashing due to MySQLi as well. Here's the bug report: 
https://bugs.php.net/bug.php?id=55334


Previous Comments:
------------------------------------------------------------------------
[2011-10-21 14:47:09] doug at sevone dot com

I have been able to reproduce a similar (if not the same) crash by this SIMPLER 
script:

<?php
mysqli_init();
?>

On another machine, I have about 12 threads doing GET requests to that page 
simultaneously.  I usually see a crash after about 1-2 seconds.

As far as I can tell, this is a "mysqli" issue only (involving thread-safety).  
If I disable mysqlnd, then I still see the same problem.  I see this on MySQL 
5.5 and 5.1.  However, the MySQL version should NOT matter, since I can 
reproduce the problem without EVER connecting to a MySQL box, and since it 
crashes using mysqlnd.

OS: gentoo (x86_64)
Apache: www-servers/apache-2.2.14-r1
Apache: www-servers/apache-2.2.21
PHP: dev-lang/php-5.3.6
PHP: dev-lang/php-5.3.8

------------------------------------------------------------------------
[2011-08-02 07:40:05] bruno at chalopin dot fr

More informations :

The test database :
-------------------

CREATE TABLE `test` (
  `id` int(11) NOT NULL,
  `data` text COLLATE latin1_general_ci,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

INSERT  INTO `test`(`id`,`data`) VALUES (1,'foo'),(2,'bar'),(3,'gru');

Software version :
------------------

MySql 5.5.14 x86
Apache 2.2.19 x86 VC9 (from apachelounge)

Both have default conf file.

------------------------------------------------------------------------
[2011-08-01 09:16:40] bruno at chalopin dot fr

Description:
------------
mod_php crashes on stress test (ab -n 10000 -c 20) due to MySqli (the use of 
the mysql extension don't make it crash)

Test script:
---------------
<h1>Test MySqli</h1>
<ul>
<?php
$con = mysqli_connect('127.0.0.1', 'root', 'secret', 'test');

$stmt = mysqli_query($con, 'SELECT * FROM test');

while($row = mysqli_fetch_array($stmt, MYSQLI_ASSOC))
{
        echo '<li>' . $row['id'] . ' - ' . $row['data'] . '</li>';
}

?>
</ul>

Actual result:
--------------
Type of Analysis Performed   Crash Analysis 
Machine Name   CHALOPIN-2008R2 
Operating System   Unexpected Service Pack 1 
Number Of Processors   8 
Process ID   3444 
Process Image   D:\SysperTec\webstack\Apache2\bin\httpd.exe 
System Up-Time   01:19:31 
Process Up-Time   00:00:01 


Thread 16 - System ID 3560
Entry point   msvcr90!_endthreadex+6f 
Create time   01/08/2011 10:35:10 
Time spent in user mode   0 Days 0:0:0.0 
Time spent in kernel mode   0 Days 0:0:0.0 

Function     Arg 1     Arg 2     Arg 3   Source 
php5ts!zend_register_internal_class_ex+b77     04ae90a0     6f21e664     
016b02f0    
php5ts!_efree+2e     016b02f0     0544ed20     6f223957    
php5ts!_zval_ptr_dtor+54     0544f01c     0544ef50     0544f2b8    
php5ts!zend_hash_destroy+27     0544dbe0     04a94b58     72451201    
php5ts!zend_object_std_dtor+2b     0544f2b8     04a94b58     05442e4c    
php_mysqli!php_clear_mysql+d1     0544f2b8     04a94b58     04a94b58    
php5ts!zend_objects_store_del_ref_by_handle_ex+1c1     00000001     72465600    
 04a94b58    
php5ts!zend_objects_store_del_ref+1a     0544e8b0     04a94b58     00000000    
php5ts!_zval_dtor_func+7f     0544e8b0     0544dce0     6f223ad2    
php5ts!_zval_ptr_dtor+4b     0544dcec     6f223d83     04a94b58    
php5ts!zend_hash_clean+112     04a94b58     0262fa9c     0262fa8c    
php5ts!zend_hash_reverse_apply+53     04ae7218     6f21deb0     04a94b58    
php5ts!shutdown_destructors+77     04a94b58     04a94b58     0262fae0    
php5ts!zend_call_destructors+42     04a94b58     04a94b58     00000000    
php5ts!php_request_shutdown+f0     00000000     00000004     0156df20    
php5apache2_2!zm_info_apache+1801     01d55f30     01d55f30     00cfb3e8    
libhttpd!ap_run_handler+25     00000000     00000000     00000000    

PHP5TS!ZEND_REGISTER_INTERNAL_CLASS_EX+B77In 
httpd__PID__3444__Date__08_01_2011__Time_10_35_10AM__368__Second_Chance_Exception_C0000005.dmp
 the assembly instruction at php5ts!zend_register_internal_class_ex+b77 in 
d:\SysperTec\webstack\php\php5ts.dll from The PHP Group has caused an access 
violation exception (0xC0000005) when trying to read from memory location 
0x3c7edce0 on thread 16

Module Information 
Image Name: d:\SysperTec\webstack\php\php5ts.dll   Symbol Type:  PDB 
Base address: 0x6f190000   Time Stamp:  Thu Jul 28 14:38:06 2011  
Checksum: 0x005b1351   Comments:   
COM DLL: False   Company Name:  The PHP Group 
ISAPIExtension: False   File Description:  PHP Script Interpreter 
ISAPIFilter: False   File Version:  5.3.7RC4 
Managed DLL: False   Internal Name:  PHP Script Interpreter 
VB DLL: False   Legal Copyright:  Copyright © 1997-2010 The PHP Group 
Loaded Image Name:  php5ts.dll   Legal Trademarks:  PHP 
Mapped Image Name:     Original filename:  php5ts.dll 
Module name:  php5ts   Private Build:   
Single Threaded:  False   Product Name:  PHP 
Module Size:  5,76 MBytes   Product Version:  5.3.7RC4 
Symbol File Name:  D:\SysperTec\webstack\php-debug\php5ts.pdb   Special Build:  
&


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



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

Reply via email to