RESOLVED FIXED254306
REGRESSION(261820@main): ASSERTION FAILED: [source isKindOfClass:[DestinationClass class]]
https://bugs.webkit.org/show_bug.cgi?id=254306
Summary REGRESSION(261820@main): ASSERTION FAILED: [source isKindOfClass:[Destination...
Robert Jenner
Reported 2023-03-22 18:55:36 PDT
TestWebKitAPI.WebKit.FormSubmission is hitting the following assertion on debug for iOS16 and Monterey+ ERROR: Error while launching com.apple.WebKit.Networking: Connection invalid /Volumes/Data/worker/Apple-iOS-16-Simulator-Debug-Build/build/Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm(226) : auto WebKit::ProcessLauncher::launchProcess()::(anonymous class)::operator()(xpc_object_t) const ASSERTION FAILED: [source isKindOfClass:[DestinationClass class]] /Volumes/Data/worker/Apple-iOS-16-Simulator-Debug-Build/build/Source/WebKit/Shared/Cocoa/WKObject.h(55) : DestinationClass *WebKit::checkedObjCCast(SourceClass *) [DestinationClass = NSString, SourceClass = id<WKObject>] 1 0x11bdfd439 WTFCrash 2 0x13c43b2cb WTFCrashWithInfo(int, char const*, char const*, int) 3 0x13d24b1ba NSString* WebKit::checkedObjCCast<NSString, objc_object<WKObject> >(id<WKObject>) 4 0x13d23a01d WebKit::WrapperTraits<API::String>::WrapperClass* WebKit::wrapper<API::String>(API::String&) 5 0x13d239b66 API::Object::toNSObject() 6 0x13d239538 API::Object::toNSObject() 7 0x13d74cfa5 -[WKWebView(WKPrivate) _setInputDelegate:]::FormClient::willSubmitForm(WebKit::WebPageProxy&, WebKit::WebFrameProxy&, WebKit::WebFrameProxy&, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, API::Object*, WTF::Function<void ()>&&) 8 0x13e183234 WebKit::WebPageProxy::willSubmitForm(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&) 9 0x13f088bd1 auto void IPC::callMemberFunction<WebKit::WebPageProxy, WebKit::WebPageProxy, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData> >(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData>&&)::'lambda'(auto&&...)::operator()<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData>(auto&&...) const 10 0x13f088a1d decltype(static_cast<WebKit::WebPageProxy>(fp)(static_cast<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >>(fp0), static_cast<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >>(fp0), static_cast<WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>>(fp0), static_cast<WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>>(fp0), static_cast<WebKit::UserData>(fp0))) std::__1::__invoke_constexpr<void IPC::callMemberFunction<WebKit::WebPageProxy, WebKit::WebPageProxy, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData> >(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData>&&)::'lambda'(auto&&...), WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData>(WebKit::WebPageProxy&&, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >&&, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >&&, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>&&, WebKit::UserData&&) 11 0x13f0889be decltype(auto) std::__1::__apply_tuple_impl<void IPC::callMemberFunction<WebKit::WebPageProxy, WebKit::WebPageProxy, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData> >(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData>&&)::'lambda'(auto&&...), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData>, 0ul, 1ul, 2ul, 3ul, 4ul>(WebKit::WebPageProxy&&, WebKit::WebPageProxy&&, std::__1::__tuple_indices<0ul, 1ul, 2ul, 3ul, 4ul>) 12 0x13f088902 decltype(auto) std::__1::apply<void IPC::callMemberFunction<WebKit::WebPageProxy, WebKit::WebPageProxy, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData> >(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData>&&)::'lambda'(auto&&...), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData> >(WebKit::WebPageProxy&&, WebKit::WebPageProxy&&) 13 0x13f08776d void IPC::callMemberFunction<WebKit::WebPageProxy, WebKit::WebPageProxy, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData> >(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData>&&) 14 0x13f034bc7 void IPC::handleMessage<Messages::WebPageProxy::WillSubmitForm, WebKit::WebPageProxy, WebKit::WebPageProxy, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WTF::Vector<std::__1::pair<WTF::String, WTF::String>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::ObjectIdentifier<WebKit::FormSubmitListenerIdentifierType>, WebKit::UserData const&)) 15 0x13f02a4ab WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 16 0x13f4a2fd3 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) 17 0x13df3c02c WebKit::AuxiliaryProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&) 18 0x13e2a5af9 WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 19 0x13f47717c IPC::Connection::dispatchMessage(IPC::Decoder&) 20 0x13f477560 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) 21 0x13f477cd4 IPC::Connection::dispatchIncomingMessages() 22 0x13f4943bd IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_16::operator()() const 23 0x13f494309 WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_16, void>::call() 24 0x11be2d7b2 WTF::Function<void ()>::operator()() const 25 0x11bed6aae WTF::RunLoop::performWork() 26 0x11bedc72e WTF::RunLoop::performWork(void*) 27 0x10e778ebd __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 28 0x10e778dfc __CFRunLoopDoSource0 29 0x10e7785f9 __CFRunLoopDoSources0 30 0x10e772db3 __CFRunLoopRun 31 0x10e772637 CFRunLoopRunSpecific Child process terminated with signal 11: Segmentation fault HISTORY: https://results.webkit.org/?suite=api-tests&test=TestWebKitAPI.WebKit.FormSubmission It also appears to have a very clear cut regression point of https://commits.webkit.org/261820@main
Attachments
Radar WebKit Bug Importer
Comment 1 2023-03-22 18:56:09 PDT
Alex Christensen
Comment 2 2023-03-22 21:12:10 PDT
Investigating...
Alex Christensen
Comment 3 2023-03-22 21:22:03 PDT
EWS
Comment 4 2023-03-23 13:55:30 PDT
Committed 262034@main (9758573dc911): <https://commits.webkit.org/262034@main> Reviewed commits have been landed. Closing PR #11849 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.