Bug 12435

Summary: cpu hog loading explosm cartoon
Product: swfdec Reporter: Riccardo Magliocchetti <riccardo.magliocchetti>
Component: libraryAssignee: swfdec ml <swfdec>
Status: RESOLVED FIXED QA Contact: swfdec ml <swfdec>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: opreport log
opreport -l
opreport log
opreport -l log

Description Riccardo Magliocchetti 2007-09-15 08:05:37 UTC
I think there are an infinite loop or something similar while loading this 
http://explosm.net/movies/140/, i've tried with git 1d7a9186e3cd756bc8f9c9c727dbec0aba0d7e45

rm@eurasia:~$ firefox 
Unsupported movie property data with value "http://content.yieldmanager.edgesuite.net/2809/84482/931248022445a5acd46e97.swf?clickTag=http%3A%2F%2Fad%2E103092804%2Ecom%2Fclick%2CvggAAIlxAwAKWgEADYYAAAAAFAAAAAsAAQAHEQIABgNjpgMAaIcAACXLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFLy60YAAAAA%2C%2Chttp%253A%252F%252Fexplosm%2Enet%252Fmovies%252F140%252F%2C"
Unsupported movie property loop with value "false"
Unsupported movie property wmode with value "transparent"
Unsupported movie property PARAM with value "(null)"
Unsupported movie property wmode with value "transparent"
Unsupported movie property movie with value "http://content.yieldmanager.edgesuite.net/2809/84482/931248022445a5acd46e97.swf?clickTag=http%3A%2F%2Fad%2E103092804%2Ecom%2Fclick%2CvggAAIlxAwAKWgEADYYAAAAAFAAAAAsAAQAHEQIABgNjpgMAaIcAACXLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFLy60YAAAAA%2C%2Chttp%253A%252F%252Fexplosm%2Enet%252Fmovies%252F140%252F%2C"
unhandled event 19
Loading stream: http://content.yieldmanager.edgesuite.net/2809/84482/931248022445a5acd46e97.swf?clickTag=http%3A%2F%2Fad%2E103092804%2Ecom%2Fclick%2CvggAAIlxAwAKWgEADYYAAAAAFAAAAAsAAQAHEQIABgNjpgMAaIcAACXLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFLy60YAAAAA%2C%2Chttp%253A%252F%252Fexplosm%2Enet%252Fmovies%252F140%252F%2C
Loading stream: http://www.explosm.net/db/files/Movies/theseashell.swf
unhandled event 19
SWFDEC: WARN : swfdec_swf_decoder.c(343): swfdec_swf_decoder_parse: tag function not implemented for 73 DefineFontAlignZones
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_swf_decoder.c(343): swfdec_swf_decoder_parse: tag function not implemented for 84 DefineMorphShape2
SWFDEC: WARN : swfdec_swf_decoder.c(343): swfdec_swf_decoder_parse: tag function not implemented for 73 DefineFontAlignZones
SWFDEC: WARN : swfdec_swf_decoder.c(343): swfdec_swf_decoder_parse: tag function not implemented for 73 DefineFontAlignZones
SWFDEC: WARN : swfdec_swf_decoder.c(343): swfdec_swf_decoder_parse: tag function not implemented for 73 DefineFontAlignZones
SWFDEC: WARN : swfdec_swf_decoder.c(343): swfdec_swf_decoder_parse: tag function not implemented for 74 CSMTextSettings
SWFDEC: WARN : swfdec_filter.c(76): swfdec_filter_parse:     blur
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow

this last line is repeated until i close firefox
Comment 1 Pekka Lampila 2007-09-29 07:19:38 UTC
The movie plays fine for me (same git version), but it does take huge amount of CPU time
Comment 2 Riccardo Magliocchetti 2007-09-29 08:41:54 UTC
I find easier to reproduce the problem clicking on play before the page is fully loaded by the browser, you will see the load bar in the flash movie and it will stay there until stopped.
Comment 3 Riccardo Magliocchetti 2007-10-14 08:15:59 UTC
With git 04c37ddd61e7e3f899e1f5dc534acf2630538b3f same high cpu load when loading the movie but it loads fine. I'm attaching the output of opreport and opreport -l which shows the culprit, unfortunately i have no symbols for cairo. Will try to get these too.

rm@eurasia:~$ ./swfdec/swfdec/player/swfplay http://www.explosm.net/db/files/Movies/theseashell.swf
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 1 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 3 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 4 has no path
SWFDEC: WARN : swfdec_swf_decoder.c(341): swfdec_swf_decoder_parse: tag function not implemented for 73 DefineFontAlignZones
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 0 has no path
SWFDEC: WARN : swfdec_shape_parser.c(293): swfdec_shape_parser_finish: linestyle 0 has no path
SWFDEC: WARN : swfdec_shape_parser.c(293): swfdec_shape_parser_finish: linestyle 1 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 0 has no path
SWFDEC: WARN : swfdec_shape_parser.c(293): swfdec_shape_parser_finish: linestyle 0 has no path
SWFDEC: WARN : swfdec_shape_parser.c(293): swfdec_shape_parser_finish: linestyle 1 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 0 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 1 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 2 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 3 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 5 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 6 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 7 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 8 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 9 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 0 has no path
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 1 has no path
SWFDEC: WARN : swfdec_swf_decoder.c(341): swfdec_swf_decoder_parse: tag function not implemented for 84 DefineMorphShape2
SWFDEC: WARN : swfdec_shape_parser.c(279): swfdec_shape_parser_finish: fillstyle 0 has no path
SWFDEC: WARN : swfdec_shape_parser.c(293): swfdec_shape_parser_finish: linestyle 0 has no path
SWFDEC: WARN : swfdec_filter.c(76): swfdec_filter_parse:     blur
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
SWFDEC: WARN : swfdec_swf_decoder.c(341): swfdec_swf_decoder_parse: tag function not implemented for 73 DefineFontAlignZones
SWFDEC: WARN : swfdec_swf_decoder.c(341): swfdec_swf_decoder_parse: tag function not implemented for 73 DefineFontAlignZones
SWFDEC: WARN : swfdec_shape_parser.c(293): swfdec_shape_parser_finish: linestyle 1 has no path
SWFDEC: WARN : swfdec_shape_parser.c(293): swfdec_shape_parser_finish: linestyle 2 has no path
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
SWFDEC: WARN : swfdec_filter.c(80): swfdec_filter_parse:     glow
SWFDEC: WARN : swfdec_as_interpret.c(560): swfdec_player_get_movie_from_value: "_level0.instance2.bar" does not reference a movie
Comment 4 Riccardo Magliocchetti 2007-10-14 08:17:40 UTC
Created attachment 12036 [details]
opreport log
Comment 5 Riccardo Magliocchetti 2007-10-14 08:18:15 UTC
Created attachment 12037 [details]
opreport -l
Comment 6 Riccardo Magliocchetti 2007-10-15 12:29:28 UTC
Created attachment 12055 [details]
opreport log

Redone the profiling with cairo symbols
Comment 7 Riccardo Magliocchetti 2007-10-15 12:30:02 UTC
Created attachment 12056 [details]
opreport -l log
Comment 8 Pavel Roskin 2008-01-22 14:32:03 UTC
Seems to be fixed now.
Comment 9 Riccardo Magliocchetti 2008-01-22 23:05:21 UTC
Still an issue here, Pavel maybe do you have it in the browser cache?
Comment 10 Pavel Roskin 2008-01-23 09:49:16 UTC
No, it's actually loading.  It is a CPU hog, but it plays to the end.  I think I misinterpreted "infinite loop" in the description.  I don't see anything infinite.
Comment 11 Riccardo Magliocchetti 2008-01-24 11:14:41 UTC
The "infinite loop" was a wrong expression of mine, the problem here is that it takes lot of cpu time to load.
Comment 12 Riccardo Magliocchetti 2008-04-11 09:30:26 UTC
It loads very fast with latest git, still high on cpu while playing but from profiling there's no trace of swfdec over 1%, mostly cairo and pixman.
I'd like to wait closing this until i've been able to profile with cairo 1.6.0.
Comment 13 Riccardo Magliocchetti 2008-04-16 13:57:52 UTC
With cairo 1.6.4 i got roughly 10% less samples, cairo + pixman goes from ~66% to ~56% :)

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.