bugGnash - The GNU Flash player - Bugs: bug #18091, segfault, gtk/gl

 
 

bug #18091: segfault, gtk/gl

Submitted by:  Deanna Phillips <deanna>
Submitted on:  Mon 23 Oct 2006 08:59:23 PM UTC  
 
Category: render-openglSeverity: 3 - Normal
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.

 

Wed 08 Nov 2006 09:50:18 AM UTC, comment #5:

Deanna, if you can't always reproduce the bug, that might be due
to racing conditions with threading. Could you try again
by disabling threading ?

You'll need to modify the server/parser/movie_def_impl.cpp
around line 54:

- #define LOAD_MOVIES_IN_A_SEPARATE_THREAD 1
+ #undef LOAD_MOVIES_IN_A_SEPARATE_THREAD

Sandro Santilli <strk>
Project MemberIn charge of this item.
Sat 04 Nov 2006 06:13:01 PM UTC, comment #4:

This has not happened since I started using gtk/agg. OpenGL bug?

It's no longer a problem for me, anyway.

Deanna Phillips <deanna>
Sat 04 Nov 2006 09:56:49 AM UTC, comment #3:

seems a bug in gtk itself, can you try upgrading your libs ?
can you reproduce with any other gui ?

Sandro Santilli <strk>
Project MemberIn charge of this item.
Tue 24 Oct 2006 05:23:09 PM UTC, comment #2:

I am getting confused about which crash relates to which bug. :-)

So here's one I just got with stack protection turned off, using the unstripped gnash. (oops about the last one)

GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd4.0"...
(gdb) set args -sync ../../testsuite/movies.all/vnc2swf.swf
(gdb) run
Starting program: /usr/ports/mystuff/www/gnash/w-gnash-102406/gnash/gui/.libs/gnash -sync ../../testsuite/movies.all/vnc2swf.swf
[New process 20580, thread 0x8ba7f000]

Program received signal SIGSEGV, Segmentation fault.
[Switching to process 20580, thread 0x7c5ad000]
0x04822a9e in get_direction (xkb=0x7d2720c0, group=255) at gdkkeys-x11.c:470
470 KeySym sym = XkbKeySymEntry (xkb, code, level, group);
Current language: auto; currently c
(gdb) bt
#0 0x04822a9e in get_direction (xkb=0x7d2720c0, group=255) at gdkkeys-x11.c:470
#1 0x04822cb8 in update_direction (keymap_x11=0x85533050) at gdkkeys-x11.c:546
#2 0x04822daf in _gdk_keymap_direction_changed (keymap_x11=0x85533050) at gdkkeys-x11.c:576
#3 0x04822e08 in _gdk_keymap_state_changed (display=0x8ac28010) at gdkkeys-x11.c:592
#4 0x048190cf in gdk_event_translate (display=0x8ac28010, event=0x811aa3e0, xevent=0xcf7f1290, return_exposes=0)
at gdkevents-x11.c:2050
#5 0x048196a5 in _gdk_events_queue (display=0x8ac28010) at gdkevents-x11.c:2225
#6 0x0481988b in gdk_event_dispatch (source=0x84809600, callback=0, user_data=0x0) at gdkevents-x11.c:2285
#7 0x0c267894 in g_main_depth () from /usr/local/lib/libglib-2.0.so.1000.3
#8 0x0c26886d in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.1000.3
#9 0x0c268b92 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.1000.3
#10 0x0c26909e in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.1000.3
#11 0x06b44d10 in gtk_main () at gtkmain.c:1003
#12 0x0f663bd3 in gnash::GtkGui::run() (this=0x81197200) at gtk.cpp:243
#13 0x0cadb9bc in gnash::Player::run(int, char*, char const, char const*) (this=0xcf7f15b0, argc=3, argv=0xcf7f165c,
infile=0xcf7f1810 "../../testsuite/movies.all/vnc2swf.swf", url=0x0) at Player.cpp:358
#14 0x1c003907 in main (argc=3, argv=0xcf7f165c) at gnash.cpp:321

Deanna Phillips <deanna>
Tue 24 Oct 2006 06:49:21 AM UTC, comment #1:

can you please built gnash with debugging symbols on and try to reproduce it again ? (for line numbers).
The fact that doesn't alway occur makes me think of a race condition, maybe in the allocators...

Sandro Santilli <strk>
Project MemberIn charge of this item.
Mon 23 Oct 2006 08:59:23 PM UTC, original submission:

This only showed up once after 30 or so attempts to play the same flash. CVS HEAD, gtk/gl

GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd4.0"...(no debugging symbols found)
Core was generated by `gnash'.
Program terminated with signal 11, Segmentation fault.

[...]

(gdb) bt
#0 0x01919644 in std::__default_alloc_template<true, 0>::allocate(unsigned long) () from /usr/lib/libstdc++.so.42.0
#1 0x0acdca24 in std::vector<gnash::tesselate::fill_segment, std::allocator<gnash::tesselate::fill_segment> >::_M_insert_aux(__gnu_cxx::__normal_iterator<gnash::tesselate::fill_segment*, std::vector<gnash::tesselate::fill_segment, std::allocator<gnash::tesselate::fill_segment> > >, gnash::tesselate::fill_segment const&) () from /usr/local/lib/libgnashserver.so.0.0
#2 0x0acdbc52 in gnash::tesselate::peel_off_and_emit(int, int, float, float) () from /usr/local/lib/libgnashserver.so.0.0
#3 0x0acdb8b1 in gnash::tesselate::output_current_segments() () from /usr/local/lib/libgnashserver.so.0.0
#4 0x0acdbd39 in gnash::tesselate::end_shape() () from /usr/local/lib/libgnashserver.so.0.0
#5 0x0ad80852 in gnash::shape_character_def::tesselate(float, gnash::tesselate::trapezoid_accepter*) const ()
from /usr/local/lib/libgnashserver.so.0.0
#6 0x0acbedd7 in gnash::mesh_set::mesh_set(gnash::tesselate::tesselating_shape const*, float) ()
from /usr/local/lib/libgnashserver.so.0.0
#7 0x01f87d52 in gnash::triangulating_render_handler::draw_shape_character(gnash::shape_character_def*, gnash::matrix const&, gnash::cxform const&, float, std::vector<gnash::fill_style, std::allocator<gnash::fill_style> > const&, std::vector<gnash::line_style, std::allocator<std::vector<gnash::fill_style, std::allocator<gnash::fill_style> > const&> > const&) ()
from /usr/local/lib/libgnashbackend.so.0.0
#8 0x01f86639 in gnash::render_handler::draw_shape_character(gnash::shape_character_def, gnash::character) ()
from /usr/local/lib/libgnashbackend.so.0.0
#9 0x0acbd3b9 in gnash::render::draw_shape_character(gnash::shape_character_def, gnash::character) ()
from /usr/local/lib/libgnashserver.so.0.0
#10 0x0ad8075e in gnash::shape_character_def::display(gnash::character*) () from /usr/local/lib/libgnashserver.so.0.0
#11 0x0ad6af9a in gnash::generic_character::display() () from /usr/local/lib/libgnashserver.so.0.0
#12 0x0aca2f0c in gnash::DisplayList::display() () from /usr/local/lib/libgnashserver.so.0.0
#13 0x0acd24a6 in gnash::sprite_instance::display() () from /usr/local/lib/libgnashserver.so.0.0
#14 0x0ac8a7b7 in gnash::movie_root::display() () from /usr/local/lib/libgnashserver.so.0.0
#15 0x0113f75d in gnash::Gui::display(gnash::movie_interface*) () from /usr/local/lib/libgnashgui.so.0.0
#16 0x0113f7de in gnash::Gui::advance_movie(gnash::Gui*) () from /usr/local/lib/libgnashgui.so.0.0
#17 0x0e658e27 in g_main_context_is_owner () from /usr/local/lib/libglib-2.0.so.1000.3
#18 0x0e656894 in g_main_depth () from /usr/local/lib/libglib-2.0.so.1000.3
#19 0x0e65786d in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.1000.3
#20 0x0e657b92 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.1000.3
#21 0x0e65809e in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.1000.3
#22 0x0e4f0d10 in gtk_main () at gtkmain.c:1003
#23 0x0113d663 in gnash::GtkGui::run() () from /usr/local/lib/libgnashgui.so.0.0
#24 0x09d762ad in gnash::Player::run(int, char*, char const, char const*) () from /usr/local/lib/libgnashplayer.so.0.0
#25 0x1c00286e in main ()

Deanna Phillips <deanna>

 

(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

 

CC list is empty

 

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 6 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Fri 17 Nov 2006 12:23:30 AM UTCstrkOpen/ClosedOpen=>Closed
Wed 08 Nov 2006 09:50:18 AM UTCstrkCategorygui=>render-opengl
  Assigned toNone=>strk
Sat 04 Nov 2006 09:56:49 AM UTCstrkCategoryrenderer=>gui
  StatusNone=>Works For Me
Tue 24 Oct 2006 06:49:21 AM UTCstrkCategoryNone=>renderer

Back to the top


Powered by Savane 3.1-cleanup1