ID: 14266
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Bogus
Bug Type: Scripting Engine problem
Operating System: Debian Linux
PHP Version: 4.2.0-dev
New Comment:
Ok, I tested a little bit more
and found that when calling serialize() like serialize(&$x)
it works.
I know about leaks, but those leaks don't kill me (yet).
And btw. Circular references work as expected. There is
nothing so "undefined" about them in php. They work quite
logically.
Previous Comments:
------------------------------------------------------------------------
[2001-11-28 09:01:05] [EMAIL PROTECTED]
sorry, i wanted to write:
you realy should *NOT*...
------------------------------------------------------------------------
[2001-11-28 08:59:04] [EMAIL PROTECTED]
Behaviour of Circular / Selfreferencing objects is not defined.
you could try to do a workarround
by using defining __sleep() and __wakeup()
in your class, which are called when the object is serialized / unserialized, and
could unset those self-references.
but you realy should do those.. if you dont destroy all of those references, you will
get memory leaks!
regards, Peter Petermann
------------------------------------------------------------------------
[2001-11-28 08:43:47] [EMAIL PROTECTED]
I dont' agree. Circular refferences can happen with
objects (using refferences). Sometimes they are
intentional. And serialize() doesn't completely ignore
this. Because it spits out:
O:8:"stdClass":1:{s:1:"x";O:8:"stdClass":1:{s:1:"x";R:2;}}
so it knows about circular refferences.
Now is there any reason why it doesn't generate instead
something like this:
O:8:"stdClass":1:{s:1:"x";R:1;}
I would understand if it completely ignores circular
references, but it doesn't. It just misbehaves.
------------------------------------------------------------------------
[2001-11-28 08:41:04] [EMAIL PROTECTED]
Your creating a reference to itself this is not allowed.
Therefore the bug is bogus, the behaviour is undefined.
- James
------------------------------------------------------------------------
[2001-11-28 08:38:38] [EMAIL PROTECTED]
Tested this with current cvs too. No better luck.
Original and unserialized objects have different
representation in memory.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/?id=14266
Edit this bug report at http://bugs.php.net/?id=14266&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]