[Win64] Google MapsGL crash, in D3D9, called from ANGLE's glFinish

RESOLVED FIXED

Status

()

Core
Canvas: WebGL
--
critical
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: Gabriel Chadwick, Unassigned)

Tracking

Trunk
x86_64
Windows 7
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

6 years ago
Firefox crashes in the WebGl version of Google Maps.

STR :

Visit maps.google.com/gl
Follow invite and activate WebGl.
Wait and Firefox will crash.

Always reproducible.

Works in Chrome.

Using



  Paramètres de base de l'application

        Nom
        Firefox

        Version
        9.0a2

        Agent utilisateur
        Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0a2) Gecko/20111013 Firefox/9.0a2

        Répertoire de profil

          Ouvrir le dossier correspondant

        Plugins activés

          about:plugins

        Configuration de compilation

          about:buildconfig

        Rapports de plantage

          about:crashes

        Utilisation mémoire

          about:memory

  Extensions

        Nom

        Version

        Activée

        ID

        Add-on Compatibility Reporter
        0.9.2
        true
        compatibility@addons.mozilla.org

        Enter Selects
        6
        true
        enter.selects@agadak.net

        Test Pilot
        1.2
        true
        testpilot@labs.mozilla.com

  Préférences modifiées

      Nom

      Valeur

        accessibility.typeaheadfind.flashBar
        0

        browser.places.smartBookmarksVersion
        2

        browser.startup.homepage_override.buildID
        20111013042015

        browser.startup.homepage_override.mstone
        rv:9.0a2

        extensions.checkCompatibility
        false

        extensions.checkCompatibility.3.6
        false

        extensions.checkCompatibility.3.6b
        false

        extensions.checkCompatibility.3.6p
        false

        extensions.checkCompatibility.3.6pre
        false

        extensions.checkCompatibility.3.7a
        false

        extensions.checkCompatibility.4.0
        false

        extensions.checkCompatibility.4.0b
        false

        extensions.checkCompatibility.4.0p
        false

        extensions.checkCompatibility.4.0pre
        false

        extensions.checkCompatibility.4.2
        false

        extensions.checkCompatibility.4.2a
        false

        extensions.checkCompatibility.4.2b
        false

        extensions.checkCompatibility.4.2p
        false

        extensions.checkCompatibility.4.2pre
        false

        extensions.checkCompatibility.5.0
        false

        extensions.checkCompatibility.5.0a
        false

        extensions.checkCompatibility.5.0b
        false

        extensions.checkCompatibility.5.0p
        false

        extensions.checkCompatibility.5.0pre
        false

        extensions.checkCompatibility.6.0
        false

        extensions.checkCompatibility.6.0a
        false

        extensions.checkCompatibility.7.0
        false

        extensions.checkCompatibility.7.0a
        false

        extensions.checkCompatibility.8.0
        false

        extensions.checkCompatibility.8.0a
        false

        extensions.checkCompatibility.9.0
        false

        extensions.checkCompatibility.9.0a
        false

        extensions.checkCompatibility.nightly
        false

        extensions.lastAppVersion
        9.0a2

        general.useragent.extra.brc

        network.cookie.prefsMigrated
        true

        places.database.lastMaintenance
        1318370569

        places.history.expiration.transient_current_max_pages
        102097

        places.history.expiration.transient_optimal_database_size
        163354868

        privacy.sanitize.migrateFx3Prefs
        true

        security.warn_viewing_mixed
        false

  Accélération graphique

        Description de la carte
        Intel(R) HD Graphics

        ID du vendeur
        8086

        ID du périphérique
        0046

        RAM de la carte
        Unknown

        Pilotes de la carte
        igdumd64 igd10umd64 igdumdx32 igd10umd32

        Version du pilote
        8.15.10.2342

        Date du pilote
        3-25-2011

        RAM de la carte (GPU #2)
        Unknown

        Pilote de la carte (GPU #2)
        Unknown

        Direct2D activé
        true

        DirectWrite activé
        true (6.1.7601.17563)

        Paramètres ClearType
        Paramètres ClearType introuvables

        Rendu WebGL
        Google Inc. -- ANGLE (Intel(R) HD Graphics) -- OpenGL ES 2.0 (ANGLE 0.0.0.740)

        Fenêtres avec accélération graphique
        1/1 Direct3D 10
(Reporter)

Updated

6 years ago
Status: NEW → UNCONFIRMED
Ever confirmed: false
Does it also crash in Nightly (Firefox 10.0a1)? nightly.mozilla.org

In Beta?

Beta uses ANGLE r686
Aurora uses ANGLE r740
Nightly uses ANGLE r774
oh also, Nightly has D3DCompiler optimization turned off like Chrome, which is another reason to hope that it won't crash.

Comment 3

6 years ago
Tested with Nightly (rev: 46a6d0fd13d5), no crash happened. Took Guided tour of MapsGL).
OK so it's fixed in Nightly; if we get other reports about that we'll probably want to backport bug 658826.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
(Reporter)

Comment 5

6 years ago
Still hanging forever forcing a crash for me using Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:10.0a1) Gecko/20111014 Firefox/10.0a1 rev: 9545b88eed82 with previous configuration.
Status: RESOLVED → UNCONFIRMED
Resolution: FIXED → ---
Version: 9 Branch → Trunk

Comment 6

6 years ago
Adapter Description: NVIDIA GeForce GTX 460
Vendor ID: 10de
Device ID: 0e22
Adapter RAM: 1024
Adapter Drivers: nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um
Driver Version: 8.17.12.8538
Driver Date: 9-22-2011
Adapter RAM (GPU #2):Unknown
Adapter Drivers (GPU #2:)Unknown
Direct2D Enabled: true
DirectWrite Enabled: true (6.1.7601.17563)
ClearType Parameters: Gamma: 2200 Pixel Structure: RGB ClearType Level: 0 Enhanced Contrast: 400 
WebGL Renderer: Google Inc. -- ANGLE (NVIDIA GeForce GTX 460) -- OpenGL ES 2.0 (ANGLE 0.0.0.774)
GPU Accelerated Windows: 1/1 Direct3D 10

I am using 32 bit Nightly. As per Gabriel comment, he is using 64-bit nightly. Is there any different version of ANGLE for 32 bit and 64 bit Nightly?
With revision as mentioned above, its working fine.
The same ANGLE is used in 32 and 64bit versions.

If, as I suspect, this is again the D3DCompiler hang, then it's known to be very flaky/intermittent. The way to know would be to attach a debugger when it hangs and see if it's inside of D3DCompiler_43.dll
This are the instructions for a stacktrace with windbg :
https://developer.mozilla.org/en/How_to_get_a_stacktrace_with_WinDbg
(Reporter)

Comment 9

6 years ago
Created attachment 567300 [details]
Stacktrace

Here is a stacktrace produced with rev: 6d5fd5a30c71 Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:10.0a1) Gecko/20111015 Firefox/10.0a1
Relevant part of the stack trace:

Child-SP          RetAddr           Call Site
00000000`0025c3e8 000007fe`eec12c7f d3d9!CBatchFilterI::ReferenceAllResources+0x1a
00000000`0025c3f0 000007fe`eec151f3 d3d9!CBatchFilterI::FlushBatchWorkerThread+0xb7
00000000`0025c420 000007fe`eeb62a12 d3d9!CBatchFilterI::LHBatchFlush+0x17
00000000`0025c450 000007fe`eeb62b39 d3d9!CD3DDDIDX10::GetQueryData+0xef
00000000`0025c4c0 000007fe`eeaaaa5f d3d9!CQuery::GetData+0x139
00000000`0025c550 000007fe`eeab5729 libGLESv2!gl::Context::finish(void)+0x1f7 [e:\builds\moz2_slave\m-cen-w64-ntly\build\gfx\angle\src\libglesv2\context.cpp @ 2828]
00000000`0025c5b0 000007fe`efd0f599 libGLESv2!glFinish(void)+0x31 [e:\builds\moz2_slave\m-cen-w64-ntly\build\gfx\angle\src\libglesv2\libglesv2.cpp @ 1954]
00000000`0025c5f0 000007fe`efd0f8d7 xul!mozilla::layers::CanvasLayerD3D10::UpdateSurface(void)+0x81 [e:\builds\moz2_slave\m-cen-w64-ntly\build\gfx\layers\d3d10\canvaslayerd3d10.cpp @ 161]
00000000`0025c660 000007fe`efd10da1 xul!mozilla::layers::CanvasLayerD3D10::RenderLayer(void)+0x23 [e:\builds\moz2_slave\m-cen-w64-ntly\build\gfx\layers\d3d10\canvaslayerd3d10.cpp @ 260]
00000000`0025c6c0 000007fe`efd10da1 xul!mozilla::layers::ContainerLayerD3D10::RenderLayer(void)+0x585 [e:\builds\moz2_slave\m-cen-w64-ntly\build\gfx\layers\d3d10\containerlayerd3d10.cpp @ 302]
00000000`0025c900 000007fe`efd149c4 xul!mozilla::layers::ContainerLayerD3D10::RenderLayer(void)+0x585 [e:\builds\moz2_slave\m-cen-w64-ntly\build\gfx\layers\d3d10\containerlayerd3d10.cpp @ 302]
00000000`0025cb40 000007fe`efd150ad xul!mozilla::layers::LayerManagerD3D10::Render(void)+0x148 [e:\builds\moz2_slave\m-cen-w64-ntly\build\gfx\layers\d3d10\layermanagerd3d10.cpp @ 713]
00000000`0025d750 000007fe`ef32ad55 xul!mozilla::layers::LayerManagerD3D10::EndTransaction(<function> * aCallback = 0x00000000`00000000, void * aCallbackData = 0x00000000`00000000, mozilla::layers::LayerManager::EndTransactionFlags aFlags = 0n31613280 (No matching enumerant))+0x4d [e:\builds\moz2_slave\m-cen-w64-ntly\build\gfx\layers\d3d10\layermanagerd3d10.cpp @ 356]
00000000`0025d7c0 000007fe`ef32bde6 xul!nsDisplayList::PaintForFrame(class nsDisplayListBuilder * aBuilder = 0x00000000`00000005, class nsRenderingContext * aCtx = 0x00000000`00000004, class nsIFrame * aForFrame = 0x00000000`06db0bf0, unsigned int aFlags = 5)+0x31d [e:\builds\moz2_slave\m-cen-w64-ntly\build\layout\base\nsdisplaylist.cpp @ 628]
00000000`0025d900 000007fe`ef33fe2c xul!nsDisplayList::PaintRoot(class nsDisplayListBuilder * aBuilder = 0x00000000`00000001, class nsRenderingContext * aCtx = 0x00000000`00000104, unsigned int aFlags = 0)+0x12 [e:\builds\moz2_slave\m-cen-w64-ntly\build\layout\base\nsdisplaylist.cpp @ 539]
00000000`0025d940 000007fe`ef35377e xul!nsLayoutUtils::PaintFrame(class nsRenderingContext * aRenderingContext = 0x00000000`00000000, class nsIFrame * aFrame = 0x00000000`00000000, class nsRegion * aDirtyRegion = 0x00000000`06db0bf0, unsigned int aBackstop = 0, unsigned int aFlags = 4)+0x83c [e:\builds\moz2_slave\m-cen-w64-ntly\build\layout\base\nslayoututils.cpp @ 1703]
00000000`0025e090 000007fe`ef63519b xul!PresShell::Paint(class nsIView * aViewToPaint = 0x00000000`0722fce0, class nsIWidget * aWidgetToPaint = 0x00000000`04519400, class nsRegion * aDirtyRegion = 0x00000000`01e4db60, class nsIntRegion * aIntDirtyRegion = 0x00000000`0025e4e0, bool aPaintDefaultBackground = true, bool aWillSendDidPaint = false)+0x112 [e:\builds\moz2_slave\m-cen-w64-ntly\build\layout\base\nspresshell.cpp @ 5421]


So this is crashing in Direct3D 9, not in D3DCompiler, called from ANGLE's implementation of glFinish. We've seen that before, but I can't find the bug report at the moment.
Summary: Google maps Webgl crashes without crash report → Google MapsGL crash, in D3D9, called from ANGLE's glFinish
Filed http://code.google.com/p/angleproject/issues/detail?id=232
(Reporter)

Updated

6 years ago
Status: UNCONFIRMED → NEW
Ever confirmed: true
This seems to be a bug in the 64bit version of the D3D9 runtime.
Summary: Google MapsGL crash, in D3D9, called from ANGLE's glFinish → [Win64] Google MapsGL crash, in D3D9, called from ANGLE's glFinish
(Reporter)

Comment 13

6 years ago
This could be fixed in R808 http://code.google.com/p/angleproject/issues/detail?id=232
Blocks: 697333
No longer blocks: 697333
Depends on: 697333
(Reporter)

Comment 14

6 years ago
Fixed by 697333.
Status: NEW → RESOLVED
Last Resolved: 6 years ago6 years ago
Resolution: --- → FIXED

Comment 15

6 years ago
Hi - We're seeing a number of users reporting Firefox crashing when loading mapsGL; it sounds like it could be the same issue - was this bug fix pushed to stable, and if not, could it be prioritized / would there be a workaround on our end?

Here are some forum reports: (the first contains two users listing their about:support info)

+ http://www.google.com/support/forum/p/maps/thread?tid=2d39ff7f98df3aae&hl=en&fid=2d39ff7f98df3aae0004b300a588f9cc
+ http://www.google.com/support/forum/p/maps/thread?tid=121c7f29aa25b341&hl=en


If you do not think this is a duplicate, I will file a separate bug.
Thanks for letting us know. At first glance, this doesn't look like the same bug: these users are reporting that their display drivers are crashing ("Display Driver stopped responding and has recovered") while the present bug is about a Firefox crash or hang, not a driver crash.

This also explains why we didn't know about this: when peoples' display drivers crash, we don't automatically get a report about that, contrary to when Firefox crashes.
You need to log in before you can comment on or make changes to this bug.