ID: 35604
User updated by: smlerman at gmail dot com
Reported By: smlerman at gmail dot com
-Status: Feedback
+Status: Open
Bug Type: PDO related
Operating System: Linux
PHP Version: 5.1.1
New Comment:
Here's the backtrace.
(gdb) bt
#0 0x00556716 in free () from /lib/tls/libc.so.6
#1 0x082184cd in shutdown_memory_manager (silent=0, full_shutdown=0)
at /root/php/php5.1-200512091530/Zend/zend_alloc.c:512
#2 0x081f903f in php_request_shutdown (dummy=0x0) at
/root/php/php5.1-200512091530/main/main.c:1303
#3 0x08280e1f in main (argc=2, argv=0xbfe192e4) at
/root/php/php5.1-200512091530/sapi/cli/php_cli.c:1142
(gdb)
Previous Comments:
------------------------------------------------------------------------
[2005-12-09 18:03:45] [EMAIL PROTECTED]
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.
------------------------------------------------------------------------
[2005-12-09 17:53:52] smlerman at gmail dot com
Tried the same code on my Linux box at home (Fedora Core 2, first test
server I believe is Fedora 4), and it just gives a segmentation fault
instead. Tried the php5.1-200512091530 snapshot, and I get the same
results.
------------------------------------------------------------------------
[2005-12-08 19:16:57] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php5.1-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.1-win32-latest.zip
------------------------------------------------------------------------
[2005-12-08 19:08:57] smlerman at gmail dot com
Description:
------------
PHP crashes on the following code. Changing the second named marker
from :foo1 to :foo2 fixes the crash, which made me think it had to do
with duplicate names. However, removing the where clause (leaving both
name markers :foo1) also eliminates the crash, though the statement
gets an error code of "HY093" (no full message).
Reproduce code:
---------------
<?php
$db = new PDO("pgsql:host=localhost dbname=name user=user
password=password");
$stmt = $db->prepare("UPDATE test SET foo1 = :foo1, foo2 = :foo1 WHERE
foo1 = :id");
$stmt->bindParam(':foo1', $foo1);
$stmt->bindParam(':foo2', $foo2);
$stmt->bindParam(':id', $id);
$foo1 = "foo";
$foo2 = "foo";
$id = "foo";
var_dump($stmt->errorInfo());
$stmt->execute();
?>
Expected result:
----------------
An error message of some kind if duplicate names aren't allowed, but
certainly not a memory dump.
Actual result:
--------------
*** glibc detected *** php: free(): invalid next size (fast):
0x09980018 ***
Followed by a backtrace and memory dump
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=35604&edit=1