#46289 [Fbk->Opn]: PDO execute causes apache.exe to crash
| From: | asylow at free dot fr | Date: | Tue, 14 Oct 2008 13:13:31 +0000 |
| Subject: | #46289 [Fbk->Opn]: PDO execute causes apache.exe to crash | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-129685@lists.php.net to get a copy of this message | ||
ID: 46289
User updated by: asylow at free dot fr
Reported By: asylow at free dot fr
-Status: Feedback
+Status: Open
Bug Type: PDO related
Operating System: Windows XP SP3
PHP Version: 5.2.6
New Comment:
The same happens with PHP Version 5.2.7RC2-dev - Oct 14 2008 01:38:31
The Call Stack debug is :
PHP5TS! 0096c9a3()
PHP5TS! 0096d28b()
free_statement(_pdo_stmt_t * 0x062d21d0, void * * * 0x01ec7d58) line
2396 + 19 bytes
php_pdo_stmt_delref(_pdo_stmt_t * 0x062d21d0, void * * * 0x01ec7d58)
line 2426 + 13 bytes
pdo_dbstmt_free_storage(_pdo_stmt_t * 0x062d21d0, void * * *
0x01ec7d58) line 2432 + 13 bytes
PHP5TS! 009f3253()
PHP5TS! 009f3061()
PHP5TS! 009ff42d()
PHP5TS! 009d75df()
PHP5TS! 009d6d59()
PHP5TS! 009dc53c()
PHP5TS! 00982176()
PHP5TS! 00981a4f()
PHP5TS! 009819a0()
PHP5TS! 00963651()
PHP5TS! 00a06b2d()
PHP5APACHE2! 003e34fd()
LIBHTTPD! 6ff0268e()
LIBHTTPD! 6ff02b6e()
LIBHTTPD! 6ff138a0()
LIBHTTPD! 6ff0e317()
LIBHTTPD! 6ff060fe()
LIBHTTPD! 6ff064ec()
LIBHTTPD! 6ff27e4c()
MSVCR71! 7c349565()
KERNEL32! 7c80b713()
Previous Comments:
------------------------------------------------------------------------
[2008-10-14 12:23:03] felipe@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://windows.php.net/snapshots/
------------------------------------------------------------------------
[2008-10-14 09:39:38] asylow at free dot fr
Description:
------------
Hi,
I get an apache crash when executing the "execute" on a prepared
query.
"L'instruction à "0x0096ac76" emploie l'adresse mémoire
"0X07a0a410".
La mémoire ne peut pas être "read"
PHP 5.2.6
Apache 2.2.9
The problem also happened using Aug 06, 2008 04:30 UTC Snapshot.
Reproduce code:
---------------
The minimal code that causes the crash is :
<?php
class myclass {
function __construct() {
$this->db = new PDO
("mssql:host=localhost\SQLEXPRESS;dbname=test","sa","toto");
}
function foo() {
$sql = 'SELECT oidObject FROM otIncidentspec WHERE
oidObject=:ndossier AND oidArticle=277247835';
$sth_activiteincident = $this->db->prepare($sql);
$extract[] = array("abc"=>29);
$extract[] = array("def"=>20);
$sth_activiteincident->execute(array(':ndossier'=>277248289));
$sth_activiteincident->execute(array(':ndossier'=>277248290));
}
}
$erp = new myclass();
$erp->foo();
?>
Actual result:
--------------
Strangely minimal changes to the code avoids the problem.
ie : removing the $extract[] definitions OR removing "AND
oidArticle=277247835" in the query OR defining $this->db in the foo
function instead of in the __construct.
I made a backtrace :
PHP5TS! 0096ac76()
PHP5TS! 0096bd79()
php_pdo_stmt_delref(_pdo_stmt_t * 0x064621c8, void * * * 0x01e67d18)
line 2426 + 13 bytes
pdo_dbstmt_free_storage(_pdo_stmt_t * 0x064621c8, void * * *
0x01e67d18) line 2432 + 13 bytes
PHP5TS! 00a0cb9f()
PHP5TS! 00a0ca59()
Thank you.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=46289&edit=1