1 (edited by bakassi 2007-09-02 09:10:49)

Topic: Crashing Flash Player

Hello,

I have developed a relatively simple slideshow application that displays a succession of swf animations. The application runs successfully but the Chumby crashes after running it with the debug info pasted bellow.

A bit more information about my widget:
- It is built with Macromedia Flash 8.0, and published as a Flash 8.0 swf
- It loads swf animations, 150kb to 300kb in size
- I am currently looping through about 14 animations  every 5 seconds
- Country to what the debug info might indicate, there is no sound in my widget
- My chumby is HW:3.6, SW:1.1, FW:312
- The crash happens after 30 to 60 minutes of running the widget

I thought memory might have been an issue with my widget, so I made sure there are at most only 2 animations loaded concurrently by calling unloadMovie() on existing content, before loading new content.

Could somebody help me make sense of this debug information?

Thank you,


Bakassi



Here is the debug info I get:
2007-09-02 05:22:59 NetStreamRequest::Open(273): Opening protocol 'http://' host '<servername>' port 80 location '/images14/content/output/2007/9/1/13268_f8d0b3b7.swf'
2007-09-02 05:23:11 HTTPCurlObject::SetCompletionStatus(418) id=393 cache=14, expiring due to failure
2007-09-02 05:23:12 HTTPCurlObject::Done(id=393) returning true due to error condition, response code=418
2007-09-02 05:23:12 NetStreamRequest::Step(273) done, closing stream (527360 of 533114 bytes, avail=0)
2007-09-02 05:23:12 SI_NotifyError(0x390a3c): Error 3 (FI_CorruptSWFDataError)
2007-09-02 05:23:12 ClientObject::DoUpdate(): got FI_FrameBufferUpdatedWithError
2007-09-02 05:23:12 ClientObject::MainLoop() - deleting master 001a2e20 (with its dependents)
2007-09-02 05:23:12 ClientObject::~ClientObject(this=0x001a2e20) mmobj=0x001a347c
2007-09-02 05:23:12 ClientObject::~ClientObject() player has been destroyed, MM_Object 001a347c has been NULLed
2007-09-02 05:23:12 FrameBuffer::ReleaseFrameBuffer() final instance freed
2007-09-02 05:23:12 StreamSoundObject::~StreamSoundObject(this=0x001af770, mmobj=0x001a347c)
2007-09-02 05:23:12 SoundObject::~SoundObject[a](this=0x001af770)
2007-09-02 05:23:12 SoundObject::Remove[a](0x001af770) removing from list
2007-09-02 05:23:12 KeyboardObject::<destructor>() closing event interface (last entry)
2007-09-02 05:23:12 ERROR: deleting global instance of HTTPCacheObject with remaining reference count of 1
2007-09-02 05:23:12 ClientObject::MainLoop() - deleting all client instances
2007-09-02 05:23:12 ClientObject::~ClientObject(this=0x0039e798) mmobj=0x00390a3c
2007-09-02 05:23:12 ClientObject::~ClientObject() player has been destroyed, MM_Object 00390a3c has been NULLed
2007-09-02 05:23:12 FrameBuffer::ReleaseFrameBuffer() final instance freed
2007-09-02 05:23:12 StreamSoundObject::~StreamSoundObject(this=0x0039ff30, mmobj=0x00390a3c)
2007-09-02 05:23:12 SoundObject::~SoundObject[c](this=0x0039ff30)
2007-09-02 05:23:12 SoundObject::Remove(0x0039ff30) making 0x00000000 new head of list
2007-09-02 05:23:12 ClientObject::MainLoop() - deleted 0039e798
2007-09-02 05:23:12 ClientObject::MainLoop() - 2 instances deleted, returning 51346
2007-09-02 05:23:12 main() - ClientObject::MainLoop() returned 51346
2007-09-02 05:23:12 HTTPCurlObject::CurlMultiCleanup(freeSingles=Y)
2007-09-02 05:23:12 HTTPCurlObject::CurlMultiCleanup(true) removed 0
2007-09-02 05:23:12 HTTPCurlObject::CurlGlobalCleanup()
2007-09-02 05:23:12 SoundObject::GlobalCleanup()
2007-09-02 05:23:12 ChumbyPipeObject::ChumbyPipeCleanup() starting, g_send = 0x00191388 g_recv = 6
2007-09-02 05:23:12 ChumbyPipeObject::ChumbyPipeCleanup() closing chumbpipe 0x001912d8
chumbpipe exiting normally
2007-09-02 05:23:12 ChumbyPipeObject::ChumbyPipeCleanup() completed
2007-09-02 05:23:12 err[1]: 2007-09-02 04:38:37 SensorObject::PumpBend() ERROR - Failed to offer key event!

2007-09-02 05:23:12 err[2]: 2007-09-02 05:23:12 HTTPCurlObject::Done(id=393) returning true due to error condition, response code=418

2007-09-02 05:23:12 err[3]: 2007-09-02 05:23:12 SI_NotifyError(0x390a3c): Error 3 (FI_CorruptSWFDataError)

2007-09-02 05:23:12 err[4]: 2007-09-02 05:23:12 ClientObject::DoUpdate(): got FI_FrameBufferUpdatedWithError

2007-09-02 05:23:12 err[5]: 2007-09-02 05:23:12 ERROR: deleting global instance of HTTPCacheObject with remaining reference count of 1

2007-09-02 05:23:12 Exiting _chumby_flashplayer_version=3.0.8.4.00150-0312
2007-09-02 05:23:12 Start time: 2007-09-02 04:22:03
2007-09-02 05:23:12 End time  : 2007-09-02 05:23:12
2007-09-02 05:23:12 Elapsed   : 1h 1m 9s (3669)
2007-09-02 05:23:12 main() - closing and deleting pid file /var/run/chumbyflashplayer.pid
2007-09-02 05:23:12 chumbyflashplayer main() - exiting, return code 0
chumby:~#

Re: Crashing Flash Player

The interesting lines are the first few:

2007-09-02 05:22:59 NetStreamRequest::Open(273): Opening protocol 'http://' host '<servername>' port 80 location '/images14/content/output/2007/9/1/13268_f8d0b3b7.swf'
2007-09-02 05:23:11 HTTPCurlObject::SetCompletionStatus(418) id=393 cache=14, expiring due to failure
2007-09-02 05:23:12 HTTPCurlObject::Done(id=393) returning true due to error condition, response code=418
2007-09-02 05:23:12 NetStreamRequest::Step(273) done, closing stream (527360 of 533114 bytes, avail=0)
2007-09-02 05:23:12 SI_NotifyError(0x390a3c): Error 3 (FI_CorruptSWFDataError)

It appears that the server responded with a '418' error response code, which means "Invalid", or more completely: "The request could not be completed due to a validation failing against the sent entity".

Note also that it didn't send the entire swf (527360 of 533114 bytes), which explains the "corrupt SWF" error.

So the root cause is your server sending errors responses on your requests, however we should also be handling it better.  Does this server require some sort of periodic validation or authentication?

Re: Crashing Flash Player

Hello Duane,

Thank you for the quick response.

- The path to retrieve those files does not require authentication
- In some instances only the Flash player dies, and is eventually auto-restarted, however sometimes the Chumby is locked up and needs to be power cycled
- I believe the 418 might be an artifact of earlier problems, I see several errors in my web server logs before the hard failure. Unfortuately, it is a bit criptic: "Error sending file <path_to_file>/b49124f7.swf: Invalid argument", however the file exists, is not corrupted, and was sent and rendered several times earlier in the slideshow
- Before the hard failure I start to get rendering artifacts... backgrounds not getting properly erased and what seems like a slowed down frame rate

Please let me know what other information might be helpful to you. Thank you,


Bakassi

Re: Crashing Flash Player

Well, these movies seem to be quite large for what they actually do, and it's also possible there's a memory leak and each of these movies gets loaded in succession.  Some movies exhibit leaks when loaded into other movies that don't when they're run standalone.

What I recommend is opening up another SSH session on the device and run 'top' to get an idea of the memory and CPU usage over time.

Re: Crashing Flash Player

Hello,

Here is another kind of failure I get. It doesn't directly mention a 418 error, but the webserver log has "Invalid argument" errors. Note that toward the end there are concurent "NetStreamRequest::Step" calls that I can't find in my actionscript... and several "HTTPCurlObject::Cancel()" and "HTTPObject::CheckCacheability()" warnings before the crash.

Thank you,


Bakassi


Here is a related log:
2007-09-03 03:31:26 NetStreamRequest::Step(41) done, closing stream (325029 of 325029 bytes, avail=0)
2007-09-03 03:31:30 NetStreamRequest::Open(42): Opening protocol 'http://' host '<servername>' port 80 location '/images/13265_1eec3aaf.swf'
2007-09-03 03:31:30 NetStreamRequest::Step(42) done, closing stream (332694 of 332694 bytes, avail=0)
2007-09-03 03:31:35 NetStreamRequest::Open(43): Opening protocol 'http://' host '<servername>' port 80 location '/images/13266_b49124f7.swf'
2007-09-03 03:31:36 NetStreamRequest::Step(43) done, closing stream (393465 of 393465 bytes, avail=0)
2007-09-03 03:31:40 NetStreamRequest::Open(44): Opening protocol 'http://' host '<servername>' port 80 location '/images/13267_663eb631.swf'
2007-09-03 03:31:41 NetStreamRequest::Step(44) done, closing stream (478464 of 478464 bytes, avail=0)
2007-09-03 03:31:45 NetStreamRequest::Open(45): Opening protocol 'http://' host '<servername>' port 80 location '/images/13268_f8d0b3b7.swf'
2007-09-03 03:31:46 NetStreamRequest::Step(45) done, closing stream (533114 of 533114 bytes, avail=0)
2007-09-03 03:31:50 NetStreamRequest::Open(46): Opening protocol 'http://' host '<servername>' port 80 location '/images/13269_63f36005.swf'
2007-09-03 03:31:51 NetStreamRequest::Step(46) done, closing stream (286129 of 286129 bytes, avail=0)
2007-09-03 03:31:56 NetStreamRequest::Open(47): Opening protocol 'http://' host '<servername>' port 80 location '/images/13270_1b610d42.swf'
2007-09-03 03:31:56 NetStreamRequest::Step(47) done, closing stream (213680 of 213680 bytes, avail=0)
2007-09-03 03:32:01 NetStreamRequest::Open(48): Opening protocol 'http://' host '<servername>' port 80 location '/images/13271_6d885f10.swf'
2007-09-03 03:32:01 NetStreamRequest::Step(48) done, closing stream (325091 of 325091 bytes, avail=0)
2007-09-03 03:32:06 NetStreamRequest::Open(49): Opening protocol 'http://' host '<servername>' port 80 location '/images/13272_cbc60f53.swf'
2007-09-03 03:32:11 NetStreamRequest::Open(50): Opening protocol 'http://' host '<servername>' port 80 location '/images/13261_73171eed.swf'
2007-09-03 03:32:12 NetStreamRequest::Step(49) done, closing stream (211563 of 211563 bytes, avail=0)
2007-09-03 03:32:15 NetStreamRequest::Step(50) done, closing stream (166334 of 166334 bytes, avail=0)
2007-09-03 03:32:16 NetStreamRequest::Open(51): Opening protocol 'http://' host '<servername>' port 80 location '/images/13263_d17faefd.swf'
2007-09-03 03:32:21 NetStreamRequest::Open(52): Opening protocol 'http://' host '<servername>' port 80 location '/images/13264_667f3e0c.swf'
2007-09-03 03:32:27 NetStreamRequest::Open(53): Opening protocol 'http://' host '<servername>' port 80 location '/images/13265_1eec3aaf.swf'
2007-09-03 03:32:27 NetStreamRequest::Step(51) done, closing stream (364691 of 364691 bytes, avail=0)
2007-09-03 03:32:27 StreamObject::CancelURLStream(52) cancelling
2007-09-03 03:32:27 NetStreamRequest::Cancel(52)
2007-09-03 03:32:27 HTTPCurlObject::Cancel(id=60) removing handle 00312f18 from multihandle
2007-09-03 03:32:27 HTTPCurlObject::Cancel() id=60 cancel forces expiration of cache entry 15!
2007-09-03 03:32:32 NetStreamRequest::Open(54): Opening protocol 'http://' host '<servername>' port 80 location '/images/13266_b49124f7.swf'
2007-09-03 03:32:38 NetStreamRequest::Open(55): Opening protocol 'http://' host '<servername>' port 80 location '/images/13267_663eb631.swf'
2007-09-03 03:32:43 NetStreamRequest::Open(56): Opening protocol 'http://' host '<servername>' port 80 location '/images/13268_f8d0b3b7.swf'
2007-09-03 03:32:45 NetStreamRequest::Step(56) done, closing stream (533114 of 533114 bytes, avail=0)
2007-09-03 03:32:45 StreamObject::CancelURLStream(55) cancelling
2007-09-03 03:32:45 NetStreamRequest::Cancel(55)
2007-09-03 03:32:45 HTTPCurlObject::Cancel(id=63) removing handle 004e83d8 from multihandle
2007-09-03 03:32:45 HTTPCurlObject::Cancel() id=63 cancel forces expiration of cache entry 18!
2007-09-03 03:32:48 NetStreamRequest::Open(57): Opening protocol 'http://' host '<servername>' port 80 location '/images/13269_63f36005.swf'
2007-09-03 03:32:51 NetStreamRequest::Step(57) done, closing stream (286129 of 286129 bytes, avail=0)
2007-09-03 03:32:54 NetStreamRequest::Open(58): Opening protocol 'http://' host '<servername>' port 80 location '/images/13270_1b610d42.swf'
2007-09-03 03:32:56 NetStreamRequest::Step(58) done, closing stream (213680 of 213680 bytes, avail=0)
2007-09-03 03:33:00 NetStreamRequest::Open(59): Opening protocol 'http://' host '<servername>' port 80 location '/images/13271_6d885f10.swf'
2007-09-03 03:33:01 NetStreamRequest::Step(53) done, closing stream (332694 of 332694 bytes, avail=0)
2007-09-03 03:33:01 NetStreamRequest::Step(59) done, closing stream (325091 of 325091 bytes, avail=0)
2007-09-03 03:33:05 NetStreamRequest::Open(60): Opening protocol 'http://' host '<servername>' port 80 location '/images/13272_cbc60f53.swf'
2007-09-03 03:33:06 NetStreamRequest::Step(60) done, closing stream (211563 of 211563 bytes, avail=0)
2007-09-03 03:33:09 NetStreamRequest::Open(61): Opening protocol 'http://' host '<servername>' port 80 location '/images/13261_73171eed.swf'
2007-09-03 03:33:10 NetStreamRequest::Step(61) done, closing stream (166334 of 166334 bytes, avail=0)
2007-09-03 03:33:11 NetStreamRequest::Open(62): Opening protocol 'http://' host '<servername>' port 80 location '/images/13263_d17faefd.swf'
2007-09-03 03:33:12 NetStreamRequest::Step(62) done, closing stream (364691 of 364691 bytes, avail=0)
2007-09-03 03:33:15 NetStreamRequest::Open(63): Opening protocol 'http://' host '<servername>' port 80 location '/images/13264_667f3e0c.swf'
2007-09-03 03:33:16 NetStreamRequest::Open(64): Opening protocol 'http://' host '<servername>' port 80 location '/images/13265_1eec3aaf.swf'
2007-09-03 03:33:19 NetStreamRequest::Step(64) done, closing stream (332694 of 332694 bytes, avail=0)
2007-09-03 03:33:19 NetStreamRequest::Step(54) done, closing stream (393465 of 393465 bytes, avail=0)
2007-09-03 03:33:19 StreamObject::CancelURLStream(63) cancelling
2007-09-03 03:33:19 NetStreamRequest::Cancel(63)
2007-09-03 03:33:19 HTTPCurlObject::Cancel(id=71) removing handle 00342808 from multihandle
2007-09-03 03:33:19 HTTPCurlObject::Cancel() id=71 cancel forces expiration of cache entry 15!
2007-09-03 03:33:20 NetStreamRequest::Open(65): Opening protocol 'http://' host '<servername>' port 80 location '/images/13266_b49124f7.swf'
2007-09-03 03:33:22 NetStreamRequest::Step(65) done, closing stream (393465 of 393465 bytes, avail=0)
2007-09-03 03:33:22 NetStreamRequest::Open(66): Opening protocol 'http://' host '<servername>' port 80 location '/images/13267_663eb631.swf'
2007-09-03 03:33:25 NetStreamRequest::Open(67): Opening protocol 'http://' host '<servername>' port 80 location '/images/13268_f8d0b3b7.swf'
2007-09-03 03:33:27 NetStreamRequest::Open(68): Opening protocol 'http://' host '<servername>' port 80 location '/images/13269_63f36005.swf'
2007-09-03 03:33:27 NetStreamRequest::Open(69): Opening protocol 'http://' host '<servername>' port 80 location '/images/13270_1b610d42.swf'
2007-09-03 03:33:30 NetStreamRequest::Open(70): Opening protocol 'http://' host '<servername>' port 80 location '/images/13271_6d885f10.swf'
2007-09-03 03:33:33 NetStreamRequest::Step(70) done, closing stream (325091 of 325091 bytes, avail=0)
2007-09-03 03:33:33 NetStreamRequest::Open(71): Opening protocol 'http://' host '<servername>' port 80 location '/images/13272_cbc60f53.swf'
2007-09-03 03:33:33 NetStreamRequest::Open(72): Opening protocol 'http://' host '<servername>' port 80 location '/images/13261_73171eed.swf'
2007-09-03 03:33:35 NetStreamRequest::Step(72) done, closing stream (166334 of 166334 bytes, avail=0)
2007-09-03 03:33:35 NetStreamRequest::Step(71) done, closing stream (211563 of 211563 bytes, avail=0)
2007-09-03 03:33:36 NetStreamRequest::Open(73): Opening protocol 'http://' host '<servername>' port 80 location '/images/13263_d17faefd.swf'
2007-09-03 03:33:38 NetStreamRequest::Step(73) done, closing stream (364691 of 364691 bytes, avail=0)
2007-09-03 03:33:38 NetStreamRequest::Open(74): Opening protocol 'http://' host '<servername>' port 80 location '/images/13264_667f3e0c.swf'
2007-09-03 03:33:38 NetStreamRequest::Open(75): Opening protocol 'http://' host '<servername>' port 80 location '/images/13265_1eec3aaf.swf'
2007-09-03 03:33:40 NetStreamRequest::Step(75) done, closing stream (332694 of 332694 bytes, avail=0)
2007-09-03 03:33:41 NetStreamRequest::Open(76): Opening protocol 'http://' host '<servername>' port 80 location '/images/13266_b49124f7.swf'
2007-09-03 03:33:43 NetStreamRequest::Open(77): Opening protocol 'http://' host '<servername>' port 80 location '/images/13267_663eb631.swf'
2007-09-03 03:33:44 NetStreamRequest::Step(76) done, closing stream (393465 of 393465 bytes, avail=0)
2007-09-03 03:33:44 NetStreamRequest::Open(78): Opening protocol 'http://' host '<servername>' port 80 location '/images/13268_f8d0b3b7.swf'
2007-09-03 03:33:44 NetStreamRequest::Open(79): Opening protocol 'http://' host '<servername>' port 80 location '/images/13269_63f36005.swf'
2007-09-03 03:33:45 HTTPObject::CheckCacheability() id=86 found cache entry 19 but capture is already in progress
2007-09-03 03:33:45 NetStreamRequest::Step(77) done, closing stream (478464 of 478464 bytes, avail=0)
2007-09-03 03:33:48 NetStreamRequest::Open(80): Opening protocol 'http://' host '<servername>' port 80 location '/images/13270_1b610d42.swf'
2007-09-03 03:33:48 NetStreamRequest::Open(81): Opening protocol 'http://' host '<servername>' port 80 location '/images/13271_6d885f10.swf'
2007-09-03 03:33:50 NetStreamRequest::Open(82): Opening protocol 'http://' host '<servername>' port 80 location '/images/13272_cbc60f53.swf'
2007-09-03 03:33:50 NetStreamRequest::Open(83): Opening protocol 'http://' host '<servername>' port 80 location '/images/13261_73171eed.swf'
2007-09-03 03:33:51 NetStreamRequest::Step(81) done, closing stream (325091 of 325091 bytes, avail=0)
2007-09-03 03:33:51 StreamObject::CancelURLStream(82) cancelling
2007-09-03 03:33:51 NetStreamRequest::Cancel(82)
2007-09-03 03:33:51 HTTPCacheEntry::Expire() - id=12, ref count == 1, cannot free this entry! (http://<servername>:80/images/13272_cbc60f53.swf)
2007-09-03 03:33:54 NetStreamRequest::Step(83) done, closing stream (166334 of 166334 bytes, avail=0)
2007-09-03 03:34:21 SI_NotifyError(0x1a347c): Error 4 (FI_ActionScriptStuckError)
2007-09-03 03:34:22 SI_NotifyError: Terminating player, stuck instance 1 is not slave instance
2007-09-03 03:34:32 ClientObject::DoUpdate(): got FI_ActionScriptInterruptedByTimeoutWithError
2007-09-03 03:34:37 ClientObject::MainLoop() - deleting master 001a2e20 (with its dependents)
chumbpipe exiting normally
Killed
chumby:~# chumbyflashplayer.x -i /usr/widgets/controlpanel.swf

Re: Crashing Flash Player

Ok, I will track memory usage. Thanks,


Bakassi

7 (edited by bakassi 2007-09-02 12:18:24)

Re: Crashing Flash Player

Duane,

In the log bellow, things went fine for 217 movie loads, the memory usage of the flash player was always between 20% and 25%. But as the few ::Cancel calls start to be made, memory usage of the player quickly goes above 90%, and it crashes with about a 1mb of free memory left on the Chumby. As always I get related events in the webserver logs.

Over the next couple of days, I will get the widget to hit webservers outside of my development environment, which might offer a cleaner path between the Chumby and the files, and see if it makes any difference.

Any other suggestion? Thank you,


Bakassi


Here is the related log:

2007-09-03 04:54:53 NetStreamRequest::Open(217): Opening protocol 'http://' host '<servername>' port 80 location '/images/13261_73171eed.swf'
2007-09-03 04:54:54 NetStreamRequest::Step(217) done, closing stream (166334 of 166334 bytes, avail=0)
2007-09-03 04:54:58 NetStreamRequest::Open(218): Opening protocol 'http://' host '<servername>' port 80 location '/images/13263_d17faefd.swf'
2007-09-03 04:55:03 NetStreamRequest::Open(219): Opening protocol 'http://' host '<servername>' port 80 location '/images/13264_667f3e0c.swf'
2007-09-03 04:55:08 NetStreamRequest::Step(218) done, closing stream (364691 of 364691 bytes, avail=0)
2007-09-03 04:55:08 NetStreamRequest::Open(220): Opening protocol 'http://' host '<servername>' port 80 location '/images/13265_1eec3aaf.swf'
2007-09-03 04:55:13 NetStreamRequest::Open(221): Opening protocol 'http://' host '<servername>' port 80 location '/images/13266_b49124f7.swf'
2007-09-03 04:55:18 NetStreamRequest::Open(222): Opening protocol 'http://' host '<servername>' port 80 location '/images/13267_663eb631.swf'
2007-09-03 04:55:19 NetStreamRequest::Step(220) done, closing stream (332694 of 332694 bytes, avail=0)
2007-09-03 04:55:21 NetStreamRequest::Step(219) done, closing stream (325029 of 325029 bytes, avail=0)
2007-09-03 04:55:21 StreamObject::CancelURLStream(221) cancelling
2007-09-03 04:55:21 NetStreamRequest::Cancel(221)
2007-09-03 04:55:21 HTTPCurlObject::Cancel(id=270) removing handle 006923f8 from multihandle
2007-09-03 04:55:21 HTTPCurlObject::Cancel() id=270 cancel forces expiration of cache entry 48!
2007-09-03 04:55:24 NetStreamRequest::Open(223): Opening protocol 'http://' host '<servername>' port 80 location '/images/13268_f8d0b3b7.swf'
2007-09-03 04:55:25 NetStreamRequest::Step(223) done, closing stream (533114 of 533114 bytes, avail=0)
2007-09-03 04:55:25 StreamObject::CancelURLStream(222) cancelling
2007-09-03 04:55:25 NetStreamRequest::Cancel(222)
2007-09-03 04:55:25 HTTPCurlObject::Cancel(id=271) removing handle 00682760 from multihandle
2007-09-03 04:55:25 HTTPCurlObject::Cancel() id=271 cancel forces expiration of cache entry 9!
2007-09-03 04:55:26 NetStreamRequest::Open(224): Opening protocol 'http://' host '<servername>' port 80 location '/images/13269_63f36005.swf'
2007-09-03 04:55:27 NetStreamRequest::Step(224) done, closing stream (286129 of 286129 bytes, avail=0)
2007-09-03 04:55:29 NetStreamRequest::Open(225): Opening protocol 'http://' host '<servername>' port 80 location '/images/13270_1b610d42.swf'
2007-09-03 04:55:30 NetStreamRequest::Step(225) done, closing stream (213680 of 213680 bytes, avail=0)
2007-09-03 04:55:31 NetStreamRequest::Open(226): Opening protocol 'http://' host '<servername>' port 80 location '/images/13271_6d885f10.swf'
2007-09-03 04:55:32 NetStreamRequest::Step(226) done, closing stream (325091 of 325091 bytes, avail=0)
2007-09-03 04:55:34 NetStreamRequest::Open(227): Opening protocol 'http://' host '<servername>' port 80 location '/images/13272_cbc60f53.swf'
2007-09-03 04:55:35 NetStreamRequest::Step(227) done, closing stream (211563 of 211563 bytes, avail=0)
2007-09-03 04:55:36 NetStreamRequest::Open(228): Opening protocol 'http://' host '<servername>' port 80 location '/images/13261_73171eed.swf'
2007-09-03 04:55:38 NetStreamRequest::Step(228) done, closing stream (166334 of 166334 bytes, avail=0)
2007-09-03 04:55:39 NetStreamRequest::Open(229): Opening protocol 'http://' host '<servername>' port 80 location '/images/13263_d17faefd.swf'
2007-09-03 04:55:40 NetStreamRequest::Step(229) done, closing stream (364691 of 364691 bytes, avail=0)
2007-09-03 04:55:42 NetStreamRequest::Open(230): Opening protocol 'http://' host '<servername>' port 80 location '/images/13264_667f3e0c.swf'
2007-09-03 04:55:44 NetStreamRequest::Step(230) done, closing stream (325029 of 325029 bytes, avail=0)
2007-09-03 04:55:45 NetStreamRequest::Open(231): Opening protocol 'http://' host '<servername>' port 80 location '/images/13265_1eec3aaf.swf'
2007-09-03 04:55:45 NetStreamRequest::Step(231) done, closing stream (332694 of 332694 bytes, avail=0)
2007-09-03 04:55:47 NetStreamRequest::Open(232): Opening protocol 'http://' host '<servername>' port 80 location '/images/13266_b49124f7.swf'
2007-09-03 04:55:50 NetStreamRequest::Open(233): Opening protocol 'http://' host '<servername>' port 80 location '/images/13267_663eb631.swf'
2007-09-03 04:55:52 NetStreamRequest::Open(234): Opening protocol 'http://' host '<servername>' port 80 location '/images/13268_f8d0b3b7.swf'
2007-09-03 04:55:55 NetStreamRequest::Open(235): Opening protocol 'http://' host '<servername>' port 80 location '/images/13269_63f36005.swf'
2007-09-03 04:55:57 NetStreamRequest::Open(236): Opening protocol 'http://' host '<servername>' port 80 location '/images/13270_1b610d42.swf'
2007-09-03 04:55:58 NetStreamRequest::Step(236) done, closing stream (213680 of 213680 bytes, avail=0)
2007-09-03 04:56:00 NetStreamRequest::Open(237): Opening protocol 'http://' host '<servername>' port 80 location '/images/13271_6d885f10.swf'
2007-09-03 04:56:01 NetStreamRequest::Step(237) done, closing stream (325091 of 325091 bytes, avail=0)
2007-09-03 04:56:03 NetStreamRequest::Open(238): Opening protocol 'http://' host '<servername>' port 80 location '/images/13272_cbc60f53.swf'
2007-09-03 04:56:04 NetStreamRequest::Step(238) done, closing stream (211563 of 211563 bytes, avail=0)
2007-09-03 04:56:06 NetStreamRequest::Open(239): Opening protocol 'http://' host '<servername>' port 80 location '/images/13261_73171eed.swf'
2007-09-03 04:56:08 NetStreamRequest::Step(239) done, closing stream (166334 of 166334 bytes, avail=0)
2007-09-03 04:56:08 NetStreamRequest::Open(240): Opening protocol 'http://' host '<servername>' port 80 location '/images/13263_d17faefd.swf'
2007-09-03 04:56:09 NetStreamRequest::Open(241): Opening protocol 'http://' host '<servername>' port 80 location '/images/13264_667f3e0c.swf'
2007-09-03 04:56:10 NetStreamRequest::Step(240) done, closing stream (364691 of 364691 bytes, avail=0)
2007-09-03 04:56:11 NetStreamRequest::Step(241) done, closing stream (325029 of 325029 bytes, avail=0)
2007-09-03 04:56:12 NetStreamRequest::Open(242): Opening protocol 'http://' host '<servername>' port 80 location '/images/13265_1eec3aaf.swf'
2007-09-03 04:56:13 NetStreamRequest::Open(243): Opening protocol 'http://' host '<servername>' port 80 location '/images/13266_b49124f7.swf'
2007-09-03 04:56:14 NetStreamRequest::Step(242) done, closing stream (332694 of 332694 bytes, avail=0)
2007-09-03 04:56:14 NetStreamRequest::Open(244): Opening protocol 'http://' host '<servername>' port 80 location '/images/13267_663eb631.swf'
2007-09-03 04:56:14 StreamObject::CancelURLStream(243) cancelling
2007-09-03 04:56:14 NetStreamRequest::Cancel(243)
2007-09-03 04:56:14 HTTPCacheEntry::Expire() - id=48, ref count == 1, cannot free this entry! (http://<servername>:80/images/13266_b49124f7.swf)
2007-09-03 04:56:16 NetStreamRequest::Step(244) done, closing stream (478464 of 478464 bytes, avail=0)
2007-09-03 04:56:17 NetStreamRequest::Open(245): Opening protocol 'http://' host '<servername>' port 80 location '/images/13268_f8d0b3b7.swf'
2007-09-03 04:56:18 HTTPObject::CheckCacheability() id=294 found cache entry 49 but capture is already in progress
2007-09-03 04:56:18 NetStreamRequest::Open(246): Opening protocol 'http://' host '<servername>' port 80 location '/images/13269_63f36005.swf'
2007-09-03 04:56:19 HTTPObject::CheckCacheability() id=295 found cache entry 50 but capture is already in progress
2007-09-03 04:56:19 NetStreamRequest::Open(247): Opening protocol 'http://' host '<servername>' port 80 location '/images/13270_1b610d42.swf'
2007-09-03 04:56:22 NetStreamRequest::Step(232) done, closing stream (393465 of 393465 bytes, avail=0)
2007-09-03 04:56:22 NetStreamRequest::Open(248): Opening protocol 'http://' host '<servername>' port 80 location '/images/13271_6d885f10.swf'
2007-09-03 04:56:24 NetStreamRequest::Open(249): Opening protocol 'http://' host '<servername>' port 80 location '/images/13272_cbc60f53.swf'
2007-09-03 04:56:25 NetStreamRequest::Open(250): Opening protocol 'http://' host '<servername>' port 80 location '/images/13261_73171eed.swf'
2007-09-03 04:56:26 NetStreamRequest::Step(249) done, closing stream (211563 of 211563 bytes, avail=0)
2007-09-03 04:56:27 NetStreamRequest::Step(250) done, closing stream (166334 of 166334 bytes, avail=0)
2007-09-03 04:56:28 NetStreamRequest::Open(251): Opening protocol 'http://' host '<servername>' port 80 location '/images/13263_d17faefd.swf'
2007-09-03 04:56:29 NetStreamRequest::Open(252): Opening protocol 'http://' host '<servername>' port 80 location '/images/13264_667f3e0c.swf'
2007-09-03 04:56:30 NetStreamRequest::Step(251) done, closing stream (364691 of 364691 bytes, avail=0)
2007-09-03 04:56:30 NetStreamRequest::Open(253): Opening protocol 'http://' host '<servername>' port 80 location '/images/13265_1eec3aaf.swf'
2007-09-03 04:56:30 StreamObject::CancelURLStream(252) cancelling
2007-09-03 04:56:30 NetStreamRequest::Cancel(252)
2007-09-03 04:56:30 HTTPCacheEntry::Expire() - id=46, ref count == 1, cannot free this entry! (http://<servername>:80/images/13264_667f3e0c.swf)
2007-09-03 04:56:33 NetStreamRequest::Step(253) done, closing stream (332694 of 332694 bytes, avail=0)
2007-09-03 04:56:34 NetStreamRequest::Open(254): Opening protocol 'http://' host '<servername>' port 80 location '/images/13266_b49124f7.swf'
2007-09-03 04:56:34 NetStreamRequest::Open(255): Opening protocol 'http://' host '<servername>' port 80 location '/images/13267_663eb631.swf'
2007-09-03 04:56:36 NetStreamRequest::Open(256): Opening protocol 'http://' host '<servername>' port 80 location '/images/13268_f8d0b3b7.swf'
2007-09-03 04:56:37 NetStreamRequest::Step(255) done, closing stream (478464 of 478464 bytes, avail=0)
2007-09-03 04:56:37 NetStreamRequest::Step(254) done, closing stream (393465 of 393465 bytes, avail=0)
2007-09-03 04:56:38 NetStreamRequest::Step(256) done, closing stream (533114 of 533114 bytes, avail=0)
2007-09-03 04:56:40 NetStreamRequest::Open(257): Opening protocol 'http://' host '<servername>' port 80 location '/images/13269_63f36005.swf'
2007-09-03 04:56:40 NetStreamRequest::Open(258): Opening protocol 'http://' host '<servername>' port 80 location '/images/13270_1b610d42.swf'
2007-09-03 04:56:41 HTTPObject::CheckCacheability() id=307 found cache entry 51 but capture is already in progress
2007-09-03 04:56:42 HTTPObject::CheckCacheability() id=306 found cache entry 50 but capture is already in progress
2007-09-03 04:56:47 ClientObject::DoUpdate(): got FI_ActionScriptInterruptedByTimeout {1x}
chumbpipe exiting normally
Killed
chumby:~#

Re: Crashing Flash Player

Is there any particular reason why you're loading these movies only seconds apart?

According to that log, you're loading 40 fairly large movies in about 2 minutes.

Re: Crashing Flash Player

Hello Duane,

- I am only working with about 15 movies right now
- It is a slideshow, so it cycles through the movies
- There isn't much more I can do about the size of the movies
- I load movies when showing them, and unload them when done (calling unloadMovie()), I assumed that the Chumby's cache would be able to cache those movies and not need to fetch them from the server each time...

Questions:
1) Are there performance issues that prevent the Chumby's to sequentially load and unload a large amount of content in relatively small windows of time? Memory usage was fine and constant for more than 200 loads before encountering the underlying bug...
2) How can the Chumby's cache be leveraged here? I could load all movies and keep them in Memory, that would probably be fine when I pin the widget, but in a Channel with multiple widgets cycling, that does not seem appropriate... what is the recommended usage pattern?

Thank you,


Bakassi

Re: Crashing Flash Player

Well, the first thing to keep in mind is that this is a Flash Lite embedded device, not a desktop, which means that memory is limited. While we do have an HTTP cache, it's limited to about 4MB total, for all content.

Most of the widgets we currently publish are on the order of 50K or so, so the cache can hold quite a few of them. Since your movies are so large (they seem to average about 300K each), they're quickly filling up the cache and purging older movies, which means that cache probably isn't doing much good for you.

There may indeed be a bug with the caching.  I'll be forwarding this thread the developer to see if he has any insight into what may be causing your memory explosion based on these logs.  He's out of town at the moment, but will be back in a week or so.

Re: Crashing Flash Player

I'll be waiting for his insight. Thank you,

Bakassi