Jeff, Thanks for the response. I've sent the details (my data-management-config.xml, and debug output) to you in a private email, as the information is sensitive.
The stack overflow was occuring after the call to fill, but before the result came back. I have adjusted my destinations to only have one side of the bi-directional associations set to lazy=false, and that has fixed the null value, as well as the stack overflow. Thanks for that tip. I was under the assumption that it would only serialize the same object once even if it was referenced from multiple places in the object graph. thanks, Thunder --- In flexcoders@yahoogroups.com, "Jeff Vroom" <[EMAIL PROTECTED]> wrote: > > Hi Thunder, > > > > I am not sure about the stack overflow though usually I don't recommend > using lazy="false" on both directions of a bi-directional relationship > since it can end up sending the same data more than once to the client > which results in inefficiency. It looks like you have a fairly > complicated situation involving several types: LevelKeyAttributes, > LevelRelatedAttributes, CubeItemVO, CubeContainerVO, and LevelVO. > Unfortunately I can't quite tell exactly what is going on from the stack > trace. Can you send the destination definition for your FDMS > destinations? I want to see if I can reproduce this... Also, you said > this happens when you load the data. Are you actually trying to modify > some property of an object or does it die right when the fill call is > made? > > > > In terms of the null property value when you switch it to lazy="true", > could you turn on the server Debug logging for the "Message.*" and > "DataService.*" patterns (in services-config.xml, search for level= and > make sure that attribute is set to Debug and you have pattern tags for > Message.* and DataService.*). > > > > What you should be looking for is the fill/getItem call which returns > the items which have the lazy="true" property. There should be a > "referencedIds" header in that message which should contain the id which > the property is referencing. When we serialize objects which have any > descendants that have lazy="true" properties, we do not send the > property value but instead pull out ids of any objects in those property > values and send those in the header. If you don't see anything > obviously wrong in the debug output, send it along to me and hopefully I > can tell what is happening from that. > > > > Jeff > > > > ________________________________ > > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On > Behalf Of thunderstumpgesatwork > Sent: Monday, September 25, 2006 8:20 AM > To: flexcoders@yahoogroups.com > Subject: [flexcoders] Re: Stack Overflow with circular managed > associations. > > > > So, a little more info on the managed associations. > > If I have lazy="true" on the one, I don't get the stack overflow, > however the properties cannot be accessed. It is null. I would have > expected the "ItemPendingError" and the property to be fetched, but it > is just null. > > Anyone know anything about this happening? > > thanks, > Thunder > > --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > , "thunderstumpgesatwork" > <thunder.stumpges@> wrote: > > > > > > Hi guys, > > > > I think this may be a bug. I have some classes that have > > bi-directional managed associations. If both sides are declared > > lazy=false, I'm getting a stack overflow error in Flex when the > > results are returned. > > > > See the error output below. Any ideas? Shouldn't this work? > > > > thanks, > > Thunder > > > > Error: Error #1023: Stack overflow occurred. > > at > > > mx.events::PropertyChangeEvent/clone()[C:\dev\GMC\sdk\frameworks\mx\even > ts\PropertyChangeEvent.as:223] > > at > > > mx.collections::ArrayList/mx.collections:ArrayList::itemUpdateHandler()[ > C:\dev\GMC\sdk\frameworks\mx\collections\ArrayList.as:548] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > com.company.config::LevelKeyAttributesVO/dispatchEvent()[C:\Flex\src\com > pany\com\company\config\LevelKeyAttributesVO.as:0] > > at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > mx.collections::ArrayList/mx.collections:ArrayList::itemUpdateHandler()[ > C:\dev\GMC\sdk\frameworks\mx\collections\ArrayList.as:551] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > com.company.config::LevelRelatedAttributesVO/dispatchEvent()[C:\Flex\src > \company\com\company\config\LevelRelatedAttributesVO.as:0] > > at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > com.company.config::CubeItemVO/dispatchEvent()[C:\Flex\src\company\com\c > ompany\config\CubeItemVO.as:0] > > at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > com.company.config::CubeContainerVO/dispatchEvent()[C:\Flex\src\company\ > com\company\config\CubeContainerVO.as:0] > > at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > mx.collections::ArrayList/mx.collections:ArrayList::itemUpdateHandler()[ > C:\dev\GMC\sdk\frameworks\mx\collections\ArrayList.as:551] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > com.company.config::LevelVO/dispatchEvent()[C:\Flex\src\company\com\comp > any\config\LevelVO.as:0] > > at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > mx.collections::ArrayList/mx.collections:ArrayList::itemUpdateHandler()[ > C:\dev\GMC\sdk\frameworks\mx\collections\ArrayList.as:551] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > com.company.config::LevelKeyAttributesVO/dispatchEvent()[C:\Flex\src\com > pany\com\company\config\LevelKeyAttributesVO.as:0] > > at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > mx.collections::ArrayList/mx.collections:ArrayList::itemUpdateHandler()[ > C:\dev\GMC\sdk\frameworks\mx\collections\ArrayList.as:551] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > com.company.config::LevelRelatedAttributesVO/dispatchEvent()[C:\Flex\src > \company\com\company\config\LevelRelatedAttributesVO.as:0] > > at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > com.company.config::CubeItemVO/dispatchEvent()[C:\Flex\src\company\com\c > ompany\config\CubeItemVO.as:0] > > at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > com.company.config::CubeContainerVO/dispatchEvent()[C:\Flex\src\company\ > com\company\config\CubeContainerVO.as:0] > > at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > mx.collections::ArrayList/mx.collections:ArrayList::itemUpdateHandler()[ > C:\dev\GMC\sdk\frameworks\mx\collections\ArrayList.as:551] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > com.company.config::LevelVO/dispatchEvent()[C:\Flex\src\company\com\comp > any\config\LevelVO.as:0] > > at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > mx.collections::ArrayList/mx.collections:ArrayList::itemUpdateHandler()[ > C:\dev\GMC\sdk\frameworks\mx\collections\ArrayList.as:551] > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > > com.company.config::LevelKeyAttributesVO/dispatchEvent()[C:\Flex\src\com > pany\com\company\config\LevelKeyAttributesVO.as:0] > > at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412] > > > -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/flexcoders/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/