Bug 202186

Summary: Flaky Test: inspector/canvas/updateShader.html
Product: WebKit Reporter: WebKit Commit Bot <commit-queue>
Component: Tools / TestsAssignee: Devin Rousso <hi>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, dino, esprehn+autocc, ews-watchlist, graouts, gyuyoung.kim, hi, joepeck, kondapallykalyan, mmaxfield, ryanhaddad, tsavell, webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 50856    
Attachments:
Description Flags
Archive of layout-test-results from webkit-cq-03
none
Crash log
none
Patch
none
Patch
none
Patch none

Description WebKit Commit Bot 2019-09-25 00:26:15 PDT
This is an automatically generated bug from the commit-queue.
inspector/canvas/updateShader.html has been flaky on the commit-queue.

inspector/canvas/updateShader.html was authored by drousso@apple.com and tsavell@apple.com.
https://trac.webkit.org/browser/trunk/LayoutTests/inspector/canvas/updateShader.html

The commit-queue just saw inspector/canvas/updateShader.html flake (DumpRenderTree crashed) while processing attachment 379435 [details] on bug 202135.
Bot: webkit-cq-03  Port: <class 'webkitpy.common.config.ports.MacPort'>  Platform: Mac OS X 10.13.6

The bots will update this with information from each new failure.

If you believe this bug to be fixed or invalid, feel free to close.  The bots will re-open if the flake re-occurs.

If you would like to track this test fix with another bug, please close this bug as a duplicate.  The bots will follow the duplicate chain when making future comments.
Comment 1 WebKit Commit Bot 2019-09-25 00:26:16 PDT
Created attachment 379528 [details]
Archive of layout-test-results from webkit-cq-03
Comment 2 Ryan Haddad 2019-09-25 13:19:04 PDT
Created attachment 379576 [details]
Crash log

Application Specific Information:
CRASHING TEST: inspector/canvas/updateShader.html

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   ???                           	000000000000000000 0 + 0
1   com.apple.WebCore             	0x000000011079ea29 WebCore::WebGLProgram::~WebGLProgram() + 473 (InspectorInstrumentation.h:1634)
2   com.apple.WebCore             	0x000000011079ebde WebCore::WebGLProgram::~WebGLProgram() + 14 (RefCounted.h:186)
3   com.apple.JavaScriptCore      	0x0000000109601371 void JSC::MarkedBlock::Handle::specializedSweep<true, (JSC::MarkedBlock::Handle::EmptyMode)0, (JSC::MarkedBlock::Handle::SweepMode)0, (JSC::MarkedBlock::Handle::SweepDestructionMode)1, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)1, (JSC::MarkedBlock::Handle::MarksMode)0, JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::MarkedBlock::Handle::EmptyMode, JSC::MarkedBlock::Handle::SweepMode, JSC::MarkedBlock::Handle::SweepDestructionMode, JSC::MarkedBlock::Handle::ScribbleMode, JSC::MarkedBlock::Handle::NewlyAllocatedMode, JSC::MarkedBlock::Handle::MarksMode, JSC::JSDestructibleObjectDestroyFunc const&) + 273 (HeapCell.h:56)
4   com.apple.JavaScriptCore      	0x000000010960081d void JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType<JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::JSDestructibleObjectDestroyFunc const&)::'lambda'()::operator()() const + 429
5   com.apple.JavaScriptCore      	0x0000000109600163 void JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType<JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::JSDestructibleObjectDestroyFunc const&) + 307 (MarkedBlockInlines.h:435)
6   com.apple.JavaScriptCore      	0x000000010960002a JSC::JSDestructibleObjectHeapCellType::finishSweep(JSC::MarkedBlock::Handle&, JSC::FreeList*) + 26 (JSDestructibleObjectHeapCellType.cpp:53)
7   com.apple.JavaScriptCore      	0x0000000109241eb7 JSC::MarkedBlock::Handle::sweep(JSC::FreeList*) + 295
8   com.apple.JavaScriptCore      	0x0000000109233ec2 JSC::IncrementalSweeper::doSweep(JSC::VM&, WTF::MonotonicTime) + 194 (IncrementalSweeper.cpp:90)
9   com.apple.JavaScriptCore      	0x0000000109665d19 JSC::JSRunLoopTimer::timerDidFire() + 89 (atomic:1026)
10  com.apple.JavaScriptCore      	0x0000000109665918 JSC::JSRunLoopTimer::Manager::timerDidFire() + 872 (JSRunLoopTimer.cpp:159)
11  com.apple.CoreFoundation      	0x00007fff4a57af04 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
12  com.apple.CoreFoundation      	0x00007fff4a57ab84 __CFRunLoopDoTimer + 1108
13  com.apple.CoreFoundation      	0x00007fff4a57a67a __CFRunLoopDoTimers + 346
14  com.apple.CoreFoundation      	0x00007fff4a571e1b __CFRunLoopRun + 2427
15  com.apple.CoreFoundation      	0x00007fff4a571207 CFRunLoopRunSpecific + 487
16  DumpRenderTree                	0x0000000108761085 runTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 3826 (DumpRenderTree.mm:2102)
17  DumpRenderTree                	0x000000010875fd56 dumpRenderTree(int, char const**) + 3349 (DumpRenderTree.mm:1213)
18  DumpRenderTree                	0x0000000108761953 DumpRenderTreeMain(int, char const**) + 1456 (DumpRenderTree.mm:1447)
19  libdyld.dylib                 	0x00007fff72531015 start + 1
Comment 3 Radar WebKit Bug Importer 2019-09-25 13:20:58 PDT
<rdar://problem/55716053>
Comment 4 Alexey Proskuryakov 2019-09-25 15:20:38 PDT
This must be a regression from r250258, we should roll it back again.
Comment 5 Devin Rousso 2019-09-25 16:00:20 PDT
(In reply to Alexey Proskuryakov from comment #4)
> This must be a regression from r250258, we should roll it back again.
Please don't.  I am actively fixing this now.
Comment 6 Devin Rousso 2019-09-25 16:53:58 PDT
Created attachment 379594 [details]
Patch
Comment 7 Joseph Pecoraro 2019-09-25 17:01:48 PDT
Comment on attachment 379594 [details]
Patch

r=me, Makes sense. This had crossed my mind when we made this change earlier...
Comment 8 Devin Rousso 2019-09-25 19:15:26 PDT
Created attachment 379609 [details]
Patch
Comment 9 WebKit Commit Bot 2019-09-26 01:33:42 PDT
Comment on attachment 379609 [details]
Patch

Clearing flags on attachment: 379609

Committed r250381: <https://trac.webkit.org/changeset/250381>
Comment 10 WebKit Commit Bot 2019-09-26 01:33:43 PDT
All reviewed patches have been landed.  Closing bug.
Comment 12 Truitt Savell 2019-09-26 07:55:06 PDT
Mojave debug wk2 has upwards of 30 crashes
Comment 13 Ryan Haddad 2019-09-26 10:23:35 PDT
(In reply to Truitt Savell from comment #12)
> Mojave debug wk2 has upwards of 30 crashes
Let's roll it out.
Comment 14 Truitt Savell 2019-09-26 10:49:52 PDT
Reverted r250381 for reason:

broke multiple webgpu/ tests on Mojave WK2

Committed r250386: <https://trac.webkit.org/changeset/250386>
Comment 15 Devin Rousso 2019-09-26 16:04:38 PDT
Been investigating this all day.  Trying to figure out why this was having issues :(
Comment 16 Devin Rousso 2019-09-26 21:41:06 PDT
Created attachment 379712 [details]
Patch

There are other unresolved issues with WebGPU, so I'm limiting the scope of this fix to just WebGL, which is what caused this test to fail in the first plcae.  Local testing shows that this doesn't cause WebGPU tests to crash, and fixes the original test in question.
Comment 17 WebKit Commit Bot 2019-09-27 10:54:29 PDT
Comment on attachment 379712 [details]
Patch

Clearing flags on attachment: 379712

Committed r250434: <https://trac.webkit.org/changeset/250434>
Comment 18 WebKit Commit Bot 2019-09-27 10:54:31 PDT
All reviewed patches have been landed.  Closing bug.