• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

External AS2 SWF loaded into AS3 SWF causing 256 levels of recursion

New Here ,
Jul 04, 2015 Jul 04, 2015

Copy link to clipboard

Copied

Hi all,

i have a video player that integrates the Google IMA Flash SDk for displaying ads.

The application is written with AS3, and in working without any errors.

From time to time, there are some Flash creatives that are build with GreenSock that loads into the player through the IMA SDK.


When this occurs, according to flash debugger i got the error mentioned in the title:

"256 levels of recursion were exceeded in one action list.

This is probably an infinite loop.

Further execution of actions has been disabled in this movie."

Furthermore, in the flash debugger i'm seeing the following call stack:


TweenLite::to( target, duration, vars)[no source]

TweenLite::jumpStart(root)[no source]

This is going on and on infinitely, causing the flash debugger to stop with the message:

Unexpected Java Exception encountered. Debug session will terminate.

When i'm testing the application without debugging it, most of the player controls becomes unresponsive, also the NetStream, leading to malformed statistic of the player ( current time, unable to pause and resume, etc ).

Another strange thin is that when i right click on the flash player and click on the settings item from contextual menu, it loops through all tabs ( Display, Privacy, Local storage etc ) like 10 times per second, so there is definitely a problem.


I've attached also two screenshots of the debugger, before ad is loaded and after.

ad-debug-after-start-ad.JPG

ad-debug-before-start-ad.JPG

Is there a way i can "jail" or restrict the loaded content to make this mess?

Is there a way of loading the external SWF in a way that it can not affect the loader SWF timeline, like an html IFRAME if this is a happy comparison.

Any help would be highly appreciated.

Thanks,

Dan

TOPICS
ActionScript

Views

603

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 04, 2015 Jul 04, 2015

Copy link to clipboard

Copied

to the main timeline of the as2 swf, add

this._lockroot=true;

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 04, 2015 Jul 04, 2015

Copy link to clipboard

Copied

Hi kglad,

thanks for your answer, but i'm afraid i can't do this.

The As2 SWF is out of my control, it is loaded dynamically by the adserver.

Thanks,

Dan

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 04, 2015 Jul 04, 2015

Copy link to clipboard

Copied

create an as2 swf that you can control.

use tweenlite to tween something that uses a _root reference.

load into your as3 file and see if that duplicates the problem.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 04, 2015 Jul 04, 2015

Copy link to clipboard

Copied

I've already done that. I've loaded the ad creative through a Loader object and everything is fine.

But in the working flow, i can't load it like that.

The flow is like this:

1. Load the IMA SDK.

2. Signal IMA SDk to load an ad.

3. When the ad is loaded signal IMA SDK to start the ad.

4. Boom, all breaks down.

The IMA is loading another SWF, called OverlayTemplate, which loads the creative, centers it in the available space, adds a background and a close button.

So, when i simply load the ad, like an ordinary swf file, all is smooth, but when is loaded through the OverlayTemplate.swf, that's when the problem appears.

Thanks,

Dan

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 04, 2015 Jul 04, 2015

Copy link to clipboard

Copied

you confirmed the _root reference causes no problem?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 04, 2015 Jul 04, 2015

Copy link to clipboard

Copied

I guess, i think the OverlayTemplate is blocking access to something and the ad creative trys over and over to make something ....

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 04, 2015 Jul 04, 2015

Copy link to clipboard

Copied

you might be right, but i think those error messages indicate there's a problem with tweenlite trying to access an object that doesn't exist.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 04, 2015 Jul 04, 2015

Copy link to clipboard

Copied

Yes i know, but the question remains, how do i get around this?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 04, 2015 Jul 04, 2015

Copy link to clipboard

Copied

i made a suggestion but you rejected it.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 04, 2015 Jul 04, 2015

Copy link to clipboard

Copied

If i'm not missing something you said i should make a AS2 swf with tweenlite and see if the problem replicates, i've answerd that i did that with the creative that is causing the problem and the problem is not there anymore.

Was that your suggestion or  i missed it?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 04, 2015 Jul 04, 2015

Copy link to clipboard

Copied

LATEST

that's most of my suggestion. the rest included that the object being tweened should be _root.whateverinstance name.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines