bugGnash - The GNU Flash player - Bugs: bug #21678, gl-render writes out-of-bounds...

 
 

bug #21678: gl-render writes out-of-bounds index 0

Submitted by:  Tomas Groth <tgc>
Submitted on:  Thu 29 Nov 2007 11:41:23 PM UTC  
 
Category: render-openglSeverity: 3 - Normal
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: Bastiaan Jacques <bjacques>
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

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

 

Thu 29 Nov 2007 11:48:59 PM UTC, comment #1:

Fixed, thanks tgc!

Bastiaan Jacques <bjacques>
Project MemberIn charge of this item.
Thu 29 Nov 2007 11:41:23 PM UTC, original submission:

While playing the attached file gnash was killed. Due to the use of -D_GLIBCXX_DEBUG I think...
Backtrace:

/usr/lib/gcc/x86_64-unknown-linux-gnu/4.2.2/../../../../include/c++/4.2.2/debug/vector:205:
error: attempt to subscript container with out-of-bounds index 0, but
container only holds 0 elements.

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

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x2b91243d51b0 (LWP 15119)]
0x00002b911c5510b5 in raise () from /lib/libc.so.6
(gdb) bt
#0 0x00002b911c5510b5 in raise () from /lib/libc.so.6
#1 0x00002b911c552560 in abort () from /lib/libc.so.6
#2 0x00002b911bde8dd7 in __gnu_debug::_Error_formatter::_M_error ()
from /usr/lib/libstdc++.so.6
#3 0x0000000000477da4 in std::__debug::vector<gnash::line_style, std::allocator<gnash::line_style> >::operator[] (this=0x7fff91611700, __n=0)
at /usr/lib/gcc/x86_64-unknown-linux-gnu/4.2.2/../../../../include/c++/4.2.2/debug/vector:205
#4 0x000000000048b4b4 in gnash::render_handler_ogl::draw_outlines (
this=0x8677c0, path_vec=@0x7fff91611510, pathpoints=@0x7fff91611480,
mat=@0x2b911a24c2d0, cx=@0x7fff91611820, fill_styles=@0x7fff91611740,
line_styles=@0x7fff91611700)
at /home/tomas/gnash/head/backend/render_handler_ogl.cpp:1320
#5 0x000000000048d5fe in gnash::render_handler_ogl::draw_subshape (
this=0x8677c0, path_vec=@0x2b91280859a0, mat=@0x2b911a24c2d0,
cx=@0x7fff91611820, pixel_scale=1, fill_styles=@0x7fff91611740,
line_styles=@0x7fff91611700)
at /home/tomas/gnash/head/backend/render_handler_ogl.cpp:1526
#6 0x000000000048ddbb in gnash::render_handler_ogl::add_paths (this=0x8677c0,
path_vec=@0x2b91280859a0)
at /home/tomas/gnash/head/backend/render_handler_ogl.cpp:990
#7 0x0000000000466a61 in boost::_mfi::mf1<void, gnash::render_handler_ogl, std::__debug::vector<gnash::path, std::allocator<gnash::path> > const&>::operator()
---Type <return> to continue, or q <return> to quit---
(this=0x7fff91611968, p=0x8677c0, a1=@0x2b91280859a0)
at /usr/include/boost/bind/mem_fn_template.hpp:162
#8 0x0000000000468c93 in boost::_bi::list2<boost::_bi::value<gnash::render_handler_ogl>, boost::arg<1> ()()>::operator()<boost::_mfi::mf1<void, gnash::render_handler_ogl, std::__debug::vector<gnash::path, std::allocator<gnash::path> > const&>, boost::_bi::list1<std::__debug::vector<gnash::path, std::allocator<gnash::path> >&> > (this=0x7fff91611978, f=@0x7fff91611968, a=@0x7fff91611940)
at /usr/include/boost/bind.hpp:288
#9 0x0000000000468cfd in boost::_bi::bind_t<void, boost::_mfi::mf1<void, gnash::render_handler_ogl, std::__debug::vector<gnash::path, std::allocator<gnash::path> > const&>, boost::_bi::list2<boost::_bi::value<gnash::render_handler_ogl>, boost::arg<1> ()()> >::operator()<std::__debug::vector<gnash::path, std::allocator<gnash::path> > > (this=0x7fff91611968, a1=@0x2b91280859a0)
at /usr/include/boost/bind/bind_template.hpp:32
#10 0x0000000000484c08 in std::for_each<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<std::__debug::vector<gnash::path, std::allocator<gnash::path> >, std::__norm::vector<std::__debug::vector<gnash::path, std::allocator<gnash::path> >, std::allocator<std::__debug::vector<gnash::path, std::allocator<gnash::path> > > > >, std::__debug::vector<std::__debug::vector<gnash::path, std::allocator<gnash::path> >, std::allocator<std::__debug::vector<gnash::path, std::allocator<gnash::path> > > > >, boost::_bi::bind_t<void, boost::_mfi::mf1<void, gnash::render_handler_ogl, std::__debug::vector<gnash::path, std::allocator<gnash::path> > const&>, boost::_bi::list2<boost::_bi::value<gnash::render_handler_ogl>, b---Type <return> to continue, or q <return> to quit---
oost::arg<1> (*)()> > > (__first=@0x7fff91611c40, __last=@0x7fff91611c10, __f=
{f_ = {f_ = 0x48dca6 <gnash::render_handler_ogl::add_paths(std::__debug::vector<gnash::path, std::allocator<gnash::path> > const&)>}, l_ = {<boost::_bi::storage2<boost::_bi::value<gnash::render_handler_ogl>,boost::arg<1> ()()>> = {<boost::_bi::storage1<boost::_bi::value<gnash::render_handler_ogl*> >> = {a1_ = {t_ = 0x8677c0}}, <No data fields>}, <No data fields>}})
at /usr/lib/gcc/x86_64-unknown-linux-gnu/4.2.2/../../../../include/c++/4.2.2/bits/stl_algo.h:159
#11 0x000000000048ba10 in gnash::render_handler_ogl::apply_mask (this=0x8677c0)
at /home/tomas/gnash/head/backend/render_handler_ogl.cpp:971
#12 0x000000000048bb7d in gnash::render_handler_ogl::end_submit_mask (
this=0x8677c0) at /home/tomas/gnash/head/backend/render_handler_ogl.cpp:939
#13 0x00002b9119d6706d in gnash::render::end_submit_mask ()
at /home/tomas/gnash/head/server/render.cpp:248
#14 0x00002b9119d1b847 in gnash::DisplayList::display (this=0x2b9128000a58)
at /home/tomas/gnash/head/server/dlist.cpp:825
#15 0x00002b9119c78d7f in gnash::sprite_instance::display (this=0x2b91280008c0)
at /home/tomas/gnash/head/server/sprite_instance.cpp:2821
#16 0x00002b9119c580c2 in gnash::movie_root::display (this=0x875fd0)
at /home/tomas/gnash/head/server/movie_root.cpp:884
#17 0x000000000044686a in gnash::Gui::display (this=0x6b88f0, m=0x875fd0)
at /home/tomas/gnash/head/gui/gui.cpp:579
#18 0x000000000044695f in gnash::Gui::advanceMovie (this=0x6b88f0)
---Type <return> to continue, or q <return> to quit---
at /home/tomas/gnash/head/gui/gui.cpp:746
#19 0x0000000000453d36 in gnash::Gui::advance_movie (gui=0x6b88f0)
at /home/tomas/gnash/head/gui/gui.h:213
#20 0x00002b911b6c25fb in g_timeout_dispatch () from /usr/lib/libglib-2.0.so.0
#21 0x00002b911b6c1ea4 in g_main_context_dispatch ()
from /usr/lib/libglib-2.0.so.0
#22 0x00002b911b6c518d in g_main_context_iterate ()
from /usr/lib/libglib-2.0.so.0
#23 0x00002b911b6c5487 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#24 0x00002b911ab31b63 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#25 0x0000000000458b10 in gnash::GtkGui::run (this=0x6b88f0)
at /home/tomas/gnash/head/gui/gtk.cpp:495
#26 0x00000000004520db in gnash::Player::run (this=0x7fff91612610, argc=2,
argv=0x7fff916127c8, infile=0x7fff91612b06 "../../swf/intro3.swf", url=0x0)
at /home/tomas/gnash/head/gui/Player.cpp:351
#27 0x000000000043ec46 in main (argc=2, argv=0x7fff916127c8)
at /home/tomas/gnash/head/gui/gnash.cpp:427

Tomas Groth <tgc>

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #14512:  intro3.swf added by tgc (426KiB - application/x-shockwave-flash)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by bjacques (Posted a comment)
  • -unavailable- added by tgc (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
    Thu 29 Nov 2007 11:48:59 PM UTCbjacquesStatusNone=>Fixed
      Assigned toNone=>bjacques
      Open/ClosedOpen=>Closed
    Thu 29 Nov 2007 11:41:23 PM UTCtgcAttached File-=>Added intro3.swf, #14512

    Back to the top


    Powered by Savane 3.1-cleanup1