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

 
 

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

Submitter:  Alan Grow <bartok>
Submitted:  Tue 28 Feb 2006 04:15:39 AM UTC
   
 
Category:  None Severity:  3 - Normal
Release:  None Status:  Fixed
Privacy:  Public Assigned to:  rsavoye
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

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>
Group administrator
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>
Group 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>
Group administrator
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>
Group administrator
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 Files:
   
   
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

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

 

Follow 6 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2006-08-09 bjacques Open/ClosedOpen Closed
2006-03-30 rsavoye StatusIn Progress Fixed
2006-02-28 rsavoye StatusNone In Progress
    Assigned toNone rsavoye
2006-02-28 bartok Attached File- Added gnash-flashobject-testfiles.tar.gz, #3447
    Carbon-Copy- Added -email is unavailable-

Back to the top

Powered by Savane 3.15-e6e5.
Corresponding source code