bugGnash - The GNU Flash player - Bugs: bug #20964, Segfault in weebls stuff movie

 
 

bug #20964: Segfault in weebls stuff movie

Submitted by:  Benjamin Wolsey <bwy>
Submitted on:  Mon 03 Sep 2007 12:37:34 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: Tomas Groth <tgc>
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)

Mon 17 Sep 2007 01:06:13 PM UTC, comment #8:

weebls-stuff now plays fine with latest cvs, for me at least. Please test.

Tomas Groth <tgc>In charge of this item.
Mon 10 Sep 2007 03:26:00 PM UTC, comment #7:

I think the messages are just being displayed late due to output buffering. They should be accurate, just too annoying in this case :)

Sandro Santilli <strk>
Project Member
Mon 10 Sep 2007 02:41:28 PM UTC, comment #6:

Last commit fixes segfault in both movies.

But both now have lots of debugging output from where it used to segfault:

30876] 16:29:32: ERROR: An error occured while decoding video frame
30876] 16:29:32: ERROR: No video data available for frame 856.
...

This seems right for the weebls-stuff movie, because the video doesn't play.

But for dogthebountyhunter we get errors for every frame from 608, but the video and sound is playing apparently correctly, so I'm not sure the errors are accurate.

Benjamin Wolsey <bwy>
Project Member
Sat 08 Sep 2007 01:28:31 PM UTC, comment #5:

The problem is inside embedVideoDecoderFfmpeg::decodeFrame.
By making that method always return a NULL auto_ptr the problem doesn't happen.

Next step would be adding debugging output for unexpected conditions.

Sandro Santilli <strk>
Project Member
Sat 08 Sep 2007 10:41:37 AM UTC, comment #4:

After my commit, still problems:

      • glibc detected *** /home/strk/src/gnash/build/head/gtk_agg_ffmpeg/gui/.libs/lt-gtk-gnash: double free or corruption (!prev): 0xb2b5dc28 ***

======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb72067cd]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7209e30]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb73c7d11]
/usr/lib/libstdc++.so.6(_ZdaPv+0x1d)[0xb73c7d6d]
/home/strk/src/gnash/build/head/gtk_agg_ffmpeg/libbase/.libs/libgnashbase-cvs.so(_ZN5gnash23embedVideoDecoderFfmpeg11decodeFrameEPhi+0x42d)[0xb7a913ed]
/home/strk/src/gnash/build/head/gtk_agg_ffmpeg/server/.libs/libgnashserver-cvs.so(_ZN5gnash21video_stream_instance7displayEv+0x174)[0xb7c22b34]
/home/strk/src/gnash/build/head/gtk_agg_ffmpeg/server/.libs/libgnashserver-cvs.so(_ZN5gnash11DisplayList7displayEv+0x565)[0xb7ca01d5]
/home/strk/src/gnash/build/head/gtk_agg_ffmpeg/server/.libs/libgnashserver-cvs.so(_ZN5gnash15sprite_instance7displayEv+0x17d)[0xb7bf5eed]
/home/strk/src/gnash/build/head/gtk_agg_ffmpeg/server/.libs/libgnashserver-cvs.so(_ZN5gnash10movie_root7displayEv+0x653)[0xb7bd1463]
/home/strk/src/gnash/build/head/gtk_agg_ffmpeg/gui/.libs/lt-gtk-gnash(_ZN5gnash3Gui7displayEPNS_10movie_rootE+0x1d1)[0x8099a61]
/home/strk/src/gnash/build/head/gtk_agg_ffmpeg/gui/.libs/lt-gtk-gnash(ZN5gnash3Gui13advance_movieEPS0+0x5d)[0x809a9bd]
/usr/lib/libglib-2.0.so.0[0xb751d3c6]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x182)[0xb751cdf2]
/usr/lib/libglib-2.0.so.0[0xb751fdcf]
/usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1a9)[0xb7520179]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xb4)[0xb77bd044]
/home/strk/src/gnash/build/head/gtk_agg_ffmpeg/gui/.libs/lt-gtk-gnash(_ZN5gnash6GtkGui3runEv+0xb)[0x80a659b]
/home/strk/src/gnash/build/head/gtk_agg_ffmpeg/gui/.libs/lt-gtk-gnash(ZN5gnash6Player3runEiPPcPKcS4+0x15cf)[0x80a1fcf]
/home/strk/src/gnash/build/head/gtk_agg_ffmpeg/gui/.libs/lt-gtk-gnash(main+0xa2)[0x80953a2]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xdc)[0xb71b4ebc]
/home/strk/src/gnash/build/head/gtk_agg_ffmpeg/gui/.libs/lt-gtk-gnash[0x80942f1]

Sandro Santilli <strk>
Project Member
Fri 07 Sep 2007 09:55:53 PM UTC, comment #3:

I can reproduce with -r0.
GLIBCPP_DEBUG gives some hints:

/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/debug/vector:192:
error: attempt to subscript container with out-of-bounds index 360, but
container only holds 360 elements.

Objects involved in the operation:
sequence "this" @ 0x0x8918ea0 {
type = N15__gnu_debug_def6vectorIiSaIiEEE;
}

#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7238df0 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb723a641 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb73cebb1 in __gnu_debug::_Error_formatter::_M_error () from /usr/lib/libstdc++.so.6
#4 0xb7e5d888 in gnash::video_stream_definition::get_frame_data (this=0x8918e58, frameNum=608, data=0xbf929060, size=0xbf92905c)
at /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/debug/vector:192
#5 0xb7c92df9 in gnash::video_stream_instance::display (this=0x8d6b960) at /home/strk/src/gnash/gnash-head/server/video_stream_instance.cpp:212
#6 0xb7d0ad29 in gnash::DisplayList::display (this=0x86c0724) at /home/strk/src/gnash/gnash-head/server/dlist.cpp:977
#7 0xb7c671dd in gnash::sprite_instance::display (this=0x86c0638) at /home/strk/src/gnash/gnash-head/server/sprite_instance.cpp:2653
#8 0xb7c413a3 in gnash::movie_root::display (this=0x8665b28) at /home/strk/src/gnash/gnash-head/server/movie_root.cpp:728
#9 0x08099a61 in gnash::Gui::display (this=0x860cbe8, m=0x8665b28) at /home/strk/src/gnash/gnash-head/gui/gui.cpp:434

Sandro Santilli <strk>
Project Member
Wed 05 Sep 2007 08:36:18 AM UTC, comment #2:

That should be:

http://www.dogthebountyhunter.com/index.swf

Benjamin Wolsey <bwy>
Project Member
Wed 05 Sep 2007 08:27:38 AM UTC, comment #1:

Same problem with http://www.dogthebountyhunter.cndex.swf

(Example of website made of stupidly large SWF8 file, works surprisingly well though otherwise, if slowly)

Benjamin Wolsey <bwy>
Project Member
Mon 03 Sep 2007 12:37:34 PM UTC, original submission:

Segfault in SWF9 http://www.weebls-stuff.com/flash/7908factor.swf. Backtrace:

#0 0x00002af29bec608b in __cxa_pure_virtual ()
from /usr/lib64/libavcodec.so.51
#1 0x00002af29bebf7aa in vp56_decode_frame () from /usr/lib64/libavcodec.so.51
#2 0x00002af29bb8c9c3 in avcodec_decode_video ()
from /usr/lib64/libavcodec.so.51
#3 0x00002af297e267f9 in gnash::embedVideoDecoderFfmpeg::decodeFrame (
this=0xa3b8f0,
data=0x3e540feaf75b06ee <Address 0x3e540feaf75b06ee out of bounds>,
size=-5156021) at embedVideoDecoderFfmpeg.cpp:184
#4 0x00002af297a6beb1 in gnash::video_stream_instance::display (this=0xa3b9c0)
at video_stream_instance.cpp:214
#5 0x00002af297aa195a in gnash::DisplayList::display (this=0xa41b48)
at dlist.cpp:909

Benjamin Wolsey <bwy>
Project Member

 

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

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by tgc (Posted a comment)
  • -unavailable- added by strk (Updated the item)
  • -unavailable- added by bwy (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 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 24 Sep 2007 07:40:34 PM UTCbwyStatusReady For Test=>Fixed
      Open/ClosedOpen=>Closed
    Mon 10 Sep 2007 03:26:00 PM UTCstrkStatusNone=>Ready For Test
    Mon 03 Sep 2007 12:39:07 PM UTCstrkAssigned toNone=>tgc

    Back to the top


    Powered by Savane 3.1-cleanup1