#0 WebKit::LayerTreeHost::LayerTreeHost () at ./Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:77 72: IntSize scaledSize(m_webPage.size()); 73: scaledSize.scale(m_webPage.deviceScaleFactor()); 74: float scaleFactor = m_webPage.deviceScaleFactor() * m_viewportController.pageScaleFactor(); 75: 76: TextureMapper::PaintFlags paintFlags = 0; 77: if (m_surface->shouldPaintMirrored()) 78: paintFlags |= TextureMapper::PaintingMirrored; 79: 80: m_compositor = ThreadedCompositor::create(m_compositorClient, m_compositorClient, m_displayID, scaledSize, scaleFactor, paintFlags); 81: m_layerTreeContext.contextID = m_surface->surfaceID(); 82: #1 0x00007fd90adaea0c in std::make_unique () at /usr/include/c++/11/bits/unique_ptr.h:962 [Error: unique_ptr.h was not found in source tree] #2 WTF::makeUnique () at ./build-soup2/WTF/Headers/wtf/StdLibExtras.h:540 535: 536: template 537: ALWAYS_INLINE decltype(auto) makeUnique(Args&&... args) 538: { 539: static_assert(std::is_same::value, "T is FastMalloced"); 540: return std::make_unique(std::forward(args)...); 541: } 542: 543: template 544: ALWAYS_INLINE decltype(auto) makeUniqueWithoutFastMallocCheck(Args&&... args) 545: { #3 WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode () at ./Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:641 636: m_layerTreeHost->resumeRendering(); 637: if (!m_layerTreeStateIsFrozen) 638: m_layerTreeHost->setLayerFlushSchedulingEnabled(true); 639: } else { 640: #if USE(COORDINATED_GRAPHICS) || USE(GRAPHICS_LAYER_TEXTURE_MAPPER) 641: m_layerTreeHost = makeUnique(m_webPage); 642: changeWindowScreen(); 643: #else 644: m_layerTreeHost = nullptr; 645: return; 646: #endif #4 0x00007fd90ad8ee42 in WebKit::WebPage::WebPage () at ./Source/WebKit/WebProcess/WebPage/WebPage.cpp:792 787: // (suspended) WebPages in this process for the same WebPageProxy in the UIProcess. Overwriting the HistoryItems 788: // would break back/forward cache for those other pages since the HistoryItems hold the CachedPage. 789: if (!parameters.itemStates.isEmpty()) 790: restoreSessionInternal(parameters.itemStates, parameters.itemStatesWereRestoredByAPIRequest ? WasRestoredByAPIRequest::Yes : WasRestoredByAPIRequest::No, WebBackForwardListProxy::OverwriteExistingItem::No); 791: 792: m_drawingArea->enablePainting(); 793: 794: setMediaVolume(parameters.mediaVolume); 795: 796: setMuted(parameters.muted, [] { }); 797: #5 0x00007fd90ad8efb2 in WebKit::WebPage::create () at ./Source/WebKit/WebProcess/WebPage/WebPage.cpp:456 451: // WebContent process, which will toggle a sandbox variable used to determine if the WebContent process 452: // has finished launching. This call should be replaced with proper API when available. 453: CFPreferencesGetAppIntegerValue(CFSTR("key"), CFSTR("com.apple.WebKit.WebContent.Launch"), nullptr); 454: #endif 455: 456: Ref page = adoptRef(*new WebPage(pageID, WTFMove(parameters))); 457: 458: if (WebProcess::singleton().injectedBundle()) 459: WebProcess::singleton().injectedBundle()->didCreatePage(page.ptr()); 460: 461: return page; #6 0x00007fd90abff840 in WebKit::WebProcess::createWebPage () at ./Source/WebKit/WebProcess/WebProcess.cpp:827 822: // It is necessary to check for page existence here since during a window.open() (or targeted 823: // link) the WebPage gets created both in the synchronous handler and through the normal way. 824: auto result = m_pageMap.add(pageID, nullptr); 825: if (result.isNewEntry) { 826: ASSERT(!result.iterator->value); 827: auto page = WebPage::create(pageID, WTFMove(parameters)); 828: result.iterator->value = page.ptr(); 829: 830: #if ENABLE(GPU_PROCESS) 831: if (m_gpuProcessConnection) 832: page->gpuProcessConnectionDidBecomeAvailable(*m_gpuProcessConnection); #7 0x00007fd90a76f965 in IPC::callMemberFunctionImpl, WebKit::WebPageCreationParameters&&), std::tuple, WebKit::WebPageCreationParameters>, 0ul, 1ul> () at ./Source/WebKit/Platform/IPC/HandleMessage.h:125 120: // Dispatch functions with no reply arguments. 121: 122: template 123: void callMemberFunctionImpl(C* object, MF function, ArgsTuple&& args, std::index_sequence) 124: { 125: (object->*function)(std::get(std::forward(args))...); 126: } 127: 128: template::value>> 129: void callMemberFunction(ArgsTuple&& args, C* object, MF function) 130: { #8 IPC::callMemberFunction, WebKit::WebPageCreationParameters&&), std::tuple, WebKit::WebPageCreationParameters>, std::integer_sequence > () at ./Source/WebKit/Platform/IPC/HandleMessage.h:131 126: } 127: 128: template::value>> 129: void callMemberFunction(ArgsTuple&& args, C* object, MF function) 130: { 131: callMemberFunctionImpl(object, function, std::forward(args), ArgsIndices()); 132: } 133: 134: // Dispatch functions with synchronous reply arguments. 135: 136: template #9 IPC::handleMessage, WebKit::WebPageCreationParameters&&)> () at ./Source/WebKit/Platform/IPC/HandleMessage.h:196 191: auto arguments = decoder.decode::Type>(); 192: if (UNLIKELY(!arguments)) 193: return; 194: 195: logMessage(connection, T::name(), *arguments); 196: callMemberFunction(WTFMove(*arguments), object, function); 197: } 198: 199: template 200: void handleMessageWantsConnection(Connection& connection, Decoder& decoder, C* object, MF function) 201: { #10 0x00007fd90a97b5a5 in IPC::Connection::dispatchMessage () at ./Source/WebKit/Platform/IPC/Connection.cpp:1137 1132: m_didReceiveInvalidMessage = false; 1133: 1134: if (message->isSyncMessage()) 1135: dispatchSyncMessage(*message); 1136: else 1137: dispatchMessage(*message); 1138: 1139: m_didReceiveInvalidMessage |= !message->isValid(); 1140: m_inDispatchMessageCount--; 1141: 1142: // FIXME: For synchronous messages, we should not decrement the counter until we send a response. #11 0x00007fd90a97cc35 in IPC::Connection::dispatchOneIncomingMessage () at ./Source/WebKit/Platform/IPC/Connection.cpp:1206 1201: return; 1202: 1203: message = m_incomingMessages.takeFirst(); 1204: } 1205: 1206: dispatchMessage(WTFMove(message)); 1207: } 1208: 1209: void Connection::dispatchIncomingMessages() 1210: { 1211: ASSERT(RunLoop::isMain()); #12 0x00007fd909594b1d in WTF::Function::operator()() const () at ./Source/WTF/wtf/Function.h:82 77: : m_callableWrapper(makeUnique>(std::forward(f))) { } 78: 79: Out operator()(In... in) const 80: { 81: ASSERT(m_callableWrapper); 82: return m_callableWrapper->call(std::forward(in)...); 83: } 84: 85: explicit operator bool() const { return !!m_callableWrapper; } 86: 87: template::value && std::is_function::type>::value) && std::is_rvalue_reference::value>::type> #13 WTF::RunLoop::performWork () at ./Source/WTF/wtf/RunLoop.cpp:133 128: didSuspendFunctions = true; 129: break; 130: } 131: 132: auto function = m_currentIteration.takeFirst(); 133: function(); 134: } 135: 136: // Suspend only for a single cycle. 137: m_isFunctionDispatchSuspended = false; 138: m_hasSuspendedFunctions = didSuspendFunctions; #14 0x00007fd9095f12ad in operator() () at ./Source/WTF/wtf/glib/RunLoopGLib.cpp:80 75: runLoopSource.runLoop = this; 76: g_source_set_priority(m_source.get(), RunLoopSourcePriority::RunLoopDispatcher); 77: g_source_set_name(m_source.get(), "[WebKit] RunLoop work"); 78: g_source_set_can_recurse(m_source.get(), TRUE); 79: g_source_set_callback(m_source.get(), [](gpointer userData) -> gboolean { 80: static_cast(userData)->performWork(); 81: return G_SOURCE_CONTINUE; 82: }, this, nullptr); 83: g_source_attach(m_source.get(), m_mainContext.get()); 84: } 85: #15 _FUN () at ./Source/WTF/wtf/glib/RunLoopGLib.cpp:82 77: g_source_set_name(m_source.get(), "[WebKit] RunLoop work"); 78: g_source_set_can_recurse(m_source.get(), TRUE); 79: g_source_set_callback(m_source.get(), [](gpointer userData) -> gboolean { 80: static_cast(userData)->performWork(); 81: return G_SOURCE_CONTINUE; 82: }, this, nullptr); 83: g_source_attach(m_source.get(), m_mainContext.get()); 84: } 85: 86: RunLoop::~RunLoop() 87: { #16 0x00007fd9095f1bc3 in operator() () at ./Source/WTF/wtf/glib/RunLoopGLib.cpp:53 48: return G_SOURCE_CONTINUE; 49: g_source_set_ready_time(source, -1); 50: const char* name = g_source_get_name(source); 51: auto& runLoopSource = *reinterpret_cast(source); 52: runLoopSource.runLoop->notify(RunLoop::Event::WillDispatch, name); 53: auto returnValue = callback(userData); 54: runLoopSource.runLoop->notify(RunLoop::Event::DidDispatch, name); 55: return returnValue; 56: }, 57: nullptr, // finalize 58: nullptr, // closure_callback #17 _FUN () at ./Source/WTF/wtf/glib/RunLoopGLib.cpp:56 51: auto& runLoopSource = *reinterpret_cast(source); 52: runLoopSource.runLoop->notify(RunLoop::Event::WillDispatch, name); 53: auto returnValue = callback(userData); 54: runLoopSource.runLoop->notify(RunLoop::Event::DidDispatch, name); 55: return returnValue; 56: }, 57: nullptr, // finalize 58: nullptr, // closure_callback 59: nullptr, // closure_marshall 60: }; 61: #18 0x00007fd909a2ec24 in g_main_dispatch (context=0x55c4230c5810) at ../../../glib/gmain.c:3417 [Error: gmain.c was not found in source tree] #19 g_main_context_dispatch (context=0x55c4230c5810) at ../../../glib/gmain.c:4135 [Error: gmain.c was not found in source tree] #20 0x00007fd909a836f8 in g_main_context_iterate.constprop.0 (context=0x55c4230c5810, block=-1, block@entry=1, dispatch=dispatch@entry=1, self=) at ../../../glib/gmain.c:4183 [Error: gmain.c was not found in source tree] #21 0x00007fd909a2e293 in g_main_loop_run (loop=0x55c42322a550) at ../../../glib/gmain.c:4411 [Error: gmain.c was not found in source tree] #22 0x00007fd9095f1d10 in WTF::RunLoop::run () at ./Source/WTF/wtf/glib/RunLoopGLib.cpp:108 103: ASSERT(!runLoop.m_mainLoops.isEmpty()); 104: 105: GMainLoop* innermostLoop = runLoop.m_mainLoops[0].get(); 106: if (!g_main_loop_is_running(innermostLoop)) { 107: g_main_context_push_thread_default(mainContext); 108: g_main_loop_run(innermostLoop); 109: g_main_context_pop_thread_default(mainContext); 110: return; 111: } 112: 113: // Create and run a nested loop if the innermost one was already running. #23 0x00007fd90adbeeb9 in WebKit::AuxiliaryProcessMainBase::run () at ./Source/WebKit/Shared/AuxiliaryProcessMain.h:70 65: return EXIT_FAILURE; 66: 67: InitializeWebKit2(); 68: 69: initializeAuxiliaryProcess(WTFMove(m_parameters)); 70: RunLoop::run(); 71: platformFinalize(); 72: 73: return EXIT_SUCCESS; 74: } 75: }; #24 WebKit::AuxiliaryProcessMainBase::run () at ./Source/WebKit/Shared/AuxiliaryProcessMain.h:57 52: { 53: if constexpr (HasSingleton) 54: AuxiliaryProcessType::singleton().initialize(WTFMove(parameters)); 55: } 56: 57: int run(int argc, char** argv) 58: { 59: m_parameters.processType = AuxiliaryProcessType::processType; 60: 61: if (!platformInitialize()) 62: return EXIT_FAILURE; #25 WebKit::AuxiliaryProcessMain () at ./Source/WebKit/Shared/AuxiliaryProcessMain.h:96 91: template 92: int AuxiliaryProcessMain(int argc, char** argv) 93: { 94: NeverDestroyed auxiliaryMain; 95: 96: return auxiliaryMain->run(argc, argv); 97: } 98: 99: } // namespace WebKit 100: 101: #endif // !PLATFORM(COCOA) #26 0x00007fd909d94d90 in ?? () from /srv/vms/apport-sandbox-dir/Ubuntu 22.04/amd64/report-sandbox/lib/x86_64-linux-gnu/libc.so.6 #27 0x00007fd906130030 in ?? () from /srv/vms/apport-sandbox-dir/Ubuntu 22.04/amd64/report-sandbox/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30 #28 0x000055c4225b8060 in WebKit::WebProcessMain(int, char**)@plt () #29 0x000000030612dfa0 in ?? () #30 0x00007ffe86a9f1c8 in ?? () #31 0x0000000000000000 in ?? ()