Last Comment Bug 694495 - [Win64] Google MapsGL crash, in D3D9, called from ANGLE's glFinish
: [Win64] Google MapsGL crash, in D3D9, called from ANGLE's glFinish
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Canvas: WebGL (show other bugs)
: Trunk
: x86_64 Windows 7
: -- critical with 1 vote (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
:
: Milan Sreckovic [:milan]
Mentors:
Depends on: 697333
Blocks:
  Show dependency treegraph
 
Reported: 2011-10-13 21:09 PDT by Gabriel Chadwick
Modified: 2011-11-30 22:28 PST (History)
11 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Stacktrace (84.75 KB, text/plain)
2011-10-15 13:50 PDT, Gabriel Chadwick
no flags Details

Description Gabriel Chadwick 2011-10-13 21:09:32 PDT
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
Comment 1 Benoit Jacob [:bjacob] (mostly away) 2011-10-13 21:13:54 PDT
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
Comment 2 Benoit Jacob [:bjacob] (mostly away) 2011-10-13 21:14:38 PDT
oh also, Nightly has D3DCompiler optimization turned off like Chrome, which is another reason to hope that it won't crash.
Comment 3 Zlip792 2011-10-14 02:41:35 PDT
Tested with Nightly (rev: 46a6d0fd13d5), no crash happened. Took Guided tour of MapsGL).
Comment 4 Benoit Jacob [:bjacob] (mostly away) 2011-10-14 05:58:24 PDT
OK so it's fixed in Nightly; if we get other reports about that we'll probably want to backport bug 658826.
Comment 5 Gabriel Chadwick 2011-10-14 08:45:05 PDT
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.
Comment 6 Zlip792 2011-10-14 08:59:30 PDT
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.
Comment 7 Benoit Jacob [:bjacob] (mostly away) 2011-10-14 10:46:09 PDT
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
Comment 8 Matthias Versen [:Matti] 2011-10-14 11:50:26 PDT
This are the instructions for a stacktrace with windbg :
https://developer.mozilla.org/en/How_to_get_a_stacktrace_with_WinDbg
Comment 9 Gabriel Chadwick 2011-10-15 13:50:49 PDT
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
Comment 10 Benoit Jacob [:bjacob] (mostly away) 2011-10-15 14:38:33 PDT
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.
Comment 11 Benoit Jacob [:bjacob] (mostly away) 2011-10-16 11:05:20 PDT
Filed http://code.google.com/p/angleproject/issues/detail?id=232
Comment 12 Benoit Jacob [:bjacob] (mostly away) 2011-10-19 12:04:45 PDT
This seems to be a bug in the 64bit version of the D3D9 runtime.
Comment 13 Gabriel Chadwick 2011-10-25 20:01:52 PDT
This could be fixed in R808 http://code.google.com/p/angleproject/issues/detail?id=232
Comment 14 Gabriel Chadwick 2011-11-08 18:51:32 PST
Fixed by 697333.
Comment 15 Amanda 2011-11-30 21:23:17 PST
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.
Comment 16 Benoit Jacob [:bjacob] (mostly away) 2011-11-30 22:28:31 PST
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.

Note You need to log in before you can comment on or make changes to this bug.