RESOLVED FIXED 261305
New test added in 265747@main hits assertion failure: ScriptDisallowedScope::InMainThread::isScriptAllowed()
https://bugs.webkit.org/show_bug.cgi?id=261305
Summary New test added in 265747@main hits assertion failure: ScriptDisallowedScope::...
Karl Rackler
Reported 2023-09-07 17:24:08 PDT
Description: editing/inserting/break-out-of-nested-lists.html The test was added at 265747@main and has been a consistent failure since then. This issue can be bisected to 265747@main using command: run-webkit-tests --debug --iterations=1 -1 editing/inserting/break-out-of-nested-lists.html History: https://results.webkit.org/?suite=layout-tests&test=editing%2Finserting%2Fbreak-out-of-nested-lists.html&platform=mac&flavor=wk1&style=debug&limit=6000&recent=false Crash Log: No crash log found. stdout: stderr: ASSERTION FAILED: ScriptDisallowedScope::InMainThread::isScriptAllowed() /Volumes/Data/worker/trunk-romee-debug-archive/build/OpenSource/Source/WebCore/dom/Document.cpp(5389) : void WebCore::Document::dispatchWindowEvent(WebCore::Event &, WebCore::EventTarget *) 1 0x11d993ab9 WTFCrash 2 0x11d993ad9 WTFCrashWithSecurityImplication 3 0x12a03d5bd WebCore::Document::dispatchWindowEvent(WebCore::Event&, WebCore::EventTarget*) 4 0x12adf2671 WebCore::dispatchEventsOnWindowAndFocusedElement(WebCore::Document*, bool) 5 0x12adf2567 WebCore::FocusController::setFocusedInternal(bool) 6 0x12adf466e WebCore::FocusController::setActivityState(WTF::OptionSet<WebCore::ActivityState>) 7 0x12aeaf60c WebCore::Page::setActivityState(WTF::OptionSet<WebCore::ActivityState>) 8 0x12adf23bc WebCore::FocusController::setFocused(bool) 9 0x10b9d0667 -[WebHTMLView resignFirstResponder] 10 0x7ff812417494 -[NSWindow _realMakeFirstResponder:] 11 0x128f2f250 WebCore::safeRemoveFromSuperview(NSView*) 12 0x128f2f157 WebCore::Widget::removeFromSuperview() 13 0x128e52f09 WebCore::ScrollView::platformRemoveChild(WebCore::Widget*) 14 0x12b0b8b1b WebCore::ScrollView::removeChild(WebCore::Widget&) 15 0x12ae5b9e4 WebCore::LocalFrameView::removeChild(WebCore::Widget&) 16 0x12ba78874 WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets() 17 0x12828aad8 WebCore::WidgetHierarchyUpdatesSuspensionScope::~WidgetHierarchyUpdatesSuspensionScope() 18 0x12827eec5 WebCore::WidgetHierarchyUpdatesSuspensionScope::~WidgetHierarchyUpdatesSuspensionScope() 19 0x12a02d52b WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType) 20 0x12a02df8d WebCore::Document::updateStyleIfNeeded() 21 0x12a04c38a WebCore::Document::finishedParsing() 22 0x12a7559e8 WebCore::HTMLConstructionSite::finishedParsing() 23 0x12a7abe80 WebCore::HTMLTreeBuilder::finished() 24 0x12a75ce93 WebCore::HTMLDocumentParser::end() 25 0x12a75ae11 WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd() 26 0x12a75ab39 WebCore::HTMLDocumentParser::prepareToStopParsing() 27 0x12a75b947 WebCore::HTMLDocumentParser::endIfDelayed() 28 0x12a75d260 WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution() 29 0x12a75d5ec WebCore::HTMLDocumentParser::notifyFinished(WebCore::PendingScript&) 30 0x12a1f3f5a WebCore::PendingScript::notifyClientFinished() 31 0x12a1f3fb9 WebCore::PendingScript::notifyFinished(WebCore::LoadableScript&)
Attachments
Radar WebKit Bug Importer
Comment 1 2023-09-07 17:24:52 PDT
EWS
Comment 2 2023-09-07 17:41:31 PDT
Test gardening commit 267760@main (66f969fb7c23): <https://commits.webkit.org/267760@main> Reviewed commits have been landed. Closing PR #17562 and removing active labels.
Ryosuke Niwa
Comment 3 2023-09-10 11:15:31 PDT
This is an issue with the assertion. We just need to disable it in WebKit1 like this in ScriptDisallowedScope.h: static bool isScriptAllowed() { ASSERT(isMainThread()); if () #if PLATFORM(IOS_FAMILY) return isInWebProcess() || !s_count || webThreadDelegateMessageScopeCount; #else return isInWebProcess() || !s_count; #endif } We can then isEventDispatchAllowedInSubtree like this: static bool isEventDispatchAllowedInSubtree(Node& node) { #if ASSERT_ENABLED || ENABLE(SECURITY_ASSERTIONS) return isScriptAllowed() || EventAllowedScope::isAllowedNode(node); #else UNUSED_PARAM(node); return true; #endif }
Ahmad Saleem
Comment 4 2023-09-10 11:19:35 PDT
@Rniwa - should I do PR with proposed changes?
Ryosuke Niwa
Comment 5 2023-09-10 11:20:16 PDT
(In reply to Ahmad Saleem from comment #4) > @Rniwa - should I do PR with proposed changes? Yes, please. I can do it too but I have other test failures to investigate at the moment.
Ahmad Saleem
Comment 6 2023-09-10 11:30:26 PDT
(In reply to Ryosuke Niwa from comment #5) > (In reply to Ahmad Saleem from comment #4) > > @Rniwa - should I do PR with proposed changes? > > Yes, please. I can do it too but I have other test failures to investigate > at the moment. No worries, will do in next few hours. 👍
Ahmad Saleem
Comment 7 2023-09-10 16:22:05 PDT
PR - https://github.com/WebKit/WebKit/pull/17639 Locally confirmed that it does indeed not crash while running: run-webkit-tests --debug --iterations=1 -1 editing/inserting/break-out-of-nested-lists.html and yes, I removed test expectation before running the above. :-)
Ryosuke Niwa
Comment 8 2023-09-12 03:26:38 PDT
Ryosuke Niwa
Comment 9 2023-09-12 06:33:11 PDT
*** Bug 261339 has been marked as a duplicate of this bug. ***
EWS
Comment 10 2023-09-13 00:40:04 PDT
Committed 267935@main (f33e99829e4f): <https://commits.webkit.org/267935@main> Reviewed commits have been landed. Closing PR #17691 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.