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/
 



Reply via email to