Crash in blink::EventTarget::dispatchEvent |
||||||
Issue descriptionDetailed report: https://cluster-fuzz.appspot.com/testcase?key=5891992748032000 Fuzzer: mbarbella_js_mutation_layout Job Type: windows_syzyasan_content_shell Platform Id: windows Crash Type: UNKNOWN Crash Address: 0x00000003 Crash State: blink::EventTarget::dispatchEvent blink::WebGLRenderingContextBase::dispatchContextLostEvent blink::Timer<blink::ImageLoader>::fired Regressed: https://cluster-fuzz.appspot.com/revisions?job=windows_syzyasan_content_shell&range=406809:406906 Minimized Testcase (0.65 Kb): Download: https://cluster-fuzz.appspot.com/download/AMIfv94EpiiLcE_sV3XKejHRKgey-iE4IoNtBmM4YJ9QPF-5zJcmpWhrquTNfaf_Mzu-0Rstw9FzzwT270KX-hMN1afz3jFhO29AYYtflyDy_1Tontncl9WopGxETEEuLZDWG6WKkNKl42Y3wCNAxtHpWXHSe9HOVQ?testcase_id=5891992748032000 <canvas height="100" id="output1"> <script id="myWorker"> self.onmessage = function() { var __v_2 = new OffscreenCanvas(50, 50); var __v_4 = __v_2.getContext('webgl'); __v_4.clear(__v_4.COLOR_BUFFER_BIT); var __v_3 = __v_2.transferToImageBitmap(); self.postMessage({}, [ __v_3]); }; testRunner.waitUntilDone(); var blob = new Blob([document.getElementById('myWorker').textContent]); var worker = new Worker(URL.createObjectURL(blob)); worker.onmessage = function(msg) { var __v_7 = document.getElementById("output1"); var ctx1 = __v_7.getContext('bitmaprenderer'); worker.postMessage(""); } worker.postMessage(""); </script> Filer: brajkumar See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
,
Nov 13 2016
,
Nov 14 2016
This is likely a bug on OffscreenCanvas, not sure why it is not triaged correctly at the beginning.
,
Nov 14 2016
Ah, I know what's going on. It appears that during this test there is a WebGL context loss, which makes the code go into: blink::WebGLRenderingContextBase::dispatchContextLostEvent. At this moment, OffscreenCanvas cannot handle context-lost event. This crash bug should be gone with my current on-going CL here: https://codereview.chromium.org/2490443002/
,
Nov 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8372014fc16a378fc7452164db9b3b89fbd62909 commit 8372014fc16a378fc7452164db9b3b89fbd62909 Author: xidachen <xidachen@chromium.org> Date: Wed Nov 16 14:20:08 2016 Make OffscreenCanvas an EventTarget Right now OffscreenCanvas is not an EventTarget, which means that it cannot listen to any event such as webgl context lost and restoration. This CL makes OffscreenCanvas an EventTarget. In order to override the pure virtual function getExecutionContext in EventTarget, we keep a Member<ExecutionContext> in OffscreenCanvas. We also added some layout tests here. In this CL, we only tests webgl context lost and restoration. The layout tests here should be upstreamed to khronos group on github later on once the spec for OffscreenCanvas is landed. Also, notice that the context lost test in worker verifies that all WebGL's API works in a worker. Note that the tests we have here is pretty much copied from the webgl's conformance tests. BUG= 655270 , 610759 , 630515 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2490443002 Cr-Commit-Position: refs/heads/master@{#432478} [add] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/LayoutTests/fast/canvas/webgl/offscreenCanvas-context-lost-restored-worker.html [add] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/LayoutTests/fast/canvas/webgl/offscreenCanvas-context-lost-restored.html [add] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/LayoutTests/fast/canvas/webgl/offscreenCanvas-context-lost-worker.html [add] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/LayoutTests/fast/canvas/webgl/offscreenCanvas-context-lost.html [modify] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt [modify] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt [modify] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt [modify] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt [modify] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/Source/core/events/EventTargetFactory.in [modify] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp [modify] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.h [modify] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.idl [modify] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/Source/modules/offscreencanvas/OffscreenCanvasModules.cpp [modify] https://crrev.com/8372014fc16a378fc7452164db9b3b89fbd62909/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
,
Nov 16 2016
,
Nov 17 2016
,
Nov 22 2016
Removing EditIssue view restrictions from ClusterFuzz filed bugs. If you believe that this issue should still be restricted, please reapply the label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Nov 30 2016
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by brajkumar@chromium.org
, Jul 22 2016Owner: tzik@chromium.org
Status: Assigned (was: Untriaged)