Home » Database » MDB2 » Bug #8752
MDB2 PHP4 contructor is causing eaccelerator crash
Details
| Request #8752 | MDB2 PHP4 contructor is causing eaccelerator crash |
|---|---|
| Submitted | 2006-09-21 09:31 UTC |
| From | radzaw at radzaw dot one dot pl |
| Status | Bogus |
| Package | MDB2 |
| PHP Version | 5.1.6 |
| OS | Gentoo Linux |
| Roadmaps | (Not assigned) |
Comments
[2006-09-21 09:31 UTC] radzaw at radzaw dot one dot pl
Description:
------------
I've installed eaccelerator 0.9.5-rc1 to speed up my scripts. But every script which use MDB2 crashes.
Bug is (probably) in MDB2.php function MDB2_Driver_Common ("PHP 4 Constructor"), which calls __construct().
If i swaped code from __contruct to MDB2_Driver_Common function, and call this method in __construct, then everything is ok.
Test script:
---------------
require_once('MDB2.php');
$db = MDB2::Connect('pgsql://user:pass@localhost/dbname');
$query = "some sql query";
$res = $db->query($query);
if (PEAR::isError($res)) die($res->getMessage());
$db->disconnect();
Expected result:
----------------
results from sql query
Actual result:
--------------
httpd logs:
Sep 21 11:00:45 radzaw64 apache2[6306]: segfault at 00007fff0632af58 rip 00002ba1a7408a65 rsp 00007fff0632af60 error 6
xdebug output:
Fatal error: Maximum function nesting level of '100' reached, aborting! in /usr/share/php/MDB2/Driver/pgsql.php on line 1296
Call Stack
# Function Location
1 {main}() /var/www/localhost/htdocs/test/index.php:0
2 MDB2::connect() /var/www/localhost/htdocs/test/index.php:18
3 MDB2::factory() /usr/share/php/MDB2.php:433
4 MDB2_Driver_pgsql->__construct() /usr/share/php/MDB2.php:390
5 MDB2_Driver_Common->MDB2_Driver_Common() /usr/share/php/MDB2/Driver/pgsql.php:72
6 MDB2_Driver_pgsql->__construct() /usr/share/php/MDB2.php:1296
7 MDB2_Driver_Common->MDB2_Driver_Common() /usr/share/php/MDB2/Driver/pgsql.php:72
8 MDB2_Driver_pgsql->__construct() /usr/share/php/MDB2.php:1296
9 MDB2_Driver_Common->MDB2_Driver_Common() /usr/share/php/MDB2/Driver/pgsql.php:72
10 MDB2_Driver_pgsql->__construct() /usr/share/php/MDB2.php:1296
11 MDB2_Driver_Common->MDB2_Driver_Common() /usr/share/php/MDB2/Driver/pgsql.php:72
...