server hangs when returning circular object references
| Bug #37013 | server hangs when returning circular object references | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2006-04-07 21:18 UTC | Modified: | 2007-04-02 13:52 UTC |
|
||||||||||
| From: | hjiverson at plauditdesign dot com | Assigned: | dmitry (profile) | |||||||||||
| Status: | Closed | Package: | SOAP related | |||||||||||
| PHP Version: | 5CVS-2006-04-07 (snap) | OS: | Gentoo Linux | |||||||||||
| Private report: | No | CVE-ID: | None | |||||||||||
[2006-04-07 21:18 UTC] hjiverson at plauditdesign dot com
Description: ------------ When I return a graph of objects that has circular references (a tree of categories, for example), the soap server gets stuck in an infinite loop/recursion and hangs. Reproduce code: --------------- http://dev.plauditdesign.com/~hjiverson/drop/php-soap-multiref-bug.txt Expected result: ---------------- The server should use mutliRefs and create references to each object. Each object instance would be serialized one time and given a unique ID, which is then pointed to each time an reference to that object is encountered. Something like this: <getThingWithParentResponse> <result href="#object1"/> </getThingWithParentResponse> ... <multiRef xsi:type="ThingWithParent" id="object1"> ... <parent xsi:nil="1"/> <children> <child href="#object2"/> </children> </multiRef> <multiRef xsi:type="ThingWithParent" id="object2"> ... <parent href="#object1"/> <children xsi:nil="1"/> </multiRef> Actual result: -------------- php hangs
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2006-04-12 12:25 UTC] michele dot manzato at verona dot miz dot it
[2006-07-10 19:33 UTC] hjiverson at plauditdesign dot com