ID: 43319
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Open
Bug Type: Reproducible crash
Operating System: Linux, Windows
PHP Version: 5.2.5
New Comment:
I don't know if this is the more apropriated solution for this
problem.
When you try without the use of interface, you have the same recursion,
but no crash.
Previous Comments:
------------------------------------------------------------------------
[2007-11-18 04:28:43] crrodriguez+php at suse dot de
This causes infinite recursion,hence a crash.. I expect a very clear:
zend_error(E_ERROR, "Nesting level too deep - recursive dependency?");
------------------------------------------------------------------------
[2007-11-17 15:26:04] [EMAIL PROTECTED]
Description:
------------
Apache crashes and CLI segfault when serializing objects which have
circular references and implements the Serializable interface.
Whitout the interface, the serialization and deserialization occurs
without any problem.
Reproduce code:
---------------
<?php
class A implements Serializable {
private $b;
public function setB($b) {
$this->b = $b;
}
public function serialize() {
return serialize($this->b);
}
public function unserialize($s) {
$this->b = unserialize($s);
}
}
class B {
private $a;
public function __construct($a) {
$a->setB($this);
$this->a = $a;
}
}
$a = new A();
$b = new B($a);
var_dump(serialize($b));
?>
Expected result:
----------------
The string of the serialized object.
Actual result:
--------------
Apache crash or cli segfault.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=43319&edit=1