bugGnash - The GNU Flash player - Bugs: bug #15925, firefox plugin has gl-related...

 
 

bug #15925: firefox plugin has gl-related crash on load

Submitted by:  Alan Grow <bartok>
Submitted on:  Tue 28 Feb 2006 04:15:39 AM UTC  
 
Category: NoneSeverity: 3 - Normal
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: Rob Savoye <rsavoye>
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 28 Aug 2006 10:18:13 PM UTC, comment #7:

Until Gnash has working FLV video support, it won't work with youtube or video.google.com yet. This is in progress.

Rob Savoye <rsavoye>
Project AdministratorIn charge of this item.
Fri 25 Aug 2006 09:54:57 PM UTC, comment #6:

i also cannot use youtube on linux amd64 with firefox which is a real shame.

there's just a grey box where videos should be.

Jonah <jonah1980>
Wed 09 Aug 2006 03:37:20 PM UTC, comment #5:

I'm fairly sure this is fixed.

Bastiaan Jacques <bjacques>
Project Member
Thu 22 Jun 2006 11:02:41 AM UTC, comment #4:

I found some workaround for this. Java w/ Opera has similiar problem. I use LD_PRELOAD to load all gnash libraries before Firefox loads X11 libs, and that way everything works fine.

Michał Górny <mgorny>
Sat 27 May 2006 06:01:14 PM UTC, comment #3:

This is currently still broken for me (just grabbed fresh CVS code just now).

13:55:01: xEmbed supported in this Mozilla version
13:55:01: Gtk2+ supported in this Mozilla version
13:55:01: TRACE: nsPluginInstanceBase* NS_NewPluginInstance(nsPluginCreateData*) enter
13:55:01: TRACE: nsPluginInstance::nsPluginInstance(NPP_t*) enter
13:55:01: TRACE: virtual NPError nsPluginInstance::GetValue(NPPVariable, void*): enter for instance 0x111c62a8
13:55:01: TRACE: NPError NS_PluginGetValue(NPPVariable, void*) enter
13:55:01: TRACE: virtual NPError nsPluginInstance::SetWindow(NPWindow*): enter for instance 0x111c62a8
13:55:01: TRACE: void nsPluginInstance::lockGL(): for instance 0x111c62a8
13:55:01: TRACE: void nsPluginInstance::lockX(): for instance 0x111c62a8
13:55:01: SetWindow: Got new glxContext 0x10f69c88
13:55:01: TRACE: void nsPluginInstance::setGL(): gxDisplay = 0x111c5290, _window = 0x3205b9a, _glxContext = 0x10f69c88 for instance 0x111c62a8
The program 'Gecko' received an X Window System error.

Seems to crash on every SWF applet I come across.

Ubuntu/ppc Firefox 1.5.0.1

I can get a backtrace if that will help.

Aaron <writeonlymemory>
Thu 30 Mar 2006 07:15:58 PM UTC, comment #2:

I've rewritten the GUI support in the plugin. Can you please try this with current CVS ? It should work now.

Rob Savoye <rsavoye>
Project AdministratorIn charge of this item.
Tue 28 Feb 2006 03:03:58 PM UTC, comment #1:

The plugin code is changing quickly, but the current CVS works for me on an 32 bit Ubuntu system. Currently the plugin crashes when it tries to execute setGL() from within a thread but works when it isn't in a thread. So anyway, there isn't a fix for this yeat, but I'm working on it. setGL() needs to work from within a thread to make a functional player.

Rob Savoye <rsavoye>
Project AdministratorIn charge of this item.
Tue 28 Feb 2006 04:15:39 AM UTC, original submission:

i was trying to get gnash to play youtube videos when i came across this.

this is with firefox 1.0.4 on debian and the latest gnash cvs sources (2/27/06). the crash occurs in nsPluginInstance::SetWindow() when it calls SetGL(). i can't say for sure, but it looks like the attributes of the GLXContext created here don't match the attributes of the plugin's window. (is colormap the problem?) here's a transcript of the gdb session.

$ firefox --debugger gdb --sync flash.html
GNU gdb 6.4-debian
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) b NS_PluginInitialize
Function "NS_PluginInitialize" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (NS_PluginInitialize) pending.
(gdb) r
Breakpoint 2 at 0xb44c334c: file plugin.cpp, line 117.
Pending breakpoint "NS_PluginInitialize" resolved
Breakpoint 2, NS_PluginInitialize () at plugin.cpp:117
117 printf("%s: Initializing the Plugin\n",
Current language: auto; currently c++
(gdb) b plugin.cpp:386
Breakpoint 3 at 0xb44c3d60: file plugin.cpp, line 386.
(gdb) c
Continuing.
NPError NS_PluginInitialize(): Initializing the Plugin
nsPluginInstanceBase* NS_NewPluginInstance(nsPluginCreateData*)(184): Entering
nsPluginInstance::nsPluginInstance(NPP_t*)(219): Entering
virtual NPBool nsPluginInstance::init(NPWindow*): X origin = 8, Y Origin = 8, Wi
dth = 470, Height = 390 WindowID = 0x1600001 this = 0x9430808
void nsPluginInstance::initGL()(616): Entering
void nsPluginInstance::initGL(): Initializing OpenGL...
virtual NPError nsPluginInstance::SetWindow(NPWindow*): X origin = 8, Y Origin =
8, Width = 470, Height = 390 WindowID = 0x1600001 this = 0x9430808
Breakpoint 3, nsPluginInstance::SetWindow (this=0x9430808, aWindow=0x94ce98c)
at plugin.cpp:386
386 mContext = glXCreateContext(gxDisplay, vi, 0, GL_TRUE);
(gdb) p (NPSetWindowCallbackStruct)*ws_info
$1 = {type = 0, display = 0x92d3000, visual = 0x8e50488, colormap = 32,
depth = 24}
(gdb) p (XVisualInfo)*vi
$2 = {visual = 0x9095040, visualid = 39, screen = 0, depth = 24, c_class = 4,
red_mask = 16711680, green_mask = 65280, blue_mask = 255,
colormap_size = 256, bits_per_rgb = 8}
(gdb) l
381 vi = glXChooseVisual(gxDisplay, DefaultScreen(gxDisplay), at
tributeList_noFSAA);
382 } else {
383 vi->visual = mVisual;
384 }
385
386 mContext = glXCreateContext(gxDisplay, vi, 0, GL_TRUE);
387 if (mContext) {
388 printf("Got new glx Context\n");
389 _glInitialized = TRUE;
390 setGL();
(gdb) n
387 if (mContext) {
(gdb) s
388 printf("Got new glx Context\n");
(gdb) n
Got new glx Context
389 _glInitialized = TRUE;
(gdb) n
390 setGL();
(gdb) s
nsPluginInstance::setGL (this=0x9430808) at plugin.h:78
78 glXMakeCurrent(gxDisplay, mWindow, mContext);
(gdb) n
The program 'Gecko' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
(Details: serial 23 error_code 8 request_code 145 minor_code 5)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Program exited with code 01.
(gdb) q

Alan Grow <bartok>

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #1748:  gnash-flashobject-testfiles.tar.gz added by bartok (3KiB - application/gzip - test files using the common flashobject.js)

 

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
Wed 09 Aug 2006 03:37:20 PM UTCbjacquesOpen/ClosedOpen=>Closed
Thu 30 Mar 2006 07:15:58 PM UTCrsavoyeStatusIn Progress=>Fixed
Tue 28 Feb 2006 03:03:58 PM UTCrsavoyeStatusNone=>In Progress
  Assigned toNone=>rsavoye
Tue 28 Feb 2006 04:15:39 AM UTCbartokAttached File-=>Added gnash-flashobject-testfiles.tar.gz, #3447
  Carbon-Copy-=>Added -unavailable-

Back to the top


Powered by Savane 3.1-cleanup1