php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
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
Status: Closed Package: SOAP related
PHP Version: 5CVS-2006-04-07 (snap) OS: Gentoo Linux
Private report: No CVE-ID:
 [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

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-04-10 12:28 UTC] sniper@php.net
Assigned to the maintainer.
 [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?
 [2007-04-02 13:52 UTC] dmitry@php.net
Fixed in CVS HEAS and PHP_5_2.
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Thu Apr 24 21:01:55 2014 UTC