1
votes

I've seen "undefined" all by itself in the console window before, but I could figure out what it meant. This time, I'm getting it in the opening line of the constructor for CollectionEvent (super(type, bubbles, cancelable);). I think it was triggered by a write to an XMLListCollection. There doesn't seem to be anything undefined about it--the this pointer looks good and all that parameters do, too. It has rather a large stack trace but no helpful information about what's undefined. How do I get to the next debugging step?

undefined
    at mx.events::CollectionEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\events\CollectionEvent.as:116]
    at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1245]
    at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523]
    at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321]
    at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620]
    at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81]
    at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192]
    at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37]
    at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90]
    at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82]
    at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::ListCollectionView/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:879]
    at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1248]
    at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523]
    at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321]
    at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620]
    at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81]
    at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192]
    at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37]
    at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90]
    at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82]
    at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::ListCollectionView/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:879]
    at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1248]
    at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523]
    at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321]
    at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620]
    at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81]
    at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192]
    at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37]
    at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90]
    at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82]
    at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::ListCollectionView/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:879]
    at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1248]
    at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523]
    at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321]
    at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620]
    at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81]
    at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192]
    at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37]
    at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90]
    at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82]
    at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
1
Put a breakpoint at line 79 of UMTAControl.as and then click "step into" a lot; be careful to check things each step of the way.JeffryHouser
I think what is undefined in this case is the actual error message. Normally, in a stack trace, that's where the error text would be. Follow the advice above, you might even set your breakpoint a little higher in the stack trace at AddressNode.as line 192. Though this all seems very odd, not sure how helpful stepping the code will be.Sunil D.
So many repeated lines. Some kind of recursion for XML... or stack overflow? However, you are lucky to have stack trace. Debugging adt crashes is much more...interesting.user1875642

1 Answers

0
votes

That's right, those other instances of "undefined" were all due to infinite recursion causing stack overflow (and not the kind that gives well-thought feedback).

I imagined these callbacks were similar to the MFC model, where messages were queued and only processed when the app developer's code was finished executing (and I think duplicate messages might have been merged sometimes). Clearly that's not what's going on here--a change is being made and the callback is executed immediately. I guess I won't be able to reliably detect changes to this XMLListCollection :(

Thanks guys.