bugGnash - The GNU Flash player - Bugs: bug #20527, video that worked in 0.7.2 hangs...

 
 

bug #20527: video that worked in 0.7.2 hangs browser in 0.8.0

Submitted by:  Tom Uffner <uffner>
Submitted on:  Thu 19 Jul 2007 12:53:55 AM UTC  
 
Category: videoSeverity: 5 - Blocker
Release: NoneStatus: Works For Me
Privacy: PublicAssigned to: Sandro Santilli <strk>
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Tue 24 Jul 2007 11:55:00 PM UTC, comment #18:

Yes please, do so.
Would also be interesting to figure out which commit did introduce this problem.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Tue 24 Jul 2007 11:53:38 PM UTC, comment #17:

Perhaps I should open a new bug for the __gnu_cxx::__concurrence_lock_error. It is not exclusive to the "Hope" animation.

I seem to get it with about half of the flash objects my browser encounters when I am using HEAD including many pages on Yahoo & Google, and adds on some of the comic strips I read.

My instances of 0.7.2 and 0.8.0 were built with the same compiler, and AFAICT they do not raise this exception.

Tom Uffner <uffner>
Tue 24 Jul 2007 08:16:26 PM UTC, comment #16:

I've never heard of this __gnu_cxx::__concurrence_lock_error exception, that's why I'm asking. It seems to come from a singleton instance, maybe two threads are concurrently trying to initialize the singleton..

Sandro Santilli <strk>
Project MemberIn charge of this item.
Tue 24 Jul 2007 06:52:50 PM UTC, comment #15:

my base system compiler that these programs and most of their dependencies were built with is gcc 4.2:

[xiombarg#:~:ttyp1] cc -v
Using built-in specs.
Target: i386-undermydesk-freebsd
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 4.2.0 20070514 [FreeBSD]

I also have gcc 3.4 available, but haven't tried it because none of these apps seem to have any of the code features that make 4.2 generate illegal instructions.

[xiombarg#:~:ttyp1] /usr/local/bin/gcc34 -v
Reading specs from /usr/local/lib/gcc/i386-portbld-freebsd7.0/3.4.6/gcc/i386-portbld-freebsd7.0/3.4.6/specs
Configured with: ./..//gcc-3.4.6/configure --disable-nls --with-system-zlib --with-libiconv-prefix=/usr/local --program-suffix=34 --libdir=/usr/local/lib/gcc/i386-portbld-freebsd7.0/3.4.6 --with-gxx-include-dir=/usr/local/lib/gcc/i386-portbld-freebsd7.0/3.4.6/include/c++/ --infodir=/usr/local/info/gcc34 --prefix=/usr/local i386-portbld-freebsd7.0
Thread model: posix
gcc version 3.4.6 [FreeBSD]

I will try w/ AGG as soon as possible, probably this evening.

Tom Uffner <uffner>
Tue 24 Jul 2007 04:25:42 PM UTC, comment #14:

Also, what compiler are you using ?

Sandro Santilli <strk>
Project MemberIn charge of this item.
Tue 24 Jul 2007 01:56:15 PM UTC, comment #13:

Tom, try please try with AGG renderer (--enable-renderer=agg)

Sandro Santilli <strk>
Project MemberIn charge of this item.
Tue 24 Jul 2007 01:26:45 PM UTC, comment #12:

I committed a patch that fixes the mask problem (not the main reason for this bug item).

The patch makes sure that display() never calls begin_submit_mask() twice before calling destroy_mask() no matter what strange values the movie might contain.

Udo Giacomozzi <udog>
Project Member
Tue 24 Jul 2007 12:51:22 PM UTC, comment #11:

The movie plays fine for me with AGG and current HEAD when played stand-alone (tried from hard disk and from URL). Can't try with Firefox.

I confirm the "warning: rendering ended while masks were still active" message and the rendering looks strange in that part of the movie. Sounds like a malformed SWF altough proprietary player can handle it fine. I notice slight rendering problems with PP in the last scene (look at the word "Hope").

Udo Giacomozzi <udog>
Project Member
Tue 24 Jul 2007 02:03:48 AM UTC, comment #10:

Gnash cvs
Copyright (C) 2005-2007 Free Software Foundation, Inc.
Gnash comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of Gnash under the terms of the GNU General
Public License. For more information, see the file named COPYING.
Build options cvs
Target:
Renderer: ogl GUI: GTK Media handler: ffmpeg
Configured with: --libdir=/usr/local/lib/gnash --with-plugindir=/usr/local/lib/browser_plugins --enable-jpeg --disable-klash --disable-cygnal --enable-gui=GTK --enable-sound=SDL --with-mp3-decoder=mad --x-libraries=/usr/local/lib --x-includes=/usr/local/include --prefix=/usr/local --build=i386-portbld-freebsd7.0
Ffmpeg version is: Lavc51.40.4

updated from savannah CVS at Mon Jul 23 19:45:07 EDT 2007

Tom Uffner <uffner>
Tue 24 Jul 2007 01:33:19 AM UTC, comment #9:

BTW, I get these warnings which are likely of interest for UdoG.
warning: rendering ended while masks were still active

Sandro Santilli <strk>
Project MemberIn charge of this item.
Tue 24 Jul 2007 01:26:54 AM UTC, comment #8:

This is interesting. What's your configuration ? (gnash --version)

Sandro Santilli <strk>
Project MemberIn charge of this item.
Tue 24 Jul 2007 12:42:50 AM UTC, comment #7:

Comment #6 was w/ v0.8.0

With HEAD I now get the following error:

xEmbed supported in this Mozilla version
Gtk2+ supported in this Mozilla version
NewStream: The full URL is http://www.stargazer-lily.com/ART04/JLoSong.swf
Forked sucessfully, child process PID is Closed 8365038
files.
Starting process: /usr/local/bin/gnash -v -x 16780820 -j 720 -k 480 -u http://www.stargazer-lily.com/ART04/JLoSong.swf -U http://www.stargazer-lily.com/jlosong.html -P height=480 -P pluginspage=http://www.macromedia.com/go/getflashplayer -P quality=high -P src=ART04/JLoSong.swf -P type=application/x-shockwave-flash -P width=720 -
83650] 20:30:23: Verbose output turned on
83650] 20:30:23: Setting width to 720
83650] 20:30:23: Setting height to 480
83650] 20:30:23: Setting root URL to http://www.stargazer-lily.com/ART04/JLoSong.swf
83650] 20:30:23: Setting base URL to http://www.stargazer-lily.com/jlosong.html
83650] 20:30:23: No rendering flags specified, using rcfile
83650] 20:30:24: OpenGL extension version - 1.2
83650] 20:30:24: Got double-buffered visual.
83650] 20:30:24: Created XEmbedded window
83650] 20:30:24: Base url set to: http://www.stargazer-lily.com/jlosong.html
83650] 20:30:24: ERROR: *** no tag loader for type 160 (movie)
83650] 20:30:24: ERROR: *** no tag loader for type 160 (movie)
terminate called after throwing an instance of '__gnu_cxx::__concurrence_lock_error'
what(): __gnu_cxx::__concurrence_lock_error
Child process exited with status 134

(gdb) bt
#0 0x2832b0e3 in kill () from /lib/libc.so.7
#1 0x2832b042 in raise () from /lib/libc.so.7
#2 0x2832908c in abort () from /lib/libc.so.7
#3 0x28191d70 in __gnu_cxx::__verbose_terminate_handler ()
from /usr/lib/libstdc++.so.6
#4 0x28196cfe in std::set_unexpected () from /usr/lib/libstdc++.so.6
#5 0x2819768a in __gxx_personality_v0 () from /usr/lib/libstdc++.so.6
#6 0x28197431 in __gxx_personality_v0 () from /usr/lib/libstdc++.so.6
#7 0x2822458b in _Unwind_Backtrace () from /lib/libgcc_s.so.1
#8 0x28224ced in _Unwind_RaiseException () from /lib/libgcc_s.so.1
#9 0x28196c4d in __cxa_throw () from /usr/lib/libstdc++.so.6
#10 0x281ae29f in __cxa_guard_acquire () from /usr/lib/libstdc++.so.6
#11 0x29f4dd7d in gnash::SWF::SWFHandlers::instance () at ASHandlers.cpp:442
#12 0x29f5a041 in gnash::ActionExec::operator() (this=0xbfbfdc44)
at ActionExec.cpp:142
#13 0x29e430d6 in gnash::sprite_instance::execute_action (this=0x2cd8f330,
ab=@0x2cdd24c4) at sprite_instance.cpp:2484
#14 0x29e4314b in gnash::sprite_instance::execute_actions (this=0x2cd8f330,
action_list=@0x2cd8f410) at sprite_instance.cpp:105
#15 0x29e4325e in gnash::sprite_instance::do_actions (this=0x2cd8f330)
at sprite_instance.cpp:1921
#16 0x29e43d71 in gnash::sprite_instance::advance_sprite (this=0x2cd8f330,
delta_time=1) at sprite_instance.cpp:2408
#17 0x29e32b49 in gnash::movie_instance::advance (this=0x2cd8f330,
delta_time=1) at movie_instance.cpp:88
#18 0x29e32fa6 in gnash::movie_root::advanceMovie (this=0x2ae50f80,
movie=@0xbfbfde1c, delta_time=1) at movie_root.cpp:1194
#19 0x29e333d6 in gnash::movie_root::advanceAllLevels (this=0x2ae50f80,
delta_time=1) at movie_root.cpp:1182
#20 0x29e35662 in gnash::movie_root::advance (this=0x2ae50f80, delta_time=1)
at movie_root.cpp:655
#21 0x28ffdf38 in gnash::Gui::advance_movie (gui=0x2ae15080) at gui.cpp:485
#22 0x29897f88 in g_timeout_dispatch (source=0x2c94c9c0,
callback=0x28ffdebe <gnash::Gui::advance_movie(gnash::Gui*)>,
user_data=0x2ae15080) at gmain.c:3422
#23 0x29897a44 in IA__g_main_context_dispatch (context=0x2ae158d0)
at gmain.c:2045
#24 0x2989a714 in g_main_context_iterate (context=0x2ae158d0, block=1,
dispatch=1, self=0x2ae594c0) at gmain.c:2677
#25 0x2989aae3 in IA__g_main_loop_run (loop=0x2cdc4e20) at gmain.c:2881
#26 0x2922a302 in IA__gtk_main () at gtkmain.c:1154
#27 0x2811bdd5 in gnash::GtkGui::run (this=0x2ae15080) at gtk.cpp:357
#28 0x281173a7 in gnash::Player::run (this=0xbfbfe130, argc=25,
argv=0xbfbfe1c8, infile=0xbfbfe4c0 "-",
url=0xbfbfe3bd "http://www.stargazer-lily.com/ART04/JLoSong.swf")
at Player.cpp:376
#29 0x0804bb53 in main (argc=25, argv=0xbfbfe1c8) at gnash.cpp:408
(gdb) info threads

  • 2 Thread 0x2ae01100 (LWP 100197) 0x2832b0e3 in kill () from /lib/libc.so.7

1 Thread 0x2ae7f400 (LWP 100154) 0x2832ebef in read () from /lib/libc.so.7
(gdb)

Tom Uffner <uffner>
Tue 24 Jul 2007 12:26:21 AM UTC, comment #6:

How can I test this? i have no resource limits set, and my system does not appear to be out of memory. nor do gnash or seamonkey seem to be using unusually large amounts.

[xiombarg:~:ttyp5] limit
cputime unlimited
filesize unlimited
datasize 524288 kbytes
stacksize 65536 kbytes
coredumpsize unlimited
memoryuse unlimited
vmemoryuse unlimited
descriptors 10951
memorylocked unlimited
maxproc 5475
sbsize unlimited

last pid: 51391; load averages: 1.20, 1.44, 1.19 up 9+02:37:23 20:16:07
106 processes: 5 running, 100 sleeping, 1 stopped
CPU states: 79.4% user, 0.0% nice, 18.3% system, 2.3% interrupt, 0.0% idle
Mem: 336M Active, 171M Inact, 146M Wired, 19M Cache, 86M Buf, 72M Free
Swap: 493M Total, 219M Used, 273M Free, 44% Inuse

PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
51390 root 1 123 0 72244K 66252K RUN 0:04 68.36% cc1plus
1000 root 1 98 0 58852K 24588K RUN 157:26 4.25% Xorg
48055 tom 1 97 0 74724K 22236K select 0:06 1.95% gnash
47043 tom 5 8 0 390M 32924K nanslp 215:24 1.61% xmms
51215 root 1 8 0 3820K 1720K wait 0:00 1.10% sh
770 mysql 10 96 0 59824K 2608K ucond 8:46 0.00% mysqld
98784 tom 2 96 0 5476K 1504K select 4:13 0.00% osd_clock
98788 tom 1 96 0 17876K 4388K select 2:09 0.00% pppload
454 root 1 96 0 3532K 148K select 2:08 0.00% moused
771 root 1 96 0 9728K 6664K select 1:51 0.00% perl
98781 tom 1 96 0 7248K 2852K select 1:06 0.00% xterm
721 root 1 96 0 5088K 1124K select 1:01 0.00% ntpd
870 root 1 8 0 17828K 1128K nanslp 0:41 0.00% httpd
351 _pflogd 1 -58 0 3604K 752K bpf 0:41 0.00% pflogd
99211 tom 1 96 0 7248K 2832K select 0:40 0.00% xterm
98782 tom 1 96 0 9296K 2216K select 0:36 0.00% xterm
20729 tom 1 96 0 7248K 2852K select 0:36 0.00% xterm
4834 tom 1 96 0 7248K 2668K select 0:36 0.00% xterm
893 root 1 96 0 6296K 1048K select 0:29 0.00% sendmail
4842 tom 1 96 0 8272K 2632K select 0:22 0.00% xterm
98791 tom 1 96 0 5588K 1372K select 0:21 0.00% ctwm
47470 tom 5 96 0 80888K 51036K RUN 0:06 0.00% seamonkey-bin
904 root 1 8 0 3476K 412K nanslp 0:03 0.00% cron

Tom Uffner <uffner>
Mon 23 Jul 2007 11:31:11 PM UTC, comment #5:

Oops, sorry, while I was writing the followup the movie reached the target frame and started playing. So it is actually working for me,
just maybe a bit slower. Your problem is surely the out-of-memory condition.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Mon 23 Jul 2007 11:29:43 PM UTC, comment #4:

I confirm 0.7.2 works, altought it takes is a bit unresponsive during parsing (likely due to big sprite definitions).
Both animation and sound work with 0.7.2 gtk/agg/sdl/mad.

The initial loading uses a WaitForFrame tag. I belive in 0.7.2 this was actually waiting for the target load, while in head we support the "jump" parameter of the tag (so you see a rotating thing while waiting).

This bug might be related to bug #19727.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Mon 23 Jul 2007 11:22:52 PM UTC, comment #3:

90150] 15:44:14: ERROR: Parsing exception: std::bad_alloc

The above error is likely due to an end of memory condition.
I'm building 0.7.2 to compare.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Thu 19 Jul 2007 08:47:54 PM UTC, comment #2:

OK, I meant animation, not video. I am not an expert on flash. Whatever this thing should be called, it played on 0.7.2; it does not work w/ 0.8.0 or HEAD. same behavior as described, slightly less DEBUG output from HEAD.

[xiombarg:~:ttyp5] gnash --version
Gnash cvs20070719
Copyright (C) 2005-2007 Free Software Foundation, Inc.
Gnash comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of Gnash under the terms of the GNU General
Public License. For more information, see the file named COPYING.
Build options cvs20070719
Target:
Renderer: opengl GUI: gtk Media handler: gst
Configured with:
Gstreamer version is: 0.10.13.[xiombarg:~:ttyp5]

[xiombarg:~:ttyp5] seamonkey
xEmbed supported in this Mozilla version
Gtk2+ supported in this Mozilla version
NewStream: The full URL is http://www.stargazer-lily.com/ART04/JLoSong.swf
Closed 38files.
Forked sucessfully, child process PID is 90150
Starting process: /usr/local/bin/gnash -v -x 16782100 -j 720 -k 480 -u http://www.stargazer-lily.com/ART04/JLoSong.swf -U http://www.stargazer-lily.com/jlosong.html -P height=480 -P pluginspage=http://www.macromedia.com/go/getflashplayer -P quality=high -P src=ART04/JLoSong.swf -P type=application/x-shockwave-flash -P width=720 -
90150] 15:44:12: Verbose output turned on
90150] 15:44:12: Setting width to 720
90150] 15:44:12: Setting height to 480
90150] 15:44:12: Setting root URL to http://www.stargazer-lily.com/ART04/JLoSong.swf
90150] 15:44:12: Setting base URL to http://www.stargazer-lily.com/jlosong.html
90150] 15:44:12: No rendering flags specified, using rcfile
90150] 15:44:13: OpenGL extension version - 1.2
90150] 15:44:13: Got double-buffered visual.
90150] 15:44:13: Created XEmbedded window
90150] 15:44:13: Base url set to: http://www.stargazer-lily.com/jlosong.html
90150] 15:44:14: ERROR: *** no tag loader for type 766 (movie)
90150] 15:44:14: ERROR: Parsing exception: std::bad_alloc
90150] 15:47:10: DEBUG: static gboolean gnash::GtkGui::delete_event(GtkWidget, GdkEvent, void*) enter
Main loop ended, cleaning up
Any segfault past this message is likely due to improper threads cleanup.
The application 'Gecko' lost its connection to the display :0.0;
most likely the X server was shut down or you killed/destroyed
the application.
5.275u 0.730s 4:47.01 2.0% 269+798k 5+4io 0pf+0w

0x282a4e23 in poll () from /lib/libc.so.7
(gdb) bt
#0 0x282a4e23 in poll () from /lib/libc.so.7
#1 0x281016f7 in poll () from /lib/libthr.so.3
#2 0x28747747 in g_main_context_iterate (context=0x2a5578d0, block=1,
dispatch=1, self=0x2a511040) at gmain.c:2979
#3 0x28747ae3 in IA__g_main_loop_run (loop=0x2c4f3230) at gmain.c:2881
#4 0x28ae2302 in IA__gtk_main () at gtkmain.c:1154
#5 0x29389385 in gnash::GtkGui::run (this=0x2a557080) at gtk.cpp:357
#6 0x280fa112 in gnash::Player::run (this=0xbfbfe128, argc=25,
argv=0xbfbfe1c8, infile=0xbfbfe4c0 "-",
url=0xbfbfe3bd "http://www.stargazer-lily.com/ART04/JLoSong.swf")
at Player.cpp:376
#7 0x0804a70d in main ()
(gdb) info threads

  • 1 Thread 0x2a501100 (LWP 100200) 0x282a4e23 in poll () from /lib/libc.so.7

(gdb) q
The program is running. Quit anyway (and detach it)? (y or n) y
Detaching from program: /usr/local/bin/gnash, process 90150

Tom Uffner <uffner>
Thu 19 Jul 2007 03:02:40 AM UTC, comment #1:

0.7.2 did not support video at all AFAIKT. I can belive 0.8.0 has stability problems with it (seems a deadlock in this case).
Can you try with head and include output of gnash --version ?

Sandro Santilli <strk>
Project MemberIn charge of this item.
Thu 19 Jul 2007 12:53:55 AM UTC, original submission:

platform info:
FreeBSD 7.0-CURRENT #192: Sat Jul 14 03:47:12 EDT 2007

Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.4) Gecko/20070714 SeaMonkey/1.1.2

Gnash 0.8.0 (config.log at http://www.uffner.com/test/gnash/config.log)
installed ports that gnash depends upon: http://www.uffner.com/test/gnash/gnash-depends.txt

aside from a few minor graphical artifacts (the most noticeable being an extraneous rectangle drawn across the mag wheels), this
video http://www.stargazer-lily.com/jlosong.html worked fine in
gnash 0.7.2, but causes seamonkey and firefox to hang w/ 0.8.0

the first frame displays, and says "video loading" and then the browser becomes completely nonresponsive, and has to be killed.
gnash is not spinning, it's cpu usage slowly drops to near zero and gdb indicates that it is waiting in poll().

note that this video has out of sync audio & video and often starts over instead of ending even in Flash 9.0r45/Firefox 2.0.0.4/Win2k

attached are the debug output from gnash and a gdb backtrace of the point where it hangs.

Tom Uffner <uffner>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #13388:  gnash-jlosong.log added by uffner (2KiB - application/octet-stream)
file #13389:  gnash-jlosong-gdb.txt added by uffner (10KiB - text/plain)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by udog (Posted a comment)
  • -unavailable- added by strk (Posted a comment)
  • -unavailable- added by uffner (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 9 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 31 Jul 2007 02:12:03 PM UTCstrkOpen/ClosedOpen=>Closed
    Tue 24 Jul 2007 01:33:19 AM UTCstrkCarbon-Copy-=>Added udog
    Mon 23 Jul 2007 11:31:11 PM UTCstrkStatusNone=>Works For Me
      Assigned toNone=>strk
    Mon 23 Jul 2007 11:29:43 PM UTCstrkCarbon-Copy-=>Added zoulunkai
    Mon 23 Jul 2007 11:18:56 PM UTCstrkSeverity3 - Normal=>5 - Blocker
    Thu 19 Jul 2007 12:53:55 AM UTCuffnerAttached File-=>Added gnash-jlosong.log, #13388
      Attached File-=>Added gnash-jlosong-gdb.txt, #13389
      Carbon-Copy-=>Added uffner

    Back to the top


    Powered by Savane 3.1-cleanup1