So,
I need to slim what I call then? I am no where near 4000 recursions on this.
Do you have any advice for me? I wrote this documenter in Flex to really test
the Flash player, I am getting good feelings but, this I just need to work
right now and then when I refactor it won't be a problem.
So a stack is like a method call chain, so really I need to slim the whole
algorithm and not use dispatchEvent().
Maybe me using dispatchEvent() is adding on the recursions I am not seeing.
Peace, Mike
On 6/14/06, Gordon
Smith <[EMAIL PROTECTED]>
wrote:
I got more info from the
AS3 team... The Player's stack limit is 128K and can't be changed. When a
method calls another method, a stack frame gets created which requires 4 bytes
for its size, 4 bytes for the return address, 4 bytes for each parameter, and 4
bytes for each local variable. So if a typical function has 2 parameters and 4
local variables, you could have about 4000 recursive metthod calls.
- Gordon
A StackOverflowError does
not necessarily involve an Array. It generally is an indicator of infinite (or
at last overly deep) recursion, such as where method A calls method B and
method B calls method A, over and over. In your stack trace, it looks like
File/analyzeNextFile() is being called recursively rather than sequentially.
- Gordon
oh yeah,
StackOverflowError: Error #1023: Stack overflow occurred.
at mx.collections::ListCollectionView/::addItemsToView()
at mx.collections::ListCollectionView/::listChangeHandler()
at flash.events::EventDispatcher/dispatchEvent()
at mx.collections::ArrayList/::internalDispatchEvent()
at mx.collections::ArrayList/addItemAt()
at mx.collections::ListCollectionView/addItemAt()
at mx.collections::ListCollectionView/addItem()
at
com.teotiGraphix.documentfx.models.elements::Comment/::populateTagList()
at
com.teotiGraphix.documentfx.models.elements::Comment/process()
at com.teotiGraphix.documentfx.models.elements::Comment$iinit()
at
com.teotiGraphix.documentfx.analyzers::Analyzer/::getComment()
at
com.teotiGraphix.documentfx.analyzers::Analyzer/com.teotiGraphix.documentfx.analyzers:Analyzer::parseMethods()
at com.teotiGraphix.documentfx.analyzers::Analyzer/analyzeMethods()
at
com.teotiGraphix.documentfx.models.objects::File/::analyzePackage()
at
com.teotiGraphix.documentfx.models.objects::File/parseTokens()
at
com.teotiGraphix.documentfx.models.objects::File/analyze()
at com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFile()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeFileQueue()
at com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFileHandler()
at flash.events::EventDispatcher/dispatchEvent()
at
com.teotiGraphix.documentfx.models.objects::File/parseTokens()
at
com.teotiGraphix.documentfx.models.objects::File/analyze()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFile()
at com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeFileQueue()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFileHandler()
at flash.events::EventDispatcher/dispatchEvent()
at
com.teotiGraphix.documentfx..models.objects::File/parseTokens()
at
com.teotiGraphix.documentfx.models.objects::File/analyze()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFile()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeFileQueue()
at com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFileHandler()
at flash.events::EventDispatcher/dispatchEvent()
at
com.teotiGraphix.documentfx.models.objects::File/parseTokens()
at com.teotiGraphix.documentfx.models.objects::File/analyze()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFile()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeFileQueue()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFileHandler()
at flash.events::EventDispatcher/dispatchEvent()
at com.teotiGraphix.documentfx.models.objects::File/parseTokens()
at
com.teotiGraphix.documentfx.models.objects::File/analyze()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFile()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeFileQueue()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFileHandler()
at flash.events::EventDispatcher/dispatchEvent()
at
com.teotiGraphix.documentfx.models.objects::File/parseTokens()
at
com.teotiGraphix.documentfx.models.objects::File/analyze()
at com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFile()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeFileQueue()
at com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFileHandler()
at flash.events::EventDispatcher/dispatchEvent()
at
com.teotiGraphix.documentfx.models.objects::File/parseTokens()
at
com.teotiGraphix.documentfx.models.objects::File/analyze()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFile()
at com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeFileQueue()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFileHandler()
at flash.events::EventDispatcher/dispatchEvent()
at
com.teotiGraphix.documentfx.models.objects::File/parseTokens()
at
com.teotiGraphix.documentfx.models.objects::File/analyze()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFile()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeFileQueue()
at
com.teotiGraphix.documentfx.documents::ComponentDocument/com.teotiGraphix.documentfx.documents:ComponentDocument::analyzeNextFileHandler()
at flash.events::EventDispatcher/dispatchEvent()
at
com.teotiGraphix.documentfx.models.objects::File/parseTokens()
at com.teotiGraphix.documentfx.models.objects::File/analyze()
the error...
On 6/14/06, Michael
Schmalle <[EMAIL PROTECTED]>
wrote:
Hi,
I am getting a #1023 statckoverflow error on lines that have nothing to do with
an array.
Is this a memory error? Like the player is out of memory. It's happening in a
VERY intensive proccessing loop.
The docs say talk to Adobe, if the swf is not corrupt.
Thoughts?
Peace, Mike
--
What goes up, does come down.
--
What goes up, does come down.
--
What goes up, does come down.