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
Votes:2
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
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 commitsRelated reports

 [2006-04-12 12:25 UTC] michele dot manzato at verona dot miz dot it

I can confirm this same bug under Win2K with PHP/5.1.2.

 [2006-07-10 19:33 UTC] hjiverson at plauditdesign dot com

I understand this comment section isn't for bug related questions and apologize; but status has been 'Assigned' since April. Has the bug been fixed?