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 [EMAIL PROTECTED]ups.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\events\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::dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at
>
com.company.config::LevelKeyAttributesVO/dispatchEvent()[C:\Flex\src\company\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::dispatchEventFunction()
> 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::dispatchEventFunction()
> 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::dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at
>
com.company.config::CubeItemVO/dispatchEvent()[C:\Flex\src\company\com\company\config\CubeItemVO.as:0]
> at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412]
> at
>
flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
> 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::dispatchEventFunction()
> 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::dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at
>
com.company.config::LevelVO/dispatchEvent()[C:\Flex\src\company\com\company\config\LevelVO.as:0]
> at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412]
> at
>
flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
> 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::dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at
>
com.company.config::LevelKeyAttributesVO/dispatchEvent()[C:\Flex\src\company\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::dispatchEventFunction()
> 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::dispatchEventFunction()
> 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::dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at
>
com.company.config::CubeItemVO/dispatchEvent()[C:\Flex\src\company\com\company\config\CubeItemVO.as:0]
> at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412]
> at
>
flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
> 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::dispatchEventFunction()
> 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::dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at
>
com.company.config::LevelVO/dispatchEvent()[C:\Flex\src\company\com\company\config\LevelVO.as:0]
> at ()[C:\dev\enterprise_gmc\frameworks\mx\data\utils\Managed.as:412]
> at
>
flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
> 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::dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at
>
com.company.config::LevelKeyAttributesVO/dispatchEvent()[C:\Flex\src\company\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





SPONSORED LINKS
Software development tool Software development Software development services
Home design software Software development company

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___

Reply via email to