| Summary: | [GTK][Wayland] Evolution crashes when closing the message compose window (crash in webkitWebViewBaseMakeGLContextCurrent) | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jennifer Graul <me> |
| Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW --- | ||
| Severity: | Normal | CC: | alexandr.miloslavskiy, bugs-noreply, cgarcia, gietki.social, mcatanzaro, mcrha, me |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| See Also: |
https://bugs.webkit.org/show_bug.cgi?id=200856 https://bugs.webkit.org/show_bug.cgi?id=201507 https://bugs.webkit.org/show_bug.cgi?id=233578 |
||
|
Description
Jennifer Graul
2022-04-16 21:39:37 PDT
(In reply to Jennifer Graul from comment #0) > According to [0] this looks like the bug [1] which should already be fixed. I agree, looks identical... Probably also related to bug #239429 A downstream bug report: https://gitlab.gnome.org/GNOME/evolution/-/issues/1878 contains a valgrind log snippet: ==100312== Invalid read of size 8 ==100312== at 0x6986536: webkitWebViewBaseMakeGLContextCurrent(_WebKitWebViewBase*) (WebKitWebViewBase.cpp:2572) ==100312== by 0x6A0FD2A: WebKit::WaylandCompositor::Surface::setWebPage(WebKit::WebPageProxy*) (WaylandCompositor.cpp:184) ==100312== by 0x6A1138F: WebKit::WaylandCompositor::unregisterWebPage(WebKit::WebPageProxy&) (WaylandCompositor.cpp:597) ==100312== by 0x6A06157: WebKit::AcceleratedBackingStoreWayland::~AcceleratedBackingStoreWayland() (AcceleratedBackingStoreWayland.cpp:246) ==100312== by 0x6A061BC: WebKit::AcceleratedBackingStoreWayland::~AcceleratedBackingStoreWayland() (AcceleratedBackingStoreWayland.cpp:251) ==100312== by 0x69842BA: operator() (unique_ptr.h:85) ==100312== by 0x69842BA: reset (unique_ptr.h:182) ==100312== by 0x69842BA: reset (unique_ptr.h:456) ==100312== by 0x69842BA: operator= (unique_ptr.h:397) ==100312== by 0x69842BA: webkitWebViewBaseDispose(_GObject*) (WebKitWebViewBase.cpp:707) ==100312== by 0x55A1D30: UnknownInlinedFun (gobject.c:3636) ==100312== by 0x55A1D30: g_object_unref (gobject.c:3553) ==100312== by 0x4C84BD5: gtk_container_remove (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2404.29) ==100312== by 0x4DEB4F7: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2404.29) ==100312== by 0x5592744: g_cclosure_marshal_VOID__OBJECTv (gmarshal.c:1910) ==100312== by 0x55B163F: UnknownInlinedFun (gclosure.c:893) ==100312== by 0x55B163F: g_signal_emit_valist (gsignal.c:3406) ==100312== by 0x55B17A2: g_signal_emit (gsignal.c:3553) ==100312== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==100312== ==100312== ==100312== Process terminating with default action of signal 11 (SIGSEGV) ==100312== Access not within mapped region at address 0x0 ==100312== at 0x6986536: webkitWebViewBaseMakeGLContextCurrent(_WebKitWebViewBase*) (WebKitWebViewBase.cpp:2572) ==100312== by 0x6A0FD2A: WebKit::WaylandCompositor::Surface::setWebPage(WebKit::WebPageProxy*) (WaylandCompositor.cpp:184) ==100312== by 0x6A1138F: WebKit::WaylandCompositor::unregisterWebPage(WebKit::WebPageProxy&) (WaylandCompositor.cpp:597) ==100312== by 0x6A06157: WebKit::AcceleratedBackingStoreWayland::~AcceleratedBackingStoreWayland() (AcceleratedBackingStoreWayland.cpp:246) ==100312== by 0x6A061BC: WebKit::AcceleratedBackingStoreWayland::~AcceleratedBackingStoreWayland() (AcceleratedBackingStoreWayland.cpp:251) ==100312== by 0x69842BA: operator() (unique_ptr.h:85) ==100312== by 0x69842BA: reset (unique_ptr.h:182) ==100312== by 0x69842BA: reset (unique_ptr.h:456) ==100312== by 0x69842BA: operator= (unique_ptr.h:397) ==100312== by 0x69842BA: webkitWebViewBaseDispose(_GObject*) (WebKitWebViewBase.cpp:707) ==100312== by 0x55A1D30: UnknownInlinedFun (gobject.c:3636) ==100312== by 0x55A1D30: g_object_unref (gobject.c:3553) ==100312== by 0x4C84BD5: gtk_container_remove (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2404.29) ==100312== by 0x4DEB4F7: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2404.29) ==100312== by 0x5592744: g_cclosure_marshal_VOID__OBJECTv (gmarshal.c:1910) ==100312== by 0x55B163F: UnknownInlinedFun (gclosure.c:893) ==100312== by 0x55B163F: g_signal_emit_valist (gsignal.c:3406) ==100312== by 0x55B17A2: g_signal_emit (gsignal.c:3553) I'll check this issue, but I think evolution composer web view should just change the accelerated compositing setting policy to never or ondemand. (In reply to Carlos Garcia Campos from comment #4) > I think evolution composer web view should just > change the accelerated compositing setting policy to never or ondemand. Do you mean as a workaround for the time being? There used to be set the WEBKIT_DISABLE_COMPOSITING_MODE, but it had been removed long ago (see [1]). I can return it back, though I think the environment variable has a different name these days, no? [1] https://gitlab.gnome.org/GNOME/evolution/-/commit/12453d8744fc1a4f6 I mean in general, I guess the compositor view doesn't really need hardware acceleration. But do not use any env var, we have a setting for that, just set the policy to never or ondemand only of the compositor web view. Can people still enable acceleration when the option is off in the settings? That was the main intention for the env variable usage. Note that had been removed from evo due to issues with typing, as the commit I referenced suggests. (In reply to Milan Crha from comment #7) > Can people still enable acceleration when the option is off in the settings? > That was the main intention for the env variable usage. Note that had been > removed from evo due to issues with typing, as the commit I referenced > suggests. I did that for 3.44.1+ with: https://gitlab.gnome.org/GNOME/evolution/-/commit/eb62ccaa28bbbca7668913ce7d8056a6d75f9b05 Many Eclipse users are having this crash: https://github.com/eclipse-platform/eclipse.platform.swt/issues/179 Hi, as SyntevoAlex pointed out this is really a blocker for all Eclipse users. May we ask you to fix the issue in the library and release it soon? Cheers! This looks very similar to bug #201507, which has been open for three years. Nobody knows how to fix it. We don't even know whether it is a WebKit bug or an OpenGL driver bug. I would not expect any quick fixes here. If you need it solved urgently, I would do what Evolution did and just disable hardware acceleration entirely. But be aware that might stop working in the future.... |