Closed Bug 919886 Opened 11 years ago Closed 5 years ago

Permanent hang inside D3D shader compiler when loading particular shadertoy

Categories

(Core :: Graphics: CanvasWebGL, defect)

x86_64
Windows 7
defect
Not set
major

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: kael, Unassigned)

References

()

Details

Loading the linked ShaderToy in Firefox Aurora 26.0a2 (2013-09-23) and latest Firefox Nightly as of same date causes the browser to hang indefinitely. Examining the stack in a debug build indicates that this is a non-terminating shader compile, inside the D3DCompiler v43 dll. Control never returns from the call to D3DCompile (issued by libGLESv2, on behalf of libEGL).

The shadertoy loads instantly and works fine in Google Chrome (which is also using ANGLE, I think?) and if I force Firefox to use native GL it loads instantly and works fine.

I tried forcing D3D9 (instead of D3D10) and that made no difference.

about:support follows. (I've tried a clean profile in nightly, this is just my aurora profile)

------

Application Basics
------------------

Name: Firefox
Version: 26.0a2
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0

Extensions
----------

Name: Adblock Plus
Version: 2.3.2
Enabled: true
ID: {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}

Name: Cookies Manager+
Version: 1.5.2
Enabled: true
ID: {bb6bc1bb-f824-4702-90cd-35e2fb24f25d}

Name: Download Statusbar
Version: 0.9.10
Enabled: true
ID: {D4DD63FA-01E4-46a7-B6B1-EDAB7D6AD389}

Name: Lazarus: Form Recovery
Version: 2.3
Enabled: true
ID: lazarus@interclue.com

Name: NoScript
Version: 2.6.8.1
Enabled: true
ID: {73a6fe31-595d-460b-a920-fcc0f8843232}

Name: Rikaichan
Version: 2.07
Enabled: true
ID: {0AA9101C-D3C1-4129-A9B7-D778C6A17F82}

Name: Rikaichan Japanese-English Dictionary File
Version: 2.01.130701
Enabled: true
ID: rikaichan-jpen@polarcloud.com

Name: Suspend background tabs
Version: 1.0.1
Enabled: true
ID: suspendbackgroundtabs@adblockplus.org

Name: WebPG for Mozilla
Version: 0.9.4
Enabled: true
ID: webpg-firefox@curetheitch.com

Name: about:telemetry
Version: 0.14
Enabled: false
ID: ping.telemetry@mozilla.com

Name: Default Full Zoom Level
Version: 5.8
Enabled: false
ID: {D9A7CBEC-DE1A-444f-A092-844461596C4D}

Name: Firebug
Version: 1.12.1
Enabled: false
ID: firebug@software.joehewitt.com

Name: Firefox OS Simulator
Version: 4.0
Enabled: false
ID: r2d2b2g@mozilla.org

Name: Force CORS
Version: 1.4
Enabled: false
ID: forcecors@ocact.us

Name: Gecko Profiler
Version: 1.12.7
Enabled: false
ID: jid0-edalmuivkozlouyij0lpdx548bc@jetpack

Name: JIT Inspector
Version: 0.5.0.0
Enabled: false
ID: bhackett@mozilla.com

Name: Rapportive
Version: 1.4.0.1
Enabled: false
ID: rapportive@rapportive.com

Name: Test Pilot
Version: 1.2.2
Enabled: false
ID: testpilot@labs.mozilla.com

Name: Theme Font & Size Changer
Version: 7.2
Enabled: false
ID: {f69e22c7-bc50-414a-9269-0f5c344cd94c}

Important Modified Preferences
------------------------------

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 358400
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.cache.disk.smart_size_cached_value: 358400
browser.places.smartBookmarksVersion: 4
browser.sessionstore.upgradeBackup.latestBuildID: 20130923004006
browser.startup.homepage_override.buildID: 20130923004006
browser.startup.homepage_override.mstone: 26.0a2
browser.tabs.autoHide: false
dom.max_chrome_script_run_time: 40
dom.max_script_run_time: 0
dom.mozApps.maxLocalId: 1001
dom.mozApps.used: true
dom.w3c_touch_events.expose: false
extensions.lastAppVersion: 26.0a2
font.internaluseonly.changed: false
gfx.direct3d.last_used_feature_level_idx: 0
gfx.direct3d.prefer_10_1: true
network.cookie.cookieBehavior: 0
network.cookie.prefsMigrated: true
places.database.lastMaintenance: 1379995535
places.history.expiration.transient_current_max_pages: 104858
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
plugin.state.java: 0
plugin.state.npauthz: 0
plugin.state.npdeployjava: 0
plugin.state.npgoogletalk: 0
plugin.state.npgtpo3dautoplugin: 0
plugin.state.npnv3dv: 0
plugin.state.npnv3dvstreaming: 0
plugin.state.npo1d: 0
plugin.state.nppdf: 0
plugin.state.nprun3d: 0
plugin.state.npspwrap: 0
plugin.state.npwebpg-ext-v0.6.5-winnt_x86-msvc: 2
plugin.state.npwpidetector: 0
print.printer_Canon_MP495_series_Printer.print_bgcolor: false
print.printer_Canon_MP495_series_Printer.print_bgimages: false
print.printer_Canon_MP495_series_Printer.print_colorspace:
print.printer_Canon_MP495_series_Printer.print_command:
print.printer_Canon_MP495_series_Printer.print_downloadfonts: false
print.printer_Canon_MP495_series_Printer.print_duplex: 7602290
print.printer_Canon_MP495_series_Printer.print_edge_bottom: 0
print.printer_Canon_MP495_series_Printer.print_edge_left: 0
print.printer_Canon_MP495_series_Printer.print_edge_right: 0
print.printer_Canon_MP495_series_Printer.print_edge_top: 0
print.printer_Canon_MP495_series_Printer.print_evenpages: true
print.printer_Canon_MP495_series_Printer.print_footercenter:
print.printer_Canon_MP495_series_Printer.print_footerleft: &PT
print.printer_Canon_MP495_series_Printer.print_footerright: &D
print.printer_Canon_MP495_series_Printer.print_headercenter:
print.printer_Canon_MP495_series_Printer.print_headerleft: &T
print.printer_Canon_MP495_series_Printer.print_headerright: &U
print.printer_Canon_MP495_series_Printer.print_in_color: true
print.printer_Canon_MP495_series_Printer.print_margin_bottom: 0.5
print.printer_Canon_MP495_series_Printer.print_margin_left: 0.5
print.printer_Canon_MP495_series_Printer.print_margin_right: 0.5
print.printer_Canon_MP495_series_Printer.print_margin_top: 0.5
print.printer_Canon_MP495_series_Printer.print_oddpages: true
print.printer_Canon_MP495_series_Printer.print_orientation: 0
print.printer_Canon_MP495_series_Printer.print_page_delay: 50
print.printer_Canon_MP495_series_Printer.print_paper_data: 1
print.printer_Canon_MP495_series_Printer.print_paper_height: 11.00
print.printer_Canon_MP495_series_Printer.print_paper_name:
print.printer_Canon_MP495_series_Printer.print_paper_size_type: 0
print.printer_Canon_MP495_series_Printer.print_paper_size_unit: 0
print.printer_Canon_MP495_series_Printer.print_paper_width: 8.50
print.printer_Canon_MP495_series_Printer.print_plex_name:
print.printer_Canon_MP495_series_Printer.print_resolution: 6619254
print.printer_Canon_MP495_series_Printer.print_resolution_name:
print.printer_Canon_MP495_series_Printer.print_reversed: false
print.printer_Canon_MP495_series_Printer.print_scaling: 1.00
print.printer_Canon_MP495_series_Printer.print_shrink_to_fit: true
print.printer_Canon_MP495_series_Printer.print_to_file: false
print.printer_Canon_MP495_series_Printer.print_unwriteable_margin_bottom: 0
print.printer_Canon_MP495_series_Printer.print_unwriteable_margin_left: 0
print.printer_Canon_MP495_series_Printer.print_unwriteable_margin_right: 0
print.printer_Canon_MP495_series_Printer.print_unwriteable_margin_top: 0
privacy.cpd.cookies: false
privacy.cpd.downloads: false
privacy.cpd.formdata: false
privacy.cpd.history: false
privacy.cpd.sessions: false
privacy.sanitize.migrateFx3Prefs: true
privacy.sanitize.timeSpan: 0
security.enable_ssl3: true
security.enable_tls: true
security.warn_viewing_mixed: false
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1378391153
webgl.verbose: true

Graphics
--------

Adapter Description: NVIDIA GeForce GTX 670
Adapter Drivers: nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um
Adapter RAM: 2048
Device ID: 0x1189
Direct2D Enabled: true
DirectWrite Enabled: true (6.2.9200.16571)
Driver Date: 9-12-2013
Driver Version: 9.18.13.2723
GPU #2 Active: false
GPU Accelerated Windows: 1/1 Direct3D 10
Vendor ID: 0x10de
WebGL Renderer: Google Inc. -- ANGLE (NVIDIA GeForce GTX 670 Direct3D9Ex vs_3_0 ps_3_0)
windowLayerManagerRemote: false
AzureCanvasBackend: direct2d
AzureContentBackend: direct2d
AzureFallbackCanvasBackend: cairo
AzureSkiaAccelerated: 0

JavaScript
----------

Incremental GC: true
I briefly investigated and FF23 is OK, FF24 fails. Did the ANGLE update make it into FF24?
Flags: needinfo?(jgilbert)
No, the newest update was in FF26.
Flags: needinfo?(jgilbert)
mozregression window:

Last good nightly: 2013-05-13
First bad nightly: 2013-05-17

Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=7130e5134a6e&tochange=ea767da526ff

Of note is that before the first bad nightly, there are 3-4 builds of Firefox that fail to compile the shader in the shadertoy. Maybe this is significant?
The D3D compiler is invoked twice in total (the second invocation appears to never return. The two shaders it compiles are here (grabbed them off the stack):

http://pastebin.mozilla.org/3139394
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME

Can confirm works here too. Loads very fast.

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