PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Database » MDB2 » Bug #8752

MDB2 PHP4 contructor is causing eaccelerator crash

Details

Request #8752MDB2 PHP4 contructor is causing eaccelerator crash
Submitted2006-09-21 09:31 UTC
Fromradzaw at radzaw dot one dot pl
StatusBogus
PackageMDB2
PHP Version5.1.6
OSGentoo 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
...