Bug 215725 - [GLIB] REGRESSION(r265975): context-lost-restored.html is failing and two other WebGL tests are crashing
Summary: [GLIB] REGRESSION(r265975): context-lost-restored.html is failing and two oth...
Status: RESOLVED DUPLICATE of bug 216337
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
: 215726 (view as bug list)
Depends on: 215599 216337
Blocks:
  Show dependency treegraph
 
Reported: 2020-08-20 21:50 PDT by Diego Pino
Modified: 2020-10-20 22:10 PDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Pino 2020-08-20 21:50:20 PDT
After r265975 webgl/1.0.3/conformance/context/context-lost-restored.html should be passing but the test is failing in WebKitGTK/WPE. The ports have their own baseline. Here's the diff:

Diff: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r265997%20(15366)/webgl/1.0.3/conformance/context/context-lost-restored-diff.txt

--- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/webgl/1.0.3/conformance/context/context-lost-restored-expected.txt
+++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/webgl/1.0.3/conformance/context/context-lost-restored-actual.txt
@@ -41,17 +41,17 @@
 [ 38: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.bindTexture(gl.TEXTURE_2D, texture)
 [ 39: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.useProgram(program)
 [ 40: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.bindBuffer(gl.ARRAY_BUFFER, bufferObjects[0])
-[ 41: FAIL ] getError expected: INVALID_ENUM. Was NO_ERROR : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.FLOAT, null)
-[ 42: PASS ] newExtension != null is true
-[ 43: FAIL ] newExtension.webglTestProperty === undefined should be true. Was false.
-[ 44: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.FLOAT, null)
-[ 45: FAIL ] OES_vertex_array_object.createVertexArrayOES() should be null. Was [object WebGLVertexArrayObjectOES].
-[ 46: PASS ] newExtension != null is true
-[ 47: FAIL ] newExtension.webglTestProperty === undefined should be true. Was false.
-[ 48: PASS ] OES_vertex_array_object.createVertexArrayOES() != null is true
-[ 49: FAIL ] old_OES_vertex_array_object.createVertexArrayOES() == null should be true. Was false.
+[ 41: PASS ] getError was expected value: INVALID_ENUM : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.FLOAT, null)
+[ 42: FAIL ] newExtension != null should be true. Was false.
+[ 43: FAIL ] newExtension.webglTestProperty === undefined should be true. Threw exception TypeError: undefined is not an object (evaluating 'newExtension.webglTestProperty')
+[ 44: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.FLOAT, null)
+[ 45: PASS ] OES_vertex_array_object.createVertexArrayOES() is null
+[ 46: FAIL ] newExtension != null should be true. Was false.
+[ 47: FAIL ] newExtension.webglTestProperty === undefined should be true. Threw exception TypeError: undefined is not an object (evaluating 'newExtension.webglTestProperty')
+[ 48: FAIL ] OES_vertex_array_object.createVertexArrayOES() != null should be true. Threw exception TypeError: undefined is not an object (evaluating 'OES_vertex_array_object.createVertexArrayOES')
+[ 49: PASS ] old_OES_vertex_array_object.createVertexArrayOES() == null is true
 [ 50: PASS ] newExtension != null is true
 [ 51: PASS ] newExtension.webglTestProperty === true is true
 [ 52: PASS ] successfullyParsed is true
-[ FAIL ] 5 failures reported
+[ FAIL ] 6 failures reported


In addition two other WebGL tests are failing:

Regressions: Unexpected crashes (2)
        fast/canvas/webgl/webgl-compressed-texture-astc.html [ Crash ]
        webgl/1.0.3/conformance/extensions/get-extension.html [ Crash ]
Comment 1 Lauro Moura 2020-08-20 22:11:56 PDT
*** Bug 215726 has been marked as a duplicate of this bug. ***
Comment 2 Lauro Moura 2020-08-20 22:13:28 PDT
(In reply to Diego Pino from comment #0)
> 
> Regressions: Unexpected crashes (2)
>         fast/canvas/webgl/webgl-compressed-texture-astc.html [ Crash ]
>         webgl/1.0.3/conformance/extensions/get-extension.html [ Crash ]

Both when enabling WebGLCompressedTextureASTC. Trace:

Thread 1 (Thread 0x7f18436fc2c0 (LWP 24571)):
#0  0x00007f185c23ad61 in WebCore::WebGLExtension::operator new(unsigned long) (size=32) at ../../Source/WebCore/html/canvas/WebGLExtension.cpp:36
#1  0x00007f185c24a088 in WebCore::WebGLRenderingContext::getExtension(WTF::String const&) (this=0x7effed8fb540, name=...) at ../../Source/WebCore/html/canvas/WebGLRenderingContext.cpp:161
#2  0x00007f185aecff4d in WebCore::jsWebGLRenderingContextPrototypeFunctionGetExtensionBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGLRenderingContext*) (lexicalGlobalObject=0x7effedb61068, callFrame=0x7fff48956320, castedThis=0x7effd33ca728) at DerivedSources/WebCore/JSWebGLRenderingContext.cpp:6473
#3  0x00007f185aea4f89 in WebCore::IDLOperation<WebCore::JSWebGLRenderingContext>::call<&WebCore::jsWebGLRenderingContextPrototypeFunctionGetExtensionBody, (WebCore::CastedThisErrorBehavior)0>(JSC::JSGlobalObject&, JSC::CallFrame&, char const*) (lexicalGlobalObject=..., callFrame=..., operationName=0x7f185fa4d0de "getExtension") at ../../Source/WebCore/bindings/js/JSDOMOperation.h:53
#4  0x00007f185aea4c64 in WebCore::jsWebGLRenderingContextPrototypeFunctionGetExtension(JSC::JSGlobalObject*, JSC::CallFrame*) (lexicalGlobalObject=0x7effedb61068, callFrame=0x7fff48956320) at DerivedSources/WebCore/JSWebGLRenderingContext.cpp:6478
#5  0x00007f1802a87178 in  ()
#6  0x00007fff489563b0 in  ()
#7  0x00007f184a961650 in llint_op_call () at /app/webkit/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18
#8  0x0000000000000000 in  ()
Comment 3 Kenneth Russell 2020-08-21 10:40:47 PDT
That crash is mysterious and a little worrisome. A crash in operator new probably indicates memory corruption. Was there an underlying bug in r265975? Can you help debug into it on WebKitGTK/WPE?
Comment 4 Radar WebKit Bug Importer 2020-08-27 21:51:13 PDT
<rdar://problem/67918406>
Comment 5 Dean Jackson 2020-09-04 15:29:45 PDT
Diego, it looks like the context-lost-restored expectation for linux just needs updating, but the new crashes are a concern. Are you able to reproduce them?
Comment 6 Diego Pino 2020-10-05 12:04:20 PDT
The crashing tests have been passing since some time ago. I inspected the interval were the tests started passing and it seems the crash was fixed by r266809.

I will update the GLIB baseline for webgl/1.0.3/conformance/context/context-lost-restored.html and close the issue.
Comment 7 Kenneth Russell 2020-10-05 15:05:57 PDT
The crashes were almost surely fixed by dino@'s fix for Bug 216337; they were introduced in my patch for Bug 215599 (sorry!).
Comment 8 Kenneth Russell 2020-10-20 22:10:03 PDT

*** This bug has been marked as a duplicate of bug 216337 ***