Closed Bug 680188 Opened 14 years ago Closed 6 years ago

ANGLE freezes Firefox when launching this demo. Native (force-enabled + prefer-native-gl) works.

Categories

(Core :: Graphics: CanvasWebGL, defect)

6 Branch
x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: bugs, Unassigned)

References

()

Details

(Whiteboard: webgl-driver)

Attachments

(2 files)

Tested on 2 separate ATI systems running Windows 7. 1 machine running dual HD 4870, the other, HD 4670. In both cases, accessing the page completely locked up Firefox. In both cases, setting: webgl.prefer-native-gl;true webgl.force-enabled;true worked fine. The page also, obviously, worked fine in Linux.
Can someone please reproduce this by clicking the URL in Windows in default config. Next thing to do: attach a debugger, see where it's freezing.
FWIW, I can confirm against Mozilla/5.0 (Windows NT 5.1; rv:9.0a1) Gecko/20110818 Firefox/9.0a1 ID:20110818030747 with webgl.force-enabled;true and Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.856.0 Safari/535.2 with "chrome.exe --ignore-gpu-blacklist" against my old ATI Radeon X1950 Pro with legacy and normally blocked 10.2 Drivers. As per Comment 1 a Windgb Log isn't that useful in this Case, is it?
> As per Comment 1 a Windgb Log isn't that useful in this Case, is it? Not sure what's in a windbg log; what I want to know is what's the call stack when it's frozen. Any debugger (including Windbg) can show the call stack, but for good results you'll need to be running a build with debug symbols. Alternatively, a profile (using e.g. XPerf) would be great too.
Benoit Jacob: we have this instructions for windbg: https://developer.mozilla.org/en/How_to_get_a_stacktrace_with_WinDbg and you can use the Mozilla symbol server for the debugging symbols.
Attached file WinDbg Log
Log against http://hg.mozilla.org/mozilla-central/rev/f69a10f23bf3 with forced Pref set as mentioned above. I have the DirectX SDK installed but somehow the Symbols failed to be included/resolved.
Xtc4uall: thanks! so, it's the D3DCompiler that's freezing here. That's really bad news, as we don't control that part and it's not something we can blacklist either.
Although it's not a ANGLE bug, I've filed one, http://code.google.com/p/angleproject/issues/detail?id=198 just in case there might be a possible work-around
I cannot reproduce. Maybe this is driver-version-specific and fixed in more recent drivers? Could we blacklist failing drivers? Demo runs fine on: Version 17.0a1 (my m-c trunk build from a day or two ago) Adapter Description NVIDIA Quadro 1000M Driver Version 8.17.12.7533 Driver Date 5-20-2011 WebGL Renderer Google Inc. -- ANGLE (NVIDIA Quadro 1000M) -- OpenGL ES 2.0 (ANGLE 1.0.0.1242) GPU Accelerated Windows 1/1 Direct3D 10
This should work as a testcase, but it needs someone who can reproduce the bug on the website above to check that this html file also triggers the issue.
I did some testing: System I (Win7 x64) with: Adapter Description ATI Radeon HD 4800 Series Vendor ID 0x1002 Device ID 0x9442 Adapter RAM 512 Adapter Drivers aticfx64 aticfx64 aticfx64 aticfx32 aticfx32 aticfx32 atiumd64 atidxx64 atidxx64 atiumdag atidxx32 atidxx32 atiumdva atiumd6a atitmm64 Driver Version 8.961.3.0 Driver Date 5-7-2012 Direct2D Enabled true DirectWrite Enabled true (6.1.7601.17789) running a Firefox Build of Comment 2 (i.e. ANGLE 0.0.0.686) the Issue is there using the Website and the Testcase of Comment 9 (checked also a Windbg Stack). running a recent Nightly (i.e. ANGLE 1.0.0.1242) both are WFM! Testing with Chrome Canary using ANGLE 1.0.0.1243 confirms this. System II (Win7x86) of Comment 2: With a recent Nightly/ANGLE Version and forced WebGL Prefs the Bug still exhibits. The Testcase gives a "could not initialize Shaders" Alert. => for my blocked Card Site + Testcase still fails -> expected => for my non-blocked Card Site + Testcase is now WFM Since nemo mentioned forced Prefs in Comment 0 I don't think any Action has to be done here, no?
I said forcing prefs to native is a *workaround* Default ANGLE config was what was freezing. I haven't responded in the bug yet because I don't run Windows 7 on this machine, and my coworker whose machine I tested on is on vacation until next week.
It is very possible that this bug is now fixed as we disabled a few months ago all optimizations in the D3DCompiler, exactly for that kind of reason. So, if nemo can't reproduce when his coworker comes back, that will likely be a RESOLVED FIXED rather than just a WFM.
Tested on his machine. ANGLE no longer freezes Firefox, however, the shaders do not appear to run on the demo page. You just get green CRT effect w/o the sierpinski gasket in 3D. The reduced testcase returns an alert that everything is ok. In native mode (webgl force enabled + prefer native GL) the demo works correctly and the reduced test case also reports back ok. Sooo, no more freezing, but ANGLE still can't run the demo. I guess one could consider this "fixed" as in "disabled" :)
Oh. Also, ANGLE still freezes in Firefox 14. Also the ATI driver version was 8.831 - although I imagine that may not make much difference on the ANGLE side. Might matter more for why I have to use force-enabled though. Unless you guys always require that for native mode in Windows these days.
Whiteboard: webgl-driver
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: