bug
| From: | Łukasz Michalski | Date: | Tue, 12 Jun 2001 12:35:49 +0000 |
| Subject: | bug | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-56660@lists.php.net to get a copy of this message | ||
From: zork@pablosoft.com.pl
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@lists.php.net manually.