NEW 260519
[GTK] web process crash when pressing down-arrow and page-down
https://bugs.webkit.org/show_bug.cgi?id=260519
Summary [GTK] web process crash when pressing down-arrow and page-down
Haelwenn (lanodan) Monnier
Reported 2023-08-22 08:10:17 PDT
Created attachment 467387 [details] backtrace of WebProcess System: - Gentoo Linux - LLVM/Clang 16.0.6 - Wayland (sway) Steps: - Open browser like MiniBrowser - Let it load webkitgtk.org or any other website - Press down arrow or page down (instant crash) Logs: Could not determine the accessibility bus address ERROR: Failed to connect to RealtimeKit: Could not connect: No such file or directory /var/tmp/notmpfs/portage/net-libs/webkit-gtk-2.41.91-r410/work/webkitgtk-2.41.91/Source/WTF/wtf/linux/RealTimeThreads.cpp(190) : void WTF::RealTimeThreads::realTimeKitMakeThreadRealTime(uint64_t, uint64_t, uint32_t) ASSERTION FAILED: inProgrammaticScroll == (options.type == ScrollType::Programmatic) /var/tmp/notmpfs/portage/net-libs/webkit-gtk-2.41.91-r410/work/webkitgtk-2.41.91/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp(333) : virtual bool WebCore::AsyncScrollingCoordinator::requestScrollToPosition(ScrollableArea &, const ScrollPosition &, const ScrollPositionChangeOptions &) ERROR: 0x7b9768000c00 - [PID=1801] WebProcessProxy::didClose (web process crash) /var/tmp/notmpfs/portage/net-libs/webkit-gtk-2.41.91-r410/work/webkitgtk-2.41.91/Source/WebKit/UIProcess/WebProcessProxy.cpp(1050) : virtual void WebKit::WebProcessProxy::didClose(IPC::Connection &) ERROR: 0x7b9768000c00 - [PID=1801] WebProcessProxy::processDidTerminateOrFailedToLaunch: reason=Crash /var/tmp/notmpfs/portage/net-libs/webkit-gtk-2.41.91-r410/work/webkitgtk-2.41.91/Source/WebKit/UIProcess/WebProcessProxy.cpp(1058) : void WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch(ProcessTerminationReason) ERROR: 0x7b97b50c4100 - [pageProxyID=10, webPageID=11, PID=1801] WebPageProxy::processDidTerminate: (pid 1801), reason=Crash /var/tmp/notmpfs/portage/net-libs/webkit-gtk-2.41.91-r410/work/webkitgtk-2.41.91/Source/WebKit/UIProcess/WebPageProxy.cpp(8839) : void WebKit::WebPageProxy::resetStateAfterProcessTermination(ProcessTerminationReason) ERROR: 0x7b97b50c4100 - [pageProxyID=10, webPageID=11, PID=1801] WebPageProxy::dispatchProcessDidTerminate: reason=Crash /var/tmp/notmpfs/portage/net-libs/webkit-gtk-2.41.91-r410/work/webkitgtk-2.41.91/Source/WebKit/UIProcess/WebPageProxy.cpp(8897) : void WebKit::WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason) ** (MiniBrowser:1753): WARNING **: 05:00:33.953: WebProcess CRASHED
Attachments
backtrace of WebProcess (23.77 KB, text/x-log)
2023-08-22 08:10 PDT, Haelwenn (lanodan) Monnier
no flags
Michael Catanzaro
Comment 1 2023-08-22 08:37:13 PDT
So you compiled with assertions enabled? That's unusual, but very useful to reveal bugs like this. Unfortunately your backtrace is useless because you don't have debuginfo. You'll need to recompile with -g.
Haelwenn (lanodan) Monnier
Comment 2 2023-08-22 10:03:30 PDT
> So you compiled with assertions enabled? I didn't set an option for enabling assertions, might be due to a WebKit buildsystem change or some side-effect of not having "Release" mode but "Gentoo" mode, which AFAIK is based on "RelWithDebInfo". Or might be due to removing an old hack where -DNDEBUG was appended to CPPFLAGS, removed it as it would fail to compile (Source/WebCore/page/LocalFrameViewLayoutContext.cpp:281:13: error: use of undeclared identifier 'showRenderTree'). > Unfortunately your backtrace is useless because you don't have debuginfo. You'll need to recompile with -g. It had -ggdb so not sure why it doesn't…
Michael Catanzaro
Comment 3 2023-08-22 11:37:01 PDT
(In reply to Haelwenn (lanodan) Monnier from comment #2) > Or might be due to removing an old hack where -DNDEBUG was appended to > CPPFLAGS, removed it as it would fail to compile I think that would indeed cause debug assertions to be enabled. -DNDEBUG is added by CMake itself when using a Release or RelWithDebInfo build, but if Gentoo mode doesn't do that, it would explain why you get debug assertions. I think running with debug assertions enabled is a good idea, sort of. Problem is it is not well-tested, so basically only Gentoo users will ever notice these assertion failures. Pragmatically, it's probably not a good idea for only Gentoo to have these enabled. But I suppose it's good for WebKit upstream to receive bug reports for problems we wouldn't otherwise know about. :) > (Source/WebCore/page/LocalFrameViewLayoutContext.cpp:281:13: error: use of > undeclared identifier 'showRenderTree'). > > > Unfortunately your backtrace is useless because you don't have debuginfo. You'll need to recompile with -g. > > It had -ggdb so not sure why it doesn't… Strange. Maybe try gdb instead of lldb then? I have actually never seen a backtrace from lldb on Linux. What I can say for sure is the bug won't be fixed without a better backtrace.
Note You need to log in before you can comment on or make changes to this bug.