ID: 35415
User updated by: gm at html dot it
Reported By: gm at html dot it
-Status: Bogus
+Status: Open
Bug Type: PDO related
Operating System: Linux Fedora Core 4
-PHP Version: 5CVS-2005-11-27 (snap)
+PHP Version: 5.1.1
New Comment:
Here is the backtrace
#0 0x080cc915 in shutdown_memory_manager (silent=0, full_shutdown=0)
at /home/giancarlo/sorgenti/php-5.1.1/Zend/zend_alloc.c:511
#1 0x080b344d in php_request_shutdown (dummy=0x0) at
/home/giancarlo/sorgenti/php-5.1.1/main/main.c:1287
#2 0x0815e7be in apache_php_module_main (r=0x920ab84,
display_source_mode=0)
at /home/giancarlo/sorgenti/php-5.1.1/sapi/apache/sapi_apache.c:59
#3 0x080ac6d5 in send_php ()
#4 0x080ac73a in send_parsed_php ()
#5 0x082fcf3f in ap_invoke_handler ()
#6 0x083127fa in process_request_internal ()
#7 0x0831285a in ap_process_request ()
#8 0x08309349 in child_main ()
#9 0x0830956c in make_child ()
#10 0x083096c0 in startup_children ()
#11 0x08309d56 in standalone_main ()
#12 0x0830a55d in main ()
Previous Comments:
------------------------------------------------------------------------
[2005-11-28 12:16:58] [EMAIL PROTECTED]
Not reproducible -> bogus.
------------------------------------------------------------------------
[2005-11-28 10:25:32] gm at html dot it
Sorry, but i'm not able to reproduce GDB backtrace. I tried both the
methods described in the howto page you linked, but something went
wrong
------------------------------------------------------------------------
[2005-11-28 06:48:41] kuprishuz at gmail dot com
description:
---------------
i have encountered the same problem, it appears that apache will crash
when an invalid sql call is used in conjunction with persistent
connections.
reproduce code:
---------------
keep in mind the sql statement must be incorrect to produce a crash.
crash will also occur when using $database->query as an alternative to
$database->prepare.
<?php
$database = new PDO('mysql:host=localhost;dbname=nitelife', 'root',
'Quell26A', array(PDO::ATTR_PERSISTENT => true));
$query = $database->prepare("SELECT * FROM user WHERE id = ?");
if ($query->execute(array('1'))) {
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
print_r($row);;
}
}
?>
Expected Result:
-------------------
sql call to fail and an error message retrievable from
$query->errorInfo()
Actual Result:
-------------------
Apache crash
------------------------------------------------------------------------
[2005-11-27 01:11:04] gm at html dot it
Description:
------------
The code reported causes an apache crash.
It happens only with persistent connection, if i set
PDO::ATTR_PERSISTENT = false, the script works fine.
Reproduce code:
---------------
<?php
try {
$dbo = new PDO(
'mysql:host=localhost;dbname=test',
'user',
'pass',
array(PDO::ATTR_PERSISTENT => true)
);
} catch(PDOException $e) {
echo 'Errore di connessione: '.$e->getMessage();
}
$pdostatement = $dbo->prepare('SELECT * FROM fake_table');
$pdostatement->execute();
echo 'print something';
?>
Expected result:
----------------
The script should just print out 'print something'.
Actual result:
--------------
Apache crash, this is the error in apache error.log:
Sun Nov 27 00:48:48 2005] [notice] child pid 3051 exit signal
Segmentation fault (11)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=35415&edit=1