stack underflow after running tdsi

13 views
Skip to first unread message

Erik

unread,
Jun 3, 2011, 11:23:57 PM6/3/11
to apparat-framework
Hello

I encountered a "Error #1024: Stack underflow" after running tdsi.
There is an early post about this type of error [1], but when I looked
for the bug here http://code.google.com/p/apparat/issues but could not
find it.

Maybe I am using the wrong library versions?
flex.sdk.dir=C:/dev/flex_4.5
air.sdk.dir=C:/dev/air_2.6
apparat_home=C:/dev/apparat-1.0-RC9
scala_home=C:/dev/scala-2.8.1.final

I can get other projects to run (fast!) after using tdsi, but have hit
a wall with this particular project. The code runs if I do not run
tdsi on it. How can I help solve this bug?

[1] http://groups.google.com/group/apparat-framework/browse_thread/thread/e0e20e1575bb8f9c/91b6f352d28ddb54

Erik

unread,
Jun 4, 2011, 12:27:05 PM6/4/11
to apparat-framework
There were two functions in one class which, when commented out,
allowed the swf to run. However, the compiled swf is now lame, as the
two functions are necessary for that class to operate correctly.

Hmm.. I get the sense I am doing something wrong. I will play with
those two methods which caused the Stack underflow errors to see if I
can isolate that problem. Anything in particular I should look for?

Also, I am now getting a steady stream of "VerifyError: Error #1107:
The ABC data is corrupt, attempt to read out of bounds." This error is
coming from some code called on enterframe events. I am not sure what
is causing this to happen. The offending code is pretty innocuous:
obj.position = obj._position + local_scoped_var_x;

An unrelated question: am I correct that the benefits of reducer [1]
are included when running tdsi?

Thank you -- this is interesting stuff to learn about.

[1] http://blog.joa-ebert.com/2009/08/08/reducer/

On Jun 3, 11:23 pm, Erik <jedier...@gmail.com> wrote:
> Hello
>
> I encountered a "Error #1024: Stack underflow" after running tdsi.
> There is an early post about this type of error [1], but when I looked
> for the bug herehttp://code.google.com/p/apparat/issuesbut could not
> find it.
>
> Maybe I am using the wrong library versions?
> flex.sdk.dir=C:/dev/flex_4.5
> air.sdk.dir=C:/dev/air_2.6
> apparat_home=C:/dev/apparat-1.0-RC9
> scala_home=C:/dev/scala-2.8.1.final
>
> I can get other projects to run (fast!) after using tdsi, but have hit
> a wall with this particular project.  The code runs if I do not run
> tdsi on it.  How can I help solve this bug?
>
> [1]http://groups.google.com/group/apparat-framework/browse_thread/thread...

Erik

unread,
Jun 4, 2011, 1:25:05 PM6/4/11
to apparat-framework


On Jun 4, 12:27 pm, Erik <jedier...@gmail.com> wrote:
> There were two functions in one class which, when commented out,
> allowed the swf to run.  However, the compiled swf is now lame, as the
> two functions are necessary for that class to operate correctly.
>
> Hmm.. I get the sense I am doing something wrong.  I will play with
> those two methods which caused the Stack underflow errors to see if I
> can isolate that problem.  Anything in particular I should look for?

That was pretty easy to solve. In my Inlined subclass, I had a static
variable I was accessing in both methods of my problematic class. I
wrapped that variable into a static function and ... voila! No more
problems running that part of the swf! Cool.

I am still getting the "VerifyError: Error #1107: The ABC data ..." I
will investigate this now.

Erik

unread,
Jun 4, 2011, 2:37:36 PM6/4/11
to apparat-framework

> I am still getting the "VerifyError: Error #1107: The ABC data ..."  I
> will investigate this now.

Solved -- I had a class wide variable of the type Function I was
calling. Replaced

var f:Function = doThat;
if (true)
{ f( 1 );
}

with an actual function

if (true)
{ this.doThat( 1 )
}

... and the swf worked. I guess calling unknown Functions is not
allowed with tdsi? Probably not the best practice anyhow.

I will create an interface and use that instead of just "Function" to
keep my design versatile.

So glad to see this all working. Neat tool.

Erik

unread,
Jun 4, 2011, 4:33:44 PM6/4/11
to apparat-framework


On Jun 4, 2:37 pm, Erik <jedier...@gmail.com> wrote:
> > I am still getting the "VerifyError: Error #1107: The ABC data ..."  I
> > will investigate this now.
>
> Solved -- I had a class wide variable of the type Function I was
> calling.  Replaced
>
> var f:Function = doThat;
> if (true)
> {  f( 1 );
>
> }
>
> with an actual function
>
> if (true)
> {  this.doThat( 1 )
>
> }

The problem recurred (never really went away?). Fixed this time by
following the Golden Rules [1]

[1] http://code.google.com/p/apparat/wiki/MacroExpansion
Reply all
Reply to author
Forward
0 new messages