Bug 264885

Summary: Regression(270725@main) Many Web extensions API tests are crashing
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: WebKit ExtensionsAssignee: Timothy Hatcher <timothy>
Status: RESOLVED FIXED    
Severity: Normal CC: kkinnunen, timothy, webkit-bug-importer, zdobersek
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=264801
https://bugs.webkit.org/show_bug.cgi?id=264884

Description Chris Dumez 2023-11-15 10:24:50 PST
Many Web extensions API tests are crashing:
ASSERTION FAILED: !m_storage || isValidOptionSetEnum(e)
        /Volumes/Data/worker/Apple-Sonoma-Debug-Build/build/WebKitBuild/Debug/usr/local/include/wtf/OptionSet.h(140) : WTF::OptionSet<WebKit::WebExtensionWindowTypeFilter>::OptionSet(E) [E = WebKit::WebExtensionWindowTypeFilter]
        1   0x108644a7c WTFCrash
        2   0x1376df800 std::__1::span<unsigned char const, 18446744073709551615ul>::span[abi:v160006]<unsigned char const*>(unsigned char const*, unsigned long)
        3   0x13a14885c WTF::OptionSet<WebKit::WebExtensionWindowTypeFilter>::OptionSet(WebKit::WebExtensionWindowTypeFilter)
        4   0x13a144ca8 WTF::OptionSet<WebKit::WebExtensionWindowTypeFilter>::OptionSet(WebKit::WebExtensionWindowTypeFilter)
        5   0x13a1448c4 WebKit::WebExtensionAPIWindows::parseWindowTypesFilter(NSDictionary*, WTF::OptionSet<WebKit::WebExtensionWindowTypeFilter>&, NSString*, NSString* __autoreleasing*)
        6   0x13a155e5c WebKit::WebExtensionAPIWindowsEvent::addListener(WebKit::WebPage*, WTF::RefPtr<WebKit::WebExtensionCallbackHandler, WTF::RawPtrTraits<WebKit::WebExtensionCallbackHandler>, WTF::DefaultRefDerefTraits<WebKit::WebExtensionCallbackHandler>>, NSDictionary*, NSString* __autoreleasing*)
        7   0x137c2b1bc WebKit::JSWebExtensionAPIWindowsEvent::addListener(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)
        8   0x108fb6658 long long JSC::APICallbackFunction::callImpl<JSC::JSCallbackFunction>(JSC::JSGlobalObject*, JSC::CallFrame*)
        9   0x108faec04 JSC::callJSCallbackFunction(JSC::JSGlobalObject*, JSC::CallFrame*)
        10  0x280004030 9   ???                                 0x0000000280004030 0x0 + 10737434672
        11  0x108d3d7bc llint_entry
        12  0x108d174bc vmEntryToJavaScript
        13  0x109ea8278 JSC::Interpreter::executeModuleProgram(JSC::JSModuleRecord*, JSC::ModuleProgramExecutable*, JSC::JSGlobalObject*, JSC::JSModuleEnvironment*, JSC::JSValue, JSC::JSValue)
        14  0x10a3a0dbc JSC::JSModuleRecord::evaluate(JSC::JSGlobalObject*, JSC::JSValue, JSC::JSValue)
        15  0x10a0bafbc JSC::AbstractModuleRecord::evaluate(JSC::JSGlobalObject*, JSC::JSValue, JSC::JSValue)
        16  0x2ccaeb6d8 WebCore::ScriptController::evaluateModule(WTF::URL const&, JSC::AbstractModuleRecord&, WebCore::DOMWrapperWorld&, JSC::JSValue, JSC::JSValue)
        17  0x2ccaeb888 WebCore::ScriptController::evaluateModule(WTF::URL const&, JSC::AbstractModuleRecord&, JSC::JSValue, JSC::JSValue)
        18  0x2ccaf35b8 WebCore::ScriptModuleLoader::evaluate(JSC::JSGlobalObject*, JSC::JSModuleLoader*, JSC::JSValue, JSC::JSValue, JSC::JSValue, JSC::JSValue, JSC::JSValue)
        19  0x2cc9c29f4 WebCore::JSDOMGlobalObject::moduleLoaderEvaluate(JSC::JSGlobalObject*, JSC::JSModuleLoader*, JSC::JSValue, JSC::JSValue, JSC::JSValue, JSC::JSValue, JSC::JSValue)
        20  0x10a39bcd4 JSC::JSModuleLoader::evaluate(JSC::JSGlobalObject*, JSC::JSValue, JSC::JSValue, JSC::JSValue, JSC::JSValue, JSC::JSValue)
        21  0x10a399760 JSC::moduleLoaderEvaluate(JSC::JSGlobalObject*, JSC::CallFrame*)
        22  0x28000c1fc 21  ???                                 0x000000028000c1fc 0x0 + 10737467900
        23  0x108d3e8d4 llint_entry
        24  0x108d174bc vmEntryToJavaScript
        25  0x109ea64b4 JSC::Interpreter::executeCallImpl(JSC::VM&, JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
        26  0x109ea65a4 JSC::Interpreter::executeCall(JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
        27  0x10a135788 JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
        28  0x10a39ac30 JSC::JSModuleLoader::linkAndEvaluateModule(JSC::JSGlobalObject*, JSC::JSValue, JSC::JSValue)
        29  0x10a16e020 JSC::linkAndEvaluateModule(JSC::JSGlobalObject*, JSC::Identifier const&, JSC::JSValue)
        30  0x2ccaeb358 WebCore::JSExecState::linkAndEvaluateModule(JSC::JSGlobalObject&, JSC::Identifier const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&)
        31  0x2ccaeb20c WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld(WebCore::LoadableModuleScript&, WebCore::DOMWrapperWorld&)
Comment 1 Chris Dumez 2023-11-15 10:28:54 PST
Might be a dupe of Bug 264884.
Comment 2 Radar WebKit Bug Importer 2023-11-15 10:30:58 PST
<rdar://problem/118464397>
Comment 3 Timothy Hatcher 2023-11-15 10:32:21 PST
Pull request: https://github.com/WebKit/WebKit/pull/20548
Comment 4 EWS 2023-11-15 12:12:09 PST
Committed 270782@main (5effaab5ea00): <https://commits.webkit.org/270782@main>

Reviewed commits have been landed. Closing PR #20548 and removing active labels.