php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #38140 PDO::prepare() crashes without any error output
Submitted: 2006-07-19 11:36 UTC Modified: 2006-07-19 16:33 UTC
From: maarten at students dot ch Assigned:
Status: Not a bug Package: PDO related
PHP Version: 5.2.0-dev OS: Debian Linux 2.6.16 Xen
Private report: No CVE-ID: None
 [2006-07-19 11:36 UTC] maarten at students dot ch
Description:
------------
When preparing a statement (see below) I get a whitescreen - the PHP process seems to die without any error output, despite having error_reporting  =  E_ALL and display_errors = On in my php.ini.

I'm using PDO Driver for MySQL, client library version	4.1.15


Reproduce code:
---------------
$pdo = new PDO([...]);
$statement = $pdo->prepare('SELECT r1.a AS a, r1.b AS b, 0 AS v1 FROM `links` AS r1 WHERE r1.a = :a AND r1.b = :b LIMIT 0,1 UNION SELECT r1.a AS a, r2.b AS b, r2.a AS v1 FROM `links` AS r1 JOIN `links` AS r2 ON r1.b = r2.a WHERE r1.a = :a AND r2.b = :b AND r1.a != r2.a AND r2.b != r2.a LIMIT 0,1');

die('foo');

/* other queries with bound params work perfectly here= */



Expected result:
----------------
foo

Actual result:
--------------
Execution stops after calling PDO::prepare()

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-07-19 11:37 UTC] tony2001@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip


 [2006-07-19 12:04 UTC] maarten at students dot ch
Same results with 5.2.0-dev (Build date: Jul 19 2006 13:59:22)
 [2006-07-19 12:14 UTC] tony2001@php.net
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.


 [2006-07-19 16:10 UTC] maarten at students dot ch
I've never done this before - so I hope this is what you asked for:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1211619648 (LWP 30886)]
0xb7183c2c in mysql_more_results () from /usr/lib/libmysqlclient.so.14
(gdb) bt
#0  0xb7183c2c in mysql_more_results () from /usr/lib/libmysqlclient.so.14
#1  0xb788cc7c in pdo_mysql_stmt_dtor (stmt=0xb6f999d8) at /usr/src/php5.2-beta/ext/pdo_mysql/mysql_statement.c:71
#2  0xb78899f9 in free_statement (stmt=0xb6f999d8) at /usr/src/php5.2-beta/ext/pdo/pdo_stmt.c:2225
#3  0xb79c2399 in zend_objects_store_free_object_storage (objects=0xb7c81788)
    at /usr/src/php5.2-beta/Zend/zend_objects_API.c:86
#4  0xb799f8b8 in shutdown_executor () at /usr/src/php5.2-beta/Zend/zend_execute_API.c:295
#5  0xb79aa6a0 in zend_deactivate () at /usr/src/php5.2-beta/Zend/zend.c:839
#6  0xb796ea28 in php_request_shutdown (dummy=0x0) at /usr/src/php5.2-beta/main/main.c:1299
#7  0xb7a0f9d9 in php_handler (r=0x82a6a00) at /usr/src/php5.2-beta/sapi/apache2handler/sapi_apache2.c:610
#8  0x08079dd5 in ap_run_handler (r=0x82a6a00) at config.c:157
#9  0x0807a3d0 in ap_invoke_handler (r=0x82a6a00) at config.c:371
#10 0x080a61bf in ap_process_request (r=0x82a6a00) at http_request.c:258
#11 0x080a3bc8 in ap_process_http_connection (c=0x82a0b80) at http_core.c:172
#12 0x08080755 in ap_run_process_connection (c=0x82a0b80) at connection.c:43
#13 0x080c12da in child_main (child_num_arg=-558296818) at prefork.c:640
#14 0x080c1412 in make_child (s=0xb6f86400, slot=0) at prefork.c:680
#15 0x080c203f in ap_mpm_run (_pconf=0x80f80a8, plog=0x81361a0, s=0x80fdb28) at prefork.c:956
#16 0x080676ac in main (argc=2, argv=0xbfbd78f4) at main.c:717
 [2006-07-19 16:18 UTC] tony2001@php.net
Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. 

Thank you for your interest in PHP.

See bug #37445.
 [2006-07-19 16:33 UTC] maarten at students dot ch
If I'm understanding pajoye@php.net's comment in bug #37445 correctly, the problem's about PDO not handling a fatal error correctly.

How does this error occur? I can't see what I'm doing wrong. Besides, that MySQL query works elsewhere perfectly. Please help me out here as I made the effort of reporting the bug.

Any idea when this will be fixed?

Thank you for your help!
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 26 22:01:29 2024 UTC