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.
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
Copy link to clipboard
Copied
to the main timeline of the as2 swf, add
this._lockroot=true;
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
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.
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
Copy link to clipboard
Copied
you confirmed the _root reference causes no problem?
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 ....
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.
Copy link to clipboard
Copied
Yes i know, but the question remains, how do i get around this?
Copy link to clipboard
Copied
i made a suggestion but you rejected it.
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?
Copy link to clipboard
Copied
that's most of my suggestion. the rest included that the object being tweened should be _root.whateverinstance name.