History | Log In     View a printable version of the current page.  
Issue Details (XML)

Key: FB-13014
Type: Bug Bug
Status: Waiting on Info Waiting on Info
Priority: None None
Assignee: lethean lee
Reporter: lethean lee
Votes: 5
Watchers: 4
Operations

If you were logged in you would be able to see more operations.
Flash Builder / Flex Builder

Batch loader.load request cause Flex debugger unload swf silently

Created: 06/04/08 11:26 PM   Updated: 05/22/09 10:29 PM
Component/s: AS Debugger
Security Level: Public (All JIRA Users )

Severity: Incorrectly Functioning
Reproducibility: Every Time
Discoverability: High
Found in Version: 3.0.1 (Released)
Affected OS(s): Windows - XP
Steps to Reproduce:
Steps to reproduce:
put any swfs named from 1.swf ,2.swf.....14.swf in project folder.,the following code will cause flex debugger unload some loaded swf silently, no error event will be triggered , no complete event will be triggered either.
for( var i:int = 1 ; i < 15 ; ++i )
{
var loader:Loader = new Loader();
loader.load(new URLRequest( i + ".swf") );
}

the Console output will be like :
[SWF] 1.swf - 2,488 bytes after decompression
[SWF] 2.swf - 2,488 bytes after decompression
[SWF] 3.swf - 5,525 bytes after decompression
[SWF] 4..swf - 5,525 bytes after decompression
[Unload SWF] 3.swf -
[Unload SWF] 4.swf -

The error occured in debug mode only.


Load the swfs with some blocking fashion , request a new swf only when the last one was loaded can prevent this error.
 
 
 
Language Found: English
Bugbase Id: none
QA Owner: Gelu Blanariu
Participants: Ben Garney, Gelu Blanariu, Kai Arnold, Kazue Watanabe and lethean lee
Eclipse Configuration: Eclipse 3.3
JDK: Sun 1.6.x
UI Change Needed: No


 All   Comments      Sort Order:
lethean lee - [06/04/08 11:30 PM ]
sorry , i reported the error to wrong Component

Kazue Watanabe - [11/12/08 05:43 PM ]
Hi this code generates runtime error: Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.
could you let me know the correct code? thanks.

Kai Arnold - [12/30/08 05:39 PM ]
His code is pretty straightforward, you just need to load a bunch of external .swf's in a row. The project I'm working on also suffers from this issue, and others are reported it as well:

http://osflash.org/pipermail/osflash_osflash.org/2008-May/015401.html

Some insight into this would be greatly appreciated - we've managed to work around it somewhat by serializing successive loads of swfs (which sucks), but now the unloading is creeping back in spite of it.

Thanks.

Kai Arnold - [12/30/08 08:38 PM ]
Some more findings, and some (better?) workarounds: this problem appears to go away if you parent the Loader objects to the stage or save references to the loader's contentLoaderInfo property . The issue must be that some object integral to the loading process is getting garbage collected (perhaps the contentLoaderInfo itself?).

What doesn't make sense, however, is how the garbage collection of loader stuff happens in spite of hanging on to references to the Loaders, and/or adding event listeners to the contentLoaderInfo. It's as though our event listeners are weak references. Again, any insight here would be greatly appreciated.

Thanks.

Ben Garney - [05/22/09 09:47 PM ]
I am also experiencing this issue. I create many (around a hundred) Loader instances when my application starts up, in order to parse resource files. They are dropping out and never reporting completion or failure.

If I artificially inflate the number of Loaders, even more things fail to load.

I am seeing this on the standalone debug player version WIN 10,0,22,87.

Ben Garney - [05/22/09 10:29 PM ]
This has turned out to be because if a Loader is GC'ed while it is loading, it is simply deleted. No events are fired. I added a reference from the class that was creating it, and the problem went away. No queueing is required.

It might be appropriate for a Loader that is GC'ed while it is loading to print a message in the debug player, so that it's easier to spot this issue.

Since I was not loading a SWF (I was loading image data) the existing SWF unload message was not relevant and did not show up.