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

 ID:               51091
 Comment by:       dxm007 at gmail dot com
 Reported by:      achristianson at yakabod dot com
 Summary:          Persistent PDO Connections Crash
 Status:           Feedback
 Type:             Bug
 Package:          Reproducible crash
 Operating System: CentOS 5.4
 PHP Version:      5.3.1
 Assigned To:      dmitry

 New Comment:

Hi, I've been trying to setup Menalto Gallery and after I got through
entire setup 

of a fresh installation (to verify php, MSSQL, IIS were working fine), I
pointed 

the gallery to my existing database and flat files.  Because my data
came from an 

older version of the Gallery, it invokes upgrade wizard which dies every
single 

time on step 2.  I've created a crash dump with adplus and it appears to
be 

exactly the same bug as what's reported here.



This is 100% repeatable on my machine.  I'm using PHP 5.3.2 with Windows
2008 

Server R2, IIS7 and MSSQL 2008 R2.  I've also been able to get past the
crash by 

adding "zend.enable_gc = Off" to php.ini


Previous Comments:
------------------------------------------------------------------------
[2010-04-20 18:11:48] [email protected]

I'm not able to reproduce it. May be it's already fixed. Could you
verify?

------------------------------------------------------------------------
[2010-02-19 16:47:46] [email protected]

-Status: Open
+Status: Assigned
-Assigned To: 
+Assigned To: dmitry

Dmitry, can you take a look? - Thanks.

------------------------------------------------------------------------
[2010-02-19 16:09:24] achristianson at yakabod dot com

I gave it a try with



zend.enable_gc = Off



The segmentation fault no longer occurs

------------------------------------------------------------------------
[2010-02-19 15:34:36] [email protected]

Looks like a gc issue.  Confirm by setting:



zend.enable_gc = Off



in your php.ini

------------------------------------------------------------------------
[2010-02-19 15:29:20] achristianson at yakabod dot com

Description:
------------
* create persistent connection to database; store it to a variable

* create an additional persistent connection to database: store it in 

the same variable

* allocate a bunch of memory

* PHP segfaults

Reproduce code:
---------------
<?php

$db = connect();

$db = connect();



for($i = 0; $i < 10000; $i++)

{

  $exampleArray[] = new ExampleObject();

}



class ExampleObject { }



function connect()

{

  return new PDO( 'mysql:host=<db host>;dbname=<db name>', '<db user>',
'<db password>',

      array( PDO::ATTR_PERSISTENT => true ));

}

Expected result:
----------------
no segmentation fault

Actual result:
--------------
[New Thread 0xb7f396c0 (LWP 3416)]



Program received signal SIGSEGV, Segmentation fault.

0x0853a746 in zobj_mark_grey (obj=0xb7b8e07c, pz=0xbfd1f0c8) at 

/root/php-5.3.1/Zend/zend_gc.c:383

383                             p = Z_OBJPROP_P(pz)->pListHead;

(gdb) bt

#0  0x0853a746 in zobj_mark_grey (obj=0xb7b8e07c, pz=0xbfd1f0c8) at 

/root/php-5.3.1/Zend/zend_gc.c:383

#1  0x0853a81e in gc_mark_roots () at /root/php-

5.3.1/Zend/zend_gc.c:410

#2  0x0853af64 in gc_collect_cycles () at /root/php-

5.3.1/Zend/zend_gc.c:628

#3  0x0853a1a9 in gc_zobj_possible_root (zv=0xa06bac8) at /root/php-

5.3.1/Zend/zend_gc.c:221

#4  0x08539f78 in gc_zval_possible_root (zv=0xa06bac8) at /root/php-

5.3.1/Zend/zend_gc.c:143

#5  0x08508570 in _zval_ptr_dtor (zval_ptr=0xbfd1f1ec, 

__zend_filename=0x88fb070 "/root/php-5.3.1/Zend/zend_vm_execute.h", 

__zend_lineno=28199) at /root/php-5.3.1/Zend/zend_gc.h:183

#6  0x085d7d24 in ZEND_ASSIGN_DIM_SPEC_CV_UNUSED_HANDLER 

(execute_data=0x9cccd20) at /root/php-

5.3.1/Zend/zend_vm_execute.h:28199

#7  0x08543e68 in execute (op_array=0x9d12f70) at /root/php-

5.3.1/Zend/zend_vm_execute.h:104

#8  0x08518b68 in zend_execute_scripts (type=8, retval=0x0, 

file_count=3) at /root/php-5.3.1/Zend/zend.c:1194

#9  0x084aecdb in php_execute_script (primary_file=0xbfd216a4) at 

/root/php-5.3.1/main/main.c:2225

#10 0x085e4fa0 in main (argc=2, argv=0xbfd21804) at /root/php-

5.3.1/sapi/cli/php_cli.c:1190


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



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

Reply via email to