bugGnash - The GNU Flash player - Bugs: bug #18211, segfault, gtk/agg

 
 

bug #18211: segfault, gtk/agg

Submitted by:  Deanna Phillips <deanna>
Submitted on:  Mon 06 Nov 2006 01:29:41 AM UTC  
 
Category: rendererSeverity: 3 - Normal
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: None
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)

Thu 09 Nov 2006 01:45:39 PM UTC, comment #9:

This seems fixed in recent 0_7_2. Sorry I don't have time to test both branches.

Deanna Phillips <deanna>
Mon 06 Nov 2006 09:49:14 PM UTC, comment #8:

oh sorry, it has nothing to do with the alpha mask buffer. It's the frame background, but that doesn't matter - please try vcs head

Udo Giacomozzi <udog>
Project Member
Mon 06 Nov 2006 09:47:16 PM UTC, comment #7:

Yep, the color value is correct. It fills the alpha mask buffer with black (255=no transparency). The width argument is obviously wrong but, as already suggested, try current cvs HEAD version (not 0.7.2 release) because it seems a negative value is passed to clear_framebuffer(). Since it uses unsigned ints this results in values near 2^32 range which causes the segfault. My patch earlier today changed this to signed ints. Doesn't fix the problem but should avoid the segfault...

Udo Giacomozzi <udog>
Project Member
Mon 06 Nov 2006 07:14:45 PM UTC, comment #6:

a is alpha value, 255 is completely fine. Please follow Udo's instructions on this, he's the AGG gui.

Sandro Santilli <strk>
Project Member
Mon 06 Nov 2006 07:03:52 PM UTC, comment #5:

The value of 'a' here seems a bit off to me.

#1 0x072acbc2 in gnash::render_handler_agg<agg::pixfmt_alpha_blend_rgb<agg::blender_rgb<agg::rgba8, agg::order_rgb>, agg::row_accessor<unsigned char> > >::clear_framebuffer(unsigned, unsigned, unsigned, unsigned, agg::rgba8) (this=0x8218b200,
left=1123, top=263, width=4294967195, height=75, color={r = 0 '\0', g = 0 '\0', b = 0 '\0', a = 255 'ÿ'})
at render_handler_agg.cpp:532

Deanna Phillips <deanna>
Mon 06 Nov 2006 04:00:51 PM UTC, comment #4:

Ops, sorry -r1 does enable rendering and disables sound.
My fault. Actually I think the two bugs are related, I can
also reproduce segfaults with all sound/no_video no_sound/video
sound/video.

Sandro Santilli <strk>
Project Member
Mon 06 Nov 2006 03:54:21 PM UTC, comment #3:

I forgot to say that this is in 0.7.2, where libgnashplayer is obsolete.

Deanna Phillips <deanna>
Mon 06 Nov 2006 08:59:16 AM UTC, comment #2:

mmm... -r1 shoudl never invoke Gui::display, is it possible
that the libgnashplayer.so used by your run is an old one ?
(I see you're not using libtool --mode=execute)

Sandro Santilli <strk>
Project Member
Mon 06 Nov 2006 08:14:10 AM UTC, comment #1:

Can you please try with latest cvs-head?

Udo Giacomozzi <udog>
Project Member
Mon 06 Nov 2006 01:29:41 AM UTC, original submission:

This happens with -r1 so it seems unrelated to the sdl sound segfault.

The movie is:
http://deanna.freeshell.org/taters.swf

[/usr/ports/mystuff/www/gnash/w-gnash-no-propolice-110506/gnash/gui/.libs] poa-alpina% gdb gnash
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 -r1 ~/taters.swf
(gdb) run
Starting program: /usr/ports/mystuff/www/gnash/w-gnash-no-propolice-110506/gnash/gui/.libs/gnash -r1 ~/taters.swf
[New process 25850, thread 0x8b45d400]

Program received signal SIGSEGV, Segmentation fault.
[Switching to process 25850, thread 0x86d8d000]
0x072c7c79 in agg::pixfmt_alpha_blend_rgb<agg::blender_rgb<agg::rgba8, agg::order_rgb>, agg::row_accessor<unsigned char> >::copy_hline(int, int, unsigned, agg::rgba8 const&) (this=0x8760a650, x=1123, y=263, len=4294483440, c=@0xcf7c1534)
at agg_pixfmt_rgb.h:321
321 p[order_type::R] = c.r;
(gdb) bt
#0 0x072c7c79 in agg::pixfmt_alpha_blend_rgb<agg::blender_rgb<agg::rgba8, agg::order_rgb>, agg::row_accessor<unsigned char> >::copy_hline(int, int, unsigned, agg::rgba8 const&) (this=0x8760a650, x=1123, y=263, len=4294483440, c=@0xcf7c1534)
at agg_pixfmt_rgb.h:321
#1 0x072acbc2 in gnash::render_handler_agg<agg::pixfmt_alpha_blend_rgb<agg::blender_rgb<agg::rgba8, agg::order_rgb>, agg::row_accessor<unsigned char> > >::clear_framebuffer(unsigned, unsigned, unsigned, unsigned, agg::rgba8) (this=0x8218b200,
left=1123, top=263, width=4294967195, height=75, color={r = 0 '\0', g = 0 '\0', b = 0 '\0', a = 255 'ÿ'})
at render_handler_agg.cpp:532
#2 0x072a7687 in gnash::render_handler_agg<agg::pixfmt_alpha_blend_rgb<agg::blender_rgb<agg::rgba8, agg::order_rgb>, agg::row_accessor<unsigned char> > >::begin_display(gnash::rgba, int, int, int, int, float, float, float, float) (this=0x8218b200,
background_color={m_r = 0 '\0', m_g = 0 '\0', m_b = 0 '\0', m_a = 255 'ÿ'}) at render_handler_agg.cpp:503
#3 0x0ccf486a in gnash::render::begin_display(gnash::rgba, int, int, int, int, float, float, float, float) (
background_color={m_r = 0 '\0', m_g = 0 '\0', m_b = 0 '\0', m_a = 255 'ÿ'}, viewport_x0=0, viewport_y0=0,
viewport_width=1022, viewport_height=732, x0=0, x1=10980, y0=0, y1=6160) at render.cpp:104
#4 0x0ccbaaa3 in gnash::movie_root::display() (this=0x8218b300) at movie_root.cpp:471
#5 0x03c8d6fb in gnash::Gui::display(gnash::movie_interface*) (this=0x86dc6200, m=0x8218b300) at gui.cpp:256
#6 0x03c8d791 in gnash::Gui::advance_movie(gnash::Gui*) (gui=0x86dc6200) at gui.cpp:301
#7 0x0f51ce27 in g_main_context_is_owner () from /usr/local/lib/libglib-2.0.so.1000.3
#8 0x0f51a894 in g_main_depth () from /usr/local/lib/libglib-2.0.so.1000.3
#9 0x0f51b86d in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.1000.3
#10 0x0f51bb92 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.1000.3
#11 0x0f51c09e in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.1000.3
#12 0x007b86d7 in gtk_main () from /usr/local/lib/libgtk-x11-2.0.so.802.1
#13 0x03c8ae05 in gnash::GtkGui::run() (this=0x86dc6200) at gtk.cpp:272
#14 0x1c00611c in gnash::Player::run(int, char*, char const, char const*) (this=0xcf7c1910, argc=3, argv=0xcf7c19bc,
infile=0xcf7c1b7b "/home/deanna/taters.swf", url=0x0) at Player.cpp:342
#15 0x1c003a47 in main (argc=3, argv=0xcf7c19bc) at gnash.cpp:299
(gdb)

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

Date Changed By Updated Field Previous Value => Replaced By
Sun 26 Nov 2006 10:38:55 AM UTCudogStatusNone=>Fixed
  Open/ClosedOpen=>Closed
Mon 06 Nov 2006 01:29:41 AM UTCdeannaCarbon-Copy-=>Added udog

Back to the top


Powered by Savane 3.1-cleanup1