Bug 217761
Summary: | REGRESSION: ASSERTION FAILED: !needsLayout() on webgl/2.0.0/conformance/extensions/webgl-compressed-texture-s3tc-srgb.html (flaky) | ||
---|---|---|---|
Product: | WebKit | Reporter: | Karl Rackler <rackler> |
Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | ap, bfulgham, cdumez, dino, jdarpinian, kbr, kkinnunen, ryanhaddad, sam, simon.fraser, webkit-bot-watchers-bugzilla, webkit-bug-importer, zalan |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=219219 | ||
Bug Depends on: | 217198, 217813 | ||
Bug Blocks: |
Karl Rackler
Description:
webgl/2.0.0/conformance/extensions/webgl-compressed-texture-s3tc-srgb.html
The first crash that I see this on the dashboard was 08/31/20 at r266366 and continued to flaky crash until 09/04/20 at r266624 where it began passing consistently. Then at 09/07/20 at r266714 the flaky crash began again and ended 09/09/20 at r266799. There is another period of consistent passing from 09/09/20 until 10/06/20 at r268052 where the flaky crash begins again until present.
I can reproduce this on r267662, but unable to reproduce on 267661. Commit r267662 has to do with updating the names everywhere and URLs in IDLAttributes.json, which could have introduced the flaky crash. The change was introduced here https://trac.webkit.org/changeset/266662/webkit.
REPRODUCTION STEPS
Command:
run-webkit-tests --exit-after-n-failures 1 --exit-after-n-crashes-or-timeouts 1 --iterations 50 --no-retry --force --no-build -f --debug -1 webgl/2.0.0/conformance/extensions/webgl-compressed-texture-s3tc-srgb.html
Result:
Regressions: Unexpected crashes (1)
webgl/2.0.0/conformance/extensions/webgl-compressed-texture-s3tc-srgb.html [ Crash ]
History:
https://results.webkit.org/?suite=layout-tests&test=webgl%2F2.0.0%2Fconformance%2Fextensions%2Fwebgl-compressed-texture-s3tc-srgb.html&platform=mac&style=debug&flavor=wk1&limit=50000
Crash Log:
Application Specific Information:
CRASHING TEST: webgl/2.0.0/conformance/extensions/webgl-compressed-texture-s3tc-srgb.html
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.JavaScriptCore 0x00000001105ac4fe WTFCrash + 14 (Assertions.cpp:295)
1 com.apple.WebCore 0x000000012ad8ea6b WTFCrashWithInfo(int, char const*, char const*, int) + 27
2 com.apple.WebCore 0x000000012eb373f9 WebCore::FrameView::paintContents(WebCore::GraphicsContext&, WebCore::IntRect const&, WebCore::Widget::SecurityOriginPaintPolicy, WebCore::EventRegionContext*) + 697 (FrameView.cpp:4292)
3 com.apple.WebKitLegacy 0x000000011c5f03e9 -[WebFrame(WebInternal) _drawRect:contentsOnly:] + 1417 (WebFrame.mm:657)
4 com.apple.WebKitLegacy 0x000000011c614ff6 -[WebHTMLView drawSingleRect:] + 774 (WebHTMLView.mm:3883)
5 com.apple.WebKitLegacy 0x000000011c615711 -[WebHTMLView drawRect:] + 625 (WebHTMLView.mm:3954)
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/70340711>
Karl Rackler
I have marked this test as flaky crash while this issue is investigated.
https://trac.webkit.org/changeset/268527/webkit
Alexey Proskuryakov
r266662 is surprising as a regression point, but if true, that could be a serious problem.
Alexey Proskuryakov
This one has a complicated history.
I could reproduce starting with r266364, where WEBGL_compressed_texture_s3tc_srgb extension was implemented. This assertion seems unlikely to have anything to do with S3TC or WebGL, it's probably just because the test started to have a long output after the feature got implemented. It's about 15 pages on my screen.
Then this was completely fixed by r266645, Move lazy DisplayLink tear down logic from the WebProcess to the UIProcess.
It became easily reproducible again after r266710, where the above was reverted.
Then r266645 was re-landed in r266797, but the issue was not completely fixed this time. It's still reproducible, but only about once in a 1000 iterations.
So either the new DisplayLink patch is not as effective as the original one, or something happened between r266710 and r266797 that created a new reason for the test to assert.
This is the only test for a feature, so it's pretty important.
Kenneth Russell
*** Bug 219219 has been marked as a duplicate of this bug. ***
Kenneth Russell
There have been several reports of this assertion failure - linked to and duplicated all related bugs into this one.
How can we make progress on it? It sounds like any test which produces a lot of output might trigger this. Could anyone with experience in WebKit's layout code explain the assertion failure and what potential root causes might be?
Simon Fraser (smfr)
This assertion is usually about whether AppKit calls -viewWillDraw on the WebView/WebHTMLView when we expect.
Ryan Haddad
Skipped the two affected tests on macOS WK1 debug with r271461.
Brent Fulgham
*** This bug has been marked as a duplicate of bug 229580 ***