[PHP-DEV] bug From: £ukasz Michalski (zork <email protected>)
Date: 06/12/01

From: zork <email protected>
Operating system: Linux 2.2.16
PHP version: 4.0.5
PHP Bug Type: Reproducible crash
Bug description: crash when restoring references to objects

Here are two scripts that operates on referenced objects. make.php
creates object $b with reference to object $a as argument.

After serialize/unserialize show.php checks if the reference still
exists.

PHP 4.0.1pl1 lost references.
PHP 4.0.4pl1 segfaults on show.php
PHP 4.0.5 segfaults on show.php and(!) sometimes on make.php

Config line:
./configure --with-pgsql=shared --with-apxs --sysconfdir=/etc
--prefix=/usr \
--localstatedir =/var --with-config-file-path=/etc/httpd/conf/ \
--with-gettext=/usr/share/gettext

make.php:
<?
class ClassA {
 var $arg_a;
};

class ClassB {
         var $arg_b;

         function ClassB(&$a) {
                $this -> arg_b = &$a;
        }
};

session_start();
session_destroy();
session_register("b");
session_register("a");

$a = new ClassA();
$a -> arg_a = 4;
$b = new ClassB($a);
echo "done. Click <a href=\"show.php\">here</a>";
?>

show.php:
<?
class ClassA {
 var $arg_a;
};

class ClassB {
         var $arg_b;

         function ClassB(&$a) {
                $this -> arg_b = &$a;
        }
};

session_start();
$a -> arg_a = 6;
echo $b -> arg_b -> arg_a;
?>

Warning: Could not execute mail delivery program in
/local/Web/sites/phpweb/bugs.php on line 413

Mail not sent!
Please send this page in a mail to php-dev <email protected> manually.

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: php-dev-unsubscribe <email protected>
For additional commands, e-mail: php-dev-help <email protected>
To contact the list administrators, e-mail: php-list-admin <email protected>