NEW 241215
Assertion when attempting to save an image: ASSERT_NOT_REACHED();
https://bugs.webkit.org/show_bug.cgi?id=241215
Summary Assertion when attempting to save an image: ASSERT_NOT_REACHED();
Jean-Yves Avenard [:jya]
Reported 2022-06-01 23:56:42 PDT
STR: 1. Load https://esahubble.org/images/heic1901a/ 2. Right click on the image to save it to disk What happens: Assertion (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xbbadbeef) frame #0: 0x000000012f8861c8 JavaScriptCore`::WTFCrash() at Assertions.cpp:322:35 frame #1: 0x000000011a0509b4 WebKit`WTFCrashWithInfo((null)=50, (null)="/Users/jyavenard/Work/webkit/OpenSource/Source/WebKit/WebProcess/WebCoreSupport/WebContextMenuClient.cpp", (null)="virtual void WebKit::WebContextMenuClient::downloadURL(const WTF::URL &)", (null)=2979) at Assertions.h:748:5 * frame #2: 0x000000011c6d2958 WebKit`WebKit::WebContextMenuClient::downloadURL(this=0x000000010700a3d0, (null)=0x000000016b9e3620) at WebContextMenuClient.cpp:50:5 frame #3: 0x000000028424f4b8 WebCore`WebCore::ContextMenuController::contextMenuItemSelected(this=0x0000000107020700, action=ContextMenuItemTagDownloadImageToDisk, title=0x000000016b9e3c38) at ContextMenuController.cpp:259:18 frame #4: 0x000000011c7b3e24 WebKit`WebKit::WebContextMenu::itemSelected(this=0x0000000164089a40, item=0x000000016b9e3c30) at WebContextMenu.cpp:78:49 frame #5: 0x000000011ca3c828 WebKit`WebKit::WebPage::didSelectItemFromActiveContextMenu(this=0x0000000150809408, item=0x000000016b9e3c30) at WebPage.cpp:5153:22 frame #6: 0x000000011cb87508 WebKit`void IPC::callMemberFunctionImpl<WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebContextMenuItemData const&), std::__1::tuple<WebKit::WebContextMenuItemData>, 0ul>(object=0x0000000150809408, function=d4 c7 a3 1c 01 80 3e 77 00 00 00 00 00 00 00 00, args=size=1, (null)=std::__1::index_sequence<0UL> @ 0x000000016b9e3b5f)(WebKit::WebContextMenuItemData const&), std::__1::tuple<WebKit::WebContextMenuItemData>&&, std::__1::integer_sequence<unsigned long, 0ul>) at HandleMessage.h:131:5 frame #7: 0x000000011cb85cc0 WebKit`void IPC::callMemberFunction<WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebContextMenuItemData const&), std::__1::tuple<WebKit::WebContextMenuItemData>, std::__1::integer_sequence<unsigned long, 0ul> >(args=size=1, object=0x0000000150809408, function=d4 c7 a3 1c 01 80 3e 77 00 00 00 00 00 00 00 00)(WebKit::WebContextMenuItemData const&)) at HandleMessage.h:137:5 frame #8: 0x000000011cabcf94 WebKit`void IPC::handleMessage<Messages::WebPage::DidSelectItemFromActiveContextMenu, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebContextMenuItemData const&)>(connection=0x0000000107038a50, decoder=0x000000013e4640e0, object=0x0000000150809408, function=d4 c7 a3 1c 01 80 3e 77 00 00 00 00 00 00 00 00)(WebKit::WebContextMenuItemData const&)) at HandleMessage.h:259:5 frame #9: 0x000000011cab0aec WebKit`WebKit::WebPage::didReceiveWebPageMessage(this=0x0000000150809408, connection=0x0000000107038a50, decoder=0x000000013e4640e0) at WebPageMessageReceiver.cpp:3144:16 frame #10: 0x000000011ca3d74c WebKit`WebKit::WebPage::didReceiveMessage(this=0x0000000150809408, connection=0x0000000107038a50, decoder=0x000000013e4640e0) at WebPage.cpp:5322:5 frame #11: 0x000000011b61d5a4 WebKit`IPC::MessageReceiverMap::dispatchMessage(this=0x000000010703c9c8, connection=0x0000000107038a50, decoder=0x000000013e4640e0) at MessageReceiverMap.cpp:129:26 frame #12: 0x000000011c18eba4 WebKit`WebKit::WebProcess::didReceiveMessage(this=0x000000010703c990, connection=0x0000000107038a50, decoder=0x000000013e4640e0) at WebProcess.cpp:917:30 frame #13: 0x000000011b5dd6c8 WebKit`IPC::Connection::dispatchMessage(this=0x0000000107038a50, decoder=0x000000013e4640e0) at Connection.cpp:1108:14 frame #14: 0x000000011b5dde04 WebKit`IPC::Connection::dispatchMessage(this=0x0000000107038a50, message=IPC::Decoder @ 0x000000013e4640e0) at Connection.cpp:1153:9 frame #15: 0x000000011b5de440 WebKit`IPC::Connection::dispatchOneIncomingMessage(this=0x0000000107038a50) at Connection.cpp:1222:5 frame #16: 0x000000011b600ec0 WebKit`IPC::Connection::enqueueIncomingMessage(this=0x000000013ef78368)::$_15::operator()() at Connection.cpp:1072:28 frame #17: 0x000000011b600db0 WebKit`WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_15, void>::call(this=0x000000013ef78360) at Function.h:53:39 frame #18: 0x000000012f8ae208 JavaScriptCore`WTF::Function<void ()>::operator(this=0x000000016b9e60d0)() const at Function.h:82:35 frame #19: 0x000000012f93be4c JavaScriptCore`WTF::RunLoop::performWork(this=0x0000000107010100) at RunLoop.cpp:133:9 frame #20: 0x000000012f93fcec JavaScriptCore`WTF::RunLoop::performWork(context=0x0000000107010100) at RunLoopCF.cpp:46:37 frame #21: 0x0000000190ff3c4c CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 frame #22: 0x0000000190ff3be0 CoreFoundation`__CFRunLoopDoSource0 + 176 frame #23: 0x0000000190ff3950 CoreFoundation`__CFRunLoopDoSources0 + 244 frame #24: 0x0000000190ff2554 CoreFoundation`__CFRunLoopRun + 836 frame #25: 0x0000000190ff1abc CoreFoundation`CFRunLoopRunSpecific + 612 frame #26: 0x0000000191eecff4 Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 frame #27: 0x0000000191f655a0 Foundation`-[NSRunLoop(NSRunLoop) run] + 64 frame #28: 0x0000000190c8e7cc libxpc.dylib`_xpc_objc_main + 860 frame #29: 0x0000000190c8e0ec libxpc.dylib`xpc_main + 108 frame #30: 0x000000011ae18808 WebKit`WebKit::XPCServiceMain((null)=1, (null)=0x000000016b9e7620) at XPCServiceMain.mm:217:5 frame #31: 0x000000011d125864 WebKit`WKXPCServiceMain(argc=1, argv=0x000000016b9e7620) at WKMain.mm:35:12 frame #32: 0x000000010441bf9c com.apple.WebKit.WebContent.Development`main(argc=1, argv=0x000000016b9e7620) at AuxiliaryProcessMain.cpp:30:12 frame #33: 0x000000021d66dc10 dyld`start + 2368 (lldb)
Attachments
Alexey Proskuryakov
Comment 1 2022-06-02 19:09:43 PDT
void WebContextMenuClient::downloadURL(const URL&) { // This is handled in the UI process. ASSERT_NOT_REACHED(); } This assertion is ancient.
Radar WebKit Bug Importer
Comment 2 2022-06-08 23:57:12 PDT
Note You need to log in before you can comment on or make changes to this bug.