Closed Bug 1125466 Opened 10 years ago Closed 9 years ago

Firefox Nightly crashes on notebook with Nvidia Optimus when running on Nvidia GPU

Categories

(Core :: Graphics: Layers, defect)

35 Branch
x86_64
Windows 7
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME
Tracking Status
e10s ? ---

People

(Reporter: postfilter, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: crash, Whiteboard: [gfx-noted])

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0
Build ID: 20150108202552

Steps to reproduce:

Just open Firefox Nightly on a notebook with Nvidia Optimus set to use "High-performance Nvidia processor" (mine was MSI GS60 2QE with GTX 970M) and try to visit any website (even just default welcome message showing after installation crashes).



Actual results:

Any website that you try to visit gives just a crashed tab with following message:

---------
Tab crashed
Well, this is embarrassing. We tried to display this Web page, but it's not responding.
---------



Expected results:

Not crashing.

-------------------------

Additional information:

OS: Windows 8.1 64-bit
Nvidia GPU drivers: 347.25 (it was crashing also with 347.09)

-------------------------

"about:support" graphics section:

-------------------------
Adapter Description: Intel(R) HD Graphics 4600
Adapter Description (GPU #2): NVIDIA GeForce GTX 970M
Adapter Drivers: igdumdim64 igd10iumd64 igd10iumd64 igdumdim32 igd10iumd32 igd10iumd32
Adapter Drivers (GPU #2): nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um
Adapter RAM: Unknown
Adapter RAM (GPU #2): 3072
Device ID: 0x0416
Device ID (GPU #2): 0x13d8
Direct2D Enabled: true
DirectWrite Enabled: true (6.3.9600.17415)
Driver Date: 1-5-2015
Driver Date (GPU #2): 1-9-2015
Driver Version: 10.18.14.4080
Driver Version (GPU #2): 9.18.13.4725
GPU #2 Active: false
GPU Accelerated Windows: 1/1 Direct3D 11 (OMTC)
Subsys ID: 11021462
Subsys ID (GPU #2): 11021462
Vendor ID: 0x8086
Vendor ID (GPU #2): 0x10de
WebGL Renderer: Google Inc. -- ANGLE (NVIDIA GeForce GTX 970M Direct3D11 vs_5_0 ps_5_0)
windowLayerManagerRemote: true
AzureCanvasBackend: direct2d 1.1
AzureContentBackend: direct2d 1.1
AzureFallbackCanvasBackend: cairo
AzureSkiaAccelerated: 0
-------------------------

Tested on:

Firefox Nightly 38.0a1 (2015-01-23) - crashes
Firefox Developer Edition 37.0a2 (2015-01-23) - doesn't crash
Firefox 35.0 - doesn't crash

Firefox Nightly running on Intel GPU doesn't crash.

Also tested on another notebook, where Optimus can be disabled in BIOS (Thinkpad W520 with Quadro 2000M) and there Nightly also doesn't crash, even when running on Nvidia GPU.

-------------------------

There was this similar bug though it's already 1+ year old, so likely completely different Firefox and GPU drivers versions:

https://bugzilla.mozilla.org/show_bug.cgi?id=863186

And this one from half year ago marked "verified-fixed" (apparently for Firefox 34):

https://bugzilla.mozilla.org/show_bug.cgi?id=1008759

Also since Firefox 35 and 37 work, it looks like either a new regress or a new bug.
Bas?
Flags: needinfo?(bas)
Component: Untriaged → Graphics: Layers
Product: Firefox → Core
Version: Firefox 38 → 35 Branch
Yeah, this is likely due to Nvidia having magic in their drivers to hardblock a process named 'firefox.exe' from actually using the NVidia GPU. I'm guessing our child process -is- getting the NVidia GPU because it's not called firefox.exe, and from there on everything goes bad. It should be checked if this still occurs if you rename firefox.exe to firefx.exe.
Flags: needinfo?(bas)
Just to clarify: I'm manually setting Firefox to use Nvidia GPU (either in Nvidia Control Panel or by right-click menu). It is intended. 

Running on Intel GPU is not acceptable for me, it completely defies the point of getting Nvidia GPU (all my browsers run WebGL on Nvidia GPU, that's why I buy notebooks with dedicated GPU :).

Nvidia drivers used to block browsers from running Nvidia GPU on Optimus notebooks. This was source of a lot of pains in WebGL community:

https://groups.google.com/forum/#!topic/webgl-dev-list/V9ap--TyrkE

Fortunately this was fixed and now all browsers can be set to use Nvidia GPU (default is Intel GPU).

There is this Nvidia answer (though it's already obsolete, now even Explorer can run on Nvidia GPU):

http://nvidia.custhelp.com/app/answers/detail/a_id/3330
I found another clue. While checking other settings, I noticed "Enable E10S (multi-process)" checkbox.

I turned it off (is on in Nightly by default) and crashes stopped.
I can confirm a crash with a NVIDIA GeForce GTX 870M, Driver Date (GPU #2) 1-9-2015/Driver Version (GPU #2)	9.18.13.4725 if I force Firefox to run on the NVIDIO GPU.

renaming the firefox.exe doesn't help and you still get a crash: bp-a69cabaf-664d-4356-b838-4d6762150124 (without symbols due to local compiled build)
Status: UNCONFIRMED → NEW
Ever confirmed: true
I'll have a look at this with newer NVidia drivers that hopefully don't block me from trying it :-).
Flags: needinfo?(bas)
Whiteboard: [gfx-noted]
Nightly 32bit & 64bit (Win7 & Win10 build 9926)
e10s enabled & hwa enabled = crashing (plugin-container.exe)
e10s disabled & hwa enabled = no crash
e10s enabled & hwa disabled = no crash
e10s disabled & hwa disabled = no crash
tracking-e10s: --- → ?
http://www.geforce.com/whats-new/articles/geforce-347-52-whql-driver-released

Please test with the latest 347.52 WHQL driver release.
@NVD Still crashing here with 347.52 WHQL driver when e10s is enabled.
I have created with ADPlus crash dumps and uploaded it here:
http://remixshare.com/dl/dqkuw/20150213_211328_Crash_Mode.zip
(MD5: 77045a2cab315688d1ff3ebb87d126e8)
bas, have you had a chance to look at this again?
http://www.geforce.com/whats-new/articles/geforce-350-12-whql-driver-released

http://www.nvidia.com/download/driverResults.aspx/83821/en-us

Nvidia GeForce 350.12 WHQL driver released, please test.
@NVD I tried new Nvidia 350.12 WHQL driver with the latest Firefox Nightly and it's still the same: crashes with e10s enabled, doesn't crash with e10s disabled.
Severity: normal → critical
Keywords: crash
http://www.geforce.com/whats-new/articles/geforce-352-86-whql-driver-released

Release notes says "[Firefox] Firefox Nightly crashes when started on the NVIDIA GPU on an Optimus
system. [1609030]"

Please test this new WHQL driver.
@NVD Thanks for the heads up. I tested with latest Firefox Nightly 41.0a1 (2015-05-17) and 352.86 driver: crashes are gone for me, both e10s enabled and disabled states now work. Yay!

Though now that e10s finally works for me I noticed WebGL performance can be much worse in some demos. It can be as bad as almost half the framerate vs e10s disabled. See e.g. here:

http://alteredqualia.com/xg/examples/animation_physics_ammo.html (36-40 fps vs 60 fps)
http://alteredqualia.com/xg/examples/animation_physics_level.html (30-35 fps vs 60 fps)

Not sure if this is expected / known issue? Should I file a new issue about it?
(In reply to AlteredQualia from comment #18)
> @NVD Thanks for the heads up. I tested with latest Firefox Nightly 41.0a1
> (2015-05-17) and 352.86 driver: crashes are gone for me, both e10s enabled
> and disabled states now work. Yay!
> 
> Though now that e10s finally works for me I noticed WebGL performance can be
> much worse in some demos. It can be as bad as almost half the framerate vs
> e10s disabled. See e.g. here:
> 
> http://alteredqualia.com/xg/examples/animation_physics_ammo.html (36-40 fps
> vs 60 fps)
> http://alteredqualia.com/xg/examples/animation_physics_level.html (30-35 fps
> vs 60 fps)
> 
> Not sure if this is expected / known issue? Should I file a new issue about
> it?

This is bug 1144906.
Confirmed, with the new driver it did not crash on startup anymore with e10s and HWA enabled.
(In reply to MrX1980 from comment #20)
> Confirmed, with the new driver it did not crash on startup anymore with e10s
> and HWA enabled.

Kicking back to e10s triage.  How or should this report be resolved?
Flags: needinfo?(bas)
Sounds like this is WFM, reopen if you still see it
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.