Closed
Bug 625118
Opened 14 years ago
Closed 13 years ago
[Intel card] Crash on one WebGL conformance test [@ ig4icd32.dll@0x5769e ] with OpenGL (8.15.10.2226) renderer
Categories
(Core :: Graphics: CanvasWebGL, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: scoobidiver, Assigned: bjacob)
References
()
Details
(Keywords: crash)
Crash Data
Attachments
(1 file, 2 obsolete files)
1.38 KB,
patch
|
vlad
:
review+
joe
:
approval2.0+
|
Details | Diff | Splinter Review |
I consistently crash in the ref. URL in 4.0b9. There is no crash on other Web conformance tests. Signature ig4icd32.dll@0x5769e UUID 1093b7d6-0166-4fdf-890a-f65b22110112 Time 2011-01-12 10:35:22.61100 Uptime 42 Last Crash 46 seconds before submission Install Age 88663 seconds (1.0 days) since version was first installed. Product Firefox Version 4.0b9 Build ID 20110110191547 Branch 2.0 OS Windows NT OS Version 6.1.7600 CPU x86 CPU Info GenuineIntel family 6 model 23 stepping 10 Crash Reason EXCEPTION_ACCESS_VIOLATION_READ Crash Address 0x0 App Notes AdapterVendorID: 8086, AdapterDeviceID: 2a42 Frame Module Signature [Expand] Source 0 ig4icd32.dll ig4icd32.dll@0x5769e 1 xul.dll NS_InvokeByIndex_P xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp:102 2 xul.dll XPC_WN_CallMethod js/src/xpconnect/src/xpcwrappednativejsops.cpp:1593 3 mozjs.dll CallCompiler::generateNativeStub js/src/methodjit/MonoIC.cpp:691 4 mozjs.dll js::mjit::ic::NativeCall js/src/methodjit/MonoIC.cpp:898 5 @0x9beb9a6 6 mozjs.dll js::mjit::EnterMethodJIT js/src/methodjit/MethodJIT.cpp:748 7 mozjs.dll CheckStackAndEnterMethodJIT js/src/methodjit/MethodJIT.cpp:774 8 mozjs.dll js::mjit::JaegerShot js/src/methodjit/MethodJIT.cpp:791 9 mozjs.dll js::RunScript js/src/jsinterp.cpp:654 10 mozjs.dll js::Execute js/src/jsinterp.cpp:1023 11 mozjs.dll js::EvalKernel js/src/jsobj.cpp:1266 12 mozjs.dll js::DirectEval js/src/jsinterp.cpp:1368 13 mozjs.dll js::mjit::stubs::Eval js/src/methodjit/InvokeHelpers.cpp:447 14 @0x9be43e8 15 mozjs.dll js::mjit::EnterMethodJIT js/src/methodjit/MethodJIT.cpp:748 16 mozjs.dll CheckStackAndEnterMethodJIT js/src/methodjit/MethodJIT.cpp:774 17 mozjs.dll js::mjit::JaegerShot js/src/methodjit/MethodJIT.cpp:791 18 mozjs.dll js::RunScript js/src/jsinterp.cpp:654 19 mozjs.dll js::Execute js/src/jsinterp.cpp:1023 20 mozjs.dll JS_EvaluateUCScriptForPrincipals js/src/jsapi.cpp:4920 21 mozjs.dll JS_EvaluateUCScriptForPrincipalsVersion js/src/jsapi.cpp:4896 22 xul.dll nsJSContext::EvaluateString dom/base/nsJSEnvironment.cpp:1734 Description de la carte : Mobile Intel(R) 4 Series Express Chipset Family ID du vendeur : 8086 ID du périphérique : 2a42 RAM de la carte : Unknown Pilotes de la carte : igdumd64 igd10umd64 igdumdx32 igd10umd32 Version du pilote : 8.15.10.2226 Date du pilote : 10-15-2010 Direct2D activé : true DirectWrite activé : true Rendu WebGL : Intel -- Mobile Intel(R) 4 Series Express Chipset Family -- 2.1.0 - Build 8.15.10.2226 Fenêtres avec accélération graphique : 1/1 Direct3D 10
Assignee | ||
Comment 1•14 years ago
|
||
The solution is to blacklist OpenGL on Intel cards altogether. Will write the patch. Meanwhile if you want WebGL on your machine, install the DirectX runtime so Firefox will be able to use ANGLE. We're working on legal details to have this installed automatically.
Reporter | ||
Comment 2•14 years ago
|
||
> Meanwhile if you want WebGL on your machine, install the DirectX runtime so
> Firefox will be able to use ANGLE. We're working on legal details to have this
> installed automatically.
Now my WebGL renderer is:
Rendu WebGL : TransGaming Inc. -- ANGLE -- OpenGL ES 2.0 (git-devel Jan 10 2011 19:54:16)
And it does not crash any longer.
Summary: [Intel card] Crash on one WebGL conformance test [@ ig4icd32.dll@0x5769e ] (8.15.10.2226) → [Intel card] Crash on one WebGL conformance test [@ ig4icd32.dll@0x5769e ] with OpenGL (8.15.10.2226) renderer
Assignee | ||
Comment 3•14 years ago
|
||
Here we go, there's a comment in the patch explaining this.
Attachment #503275 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 4•14 years ago
|
||
****! Filed this in the wrong bug
Assignee | ||
Comment 5•14 years ago
|
||
This is what I meant to attach here.
Assignee: nobody → bjacob
Attachment #503275 -
Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #503281 -
Flags: review?(jmuizelaar)
Attachment #503275 -
Flags: review?(jmuizelaar)
Comment on attachment 503281 [details] [diff] [review] block WebGL when discouraged (e.g. intel OpenGL) ># HG changeset patch ># Parent 672664d3af0e4d2520b4494db732375ab03faf10 >diff --git a/content/canvas/src/WebGLContext.cpp b/content/canvas/src/WebGLContext.cpp >--- a/content/canvas/src/WebGLContext.cpp >+++ b/content/canvas/src/WebGLContext.cpp >@@ -413,26 +413,22 @@ WebGLContext::SetDimensions(PRInt32 widt > // Ask GfxInfo about what we should use > PRBool useOpenGL = PR_TRUE; > PRBool useANGLE = PR_TRUE; > > nsCOMPtr<nsIGfxInfo> gfxInfo = do_GetService("@mozilla.org/gfx/info;1"); > if (gfxInfo) { > PRInt32 status; > if (NS_SUCCEEDED(gfxInfo->GetFeatureStatus(nsIGfxInfo::FEATURE_WEBGL_OPENGL, &status))) { >- if (status == nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION || >- status == nsIGfxInfo::FEATURE_BLOCKED_DEVICE) >- { >+ if (status != nsIGfxInfo::FEATURE_NO_INFO) { > useOpenGL = PR_FALSE; > } > } This part is good... > if (NS_SUCCEEDED(gfxInfo->GetFeatureStatus(nsIGfxInfo::FEATURE_WEBGL_ANGLE, &status))) { >- if (status == nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION || >- status == nsIGfxInfo::FEATURE_BLOCKED_DEVICE) >- { >+ if (status != nsIGfxInfo::FEATURE_NO_INFO) { > useANGLE = PR_FALSE; > } > } > } This part isn't -- if we have no info about ANGLE, we should use ANGLE. That is, we always want to use ANGLE, except on non-intel platforms where we're ok to try native GL as well. This is all really convoluted unfortunately, and at some point we may want to rework it. Doesn't have to be in this big, just attaching thoughts here. I'm thinking we just want: webgl.renderer pref "auto", "angle", "gl" if "auto": try ANGLE first, if not blocked try GL second, if not blocked if "angle": try ANGLE only, ignore block status; never try desktop GL if "gl" try GL only, ignoe block status; never try desktop GL Also, this patch has a pile of webgl conformance test fixes in it? >diff --git a/content/canvas/test/webgl/test_webgl_conformance_test_suite.html b/content/canvas/test/webgl/test_webgl_conformance_test_suite.html
Attachment #503281 -
Flags: review?(jmuizelaar) → review-
Assignee | ||
Comment 7•13 years ago
|
||
Removed the unwanted stuff that crept into the patch. But I don't understand your other comment. WEBGL_OPENGL is discouraged, but WEBGL_ANGLE isn't. So my code isn't blocking ANGLE from being used here.
Attachment #505156 -
Flags: review?(vladimir)
Assignee | ||
Updated•13 years ago
|
Attachment #503281 -
Attachment is obsolete: true
(In reply to comment #7) > Created attachment 505156 [details] [diff] [review] > block WebGL when discouraged (e.g. intel OpenGL) > > Removed the unwanted stuff that crept into the patch. > > But I don't understand your other comment. WEBGL_OPENGL is discouraged, but > WEBGL_ANGLE isn't. So my code isn't blocking ANGLE from being used here. if querying FEATURE_WEBGL_ANGLE returns NO_INFO, the code as written will set useANGLE to PR_FALSE, preventing ANGLE from being used, right?
Assignee | ||
Comment 10•13 years ago
|
||
Are you misreading != as == ? I guess that the double negation here ( != NO_INFO ) is a bit misleading?
ugh sorry, you're right -- I kept reading == instead of !=. Fine as-is.
Attachment #505156 -
Flags: review?(vladimir) → review+
Updated•13 years ago
|
Attachment #505156 -
Flags: feedback+
Updated•13 years ago
|
Attachment #505156 -
Flags: feedback+ → approval2.0+
Assignee | ||
Comment 12•13 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/c3d566d61062
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Updated•13 years ago
|
Crash Signature: [@ ig4icd32.dll@0x5769e ]
You need to log in
before you can comment on or make changes to this bug.
Description
•