Closed Bug 559704 Opened 14 years ago Closed 8 years ago

XF86DGANoDirectVideoMode fatal X11Error with quakelive [@ linux-gate.so@0x422]

Categories

(Plugins Graveyard :: Quake Live, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: jbecerra, Unassigned)

Details

I can consistently crash 3.6.4(build1) on my Ubuntu vm with the following steps:

1. Visit www.quakelive.com
2. Install Flash when prompted and restart
3. Login to site using valid credentials
4. Install quakelive plugin and restart
5. Login again if necessary
6. Click on the red "Skills Test" button

Expected: You get a screen that allows you to try the game.

Actual: Crash http://crash-stats.mozilla.com/report/index/458d9720-6f9d-410c-af15-fa7be2100415

This might be a dupe.
This is an xerror. the event is on thread 16. It's kinda surprising to see that.

Signature	linux-gate.so@0x422
UUID	458d9720-6f9d-410c-af15-fa7be2100415
Time 	2010-04-15 16:58:15.525054
Uptime	14
Product	Firefox
Version	3.6.4
Build ID	20100413154310
Branch	1.9.2
OS	Linux
OS Version	0.0.0 Linux 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 05:23:09 UTC 2010 i686
CPU	x86
CPU Info	GenuineIntel family 6 model 23 stepping 6
Crash Reason	SIGABRT
Crash Address	0x2385
User Comments	Login, agree to terms, allow plugin installation, restart, click on Skills Test.
App Notes 	XF86DGADirectVideo: XF86DGANoDirectVideoMode; 2 requests ago
Processor Notes 	
Related Bugs

Crashing Thread [16]
Frame 	Module 	Signature [Expand] 	Source
0 	linux-gate.so 	linux-gate.so@0x422 	
1 	libc-2.10.1.so 	libc-2.10.1.so@0x2d931 	
2 	libnspr4.so 	PR_Abort 	nsprpub/pr/src/io/prlog.c:548
3 	libxul.so 	Abort 	xpcom/base/nsDebugImpl.cpp:385
4 	libxul.so 	NS_DebugBreak_P 	xpcom/base/nsDebugImpl.cpp:327
5 	libxul.so 	X11Error 	toolkit/xre/nsX11ErrorHandler.cpp:182
6 	libbonoboui-2.so.0.0.0 	libbonoboui-2.so.0.0.0@0x20c24 	
7 	libX11.so.6.2.0 	libX11.so.6.2.0@0x3a838 	
8 	libX11.so.6.2.0 	libX11.so.6.2.0@0x40e9e 	
9 	libX11.so.6.2.0 	libX11.so.6.2.0@0x41525 	
10 	libX11.so.6.2.0 	libX11.so.6.2.0@0x351a6 	
11 	libXxf86dga.so.1.0.0 	libXxf86dga.so.1.0.0@0x1749 	
12 	libXxf86dga.so.1.0.0 	libXxf86dga.so.1.0.0@0x181a 	
13 	quakelive.i386.so 	quakelive.i386.so@0xe856e 	
14 	quakelive.i386.so 	quakelive.i386.so@0xe860e 	
15 	quakelive.i386.so 	quakelive.i386.so@0xe9026 	
16 	quakelive.i386.so 	quakelive.i386.so@0xe9556 	
17 	quakelive.i386.so 	quakelive.i386.so@0xe96ac 	
18 	quakelive.i386.so 	quakelive.i386.so@0xe9825 	
19 	quakelive.i386.so 	quakelive.i386.so@0x280eb 	
20 	quakelive.i386.so 	quakelive.i386.so@0x2e267 	
21 	quakelive.i386.so 	quakelive.i386.so@0x6c577 	
22 	quakelive.i386.so 	quakelive.i386.so@0x6f743 	
23 	quakelive.i386.so 	quakelive.i386.so@0x881b7 	
24 	quakelive.i386.so 	quakelive.i386.so@0xf9b09 	
25 	quakelive.i386.so 	quakelive.i386.so@0xfba03 	
26 	npquakelive.i386.so 	npquakelive.i386.so@0x2b1db 	
27 	libpthread-2.10.1.so 	libpthread-2.10.1.so@0x580d 	
28 	libc-2.10.1.so 	libc-2.10.1.so@0xcc8dd 	

Show/hide other threads
Thread 0

libbonobo-activation.so.4.0.0 		DBD8A4F92F48931464C2ECDA21BCD5C60 	libbonobo-activation.so.4.0.0
libbonoboui-2.so.0.0.0 		806E48961DBA74D07A047EE53D4121AC0 	libbonoboui-2.so.0.0.0
libbonobo-2.so.0.0.0 		66A20FC34ED540A4E1EDFBA03FB633050 	libbonobo-2.so.0.0.0
npquakelive.i386.so 		B404C3BE6E7C6150D7A8ECAB2A5CBF0E0 	npquakelive.i386.so
quakelive.i386.so 		277E884BE73823DC603D24071D90409C0 	quakelive.i386.so
libXxf86dga.so.1.0.0 		F8A47FEF900BB8C00FE82C3D4FFF6FCE0 	libXxf86dga.so.1.0.0

karlt+@33885
155 // This is assuming that X operations are performed on the plugin
karlt+@33885
156 // thread. If plugins are using X on another thread, then we'll need to
karlt+@33885
157 // handle that differently.
karlt+@33885
158 PluginThreadChild::AppendNotesToCrashReport(notes); 

karlt: I don't think this is the plugin thread....
Component: Plug-ins → Quake Live
Product: Core → Plugins
QA Contact: plugins → quake-live
Summary: crash [@ linux-gate.so@0x422] → X11Error [@ linux-gate.so@0x422]
Version: 1.9.2 Branch → unspecified
(In reply to comment #1)
> karlt+@33885
> 155 // This is assuming that X operations are performed on the plugin
> karlt+@33885
> 156 // thread. If plugins are using X on another thread, then we'll need to
> karlt+@33885
> 157 // handle that differently.
> karlt+@33885
> 158 PluginThreadChild::AppendNotesToCrashReport(notes); 
> 
> karlt: I don't think this is the plugin thread....

Yes, this is not the plugin thread.

This code is not actually being hit in this case as this is a browser (GeckoProcessType_Default) crash, because quakelive is run in the browser process.  I can't recall whether CrashReporter::AppendAppNotesToCrashReport(notes) is thread-safe though.

As for the cause of the error,

> App Notes     XF86DGADirectVideo: XF86DGANoDirectVideoMode; 2 requests ago

XF86DGANoDirectVideoMode is probably not too surprising in a vm.
I wonder whether the plugin is missing a check, or perhaps we could somehow have intercepted it.

What happens with Firefox 3.6.3?
It also crashes in 3.6.3 with the same steps, but no crash reporter dialog comes up, and nothing appears in about:crashes.
Summary: X11Error [@ linux-gate.so@0x422] → XF86DGANoDirectVideoMode fatal X11Error with quakelive [@ linux-gate.so@0x422]
(In reply to comment #2)
> This code is not actually being hit in this case as this is a browser
> (GeckoProcessType_Default) crash, because quakelive is run in the browser
> process.  I can't recall whether
> CrashReporter::AppendAppNotesToCrashReport(notes) is thread-safe though.

It's not thread-safe.
Closing old bugs in the Plugins component. We aren't going to track issues in 3rd-party plugins in the Mozilla bug tracker. In addition, support for NPAPI plugins will be removed at the end of this year; for more details see the post at https://blog.mozilla.org/futurereleases/2015/10/08/npapi-plugins-in-firefox/

If there is a serious bug in Firefox, it needs to be filed in the "Core" product, "Plug-Ins" component.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE
Product: Plugins → Plugins Graveyard
You need to log in before you can comment on or make changes to this bug.