Bug#1116301: evolution: Evolution crash when clicking on some UI elements (like attachments) with libwebkit2gtk-4.1-0 > 2.49.4

Yavor Doganov yavor at gnu.org
Thu Oct 2 18:17:06 BST 2025


On Mon, Sep 29, 2025 at 03:02:55PM +0200, Evangelos Ribeiro Tzaras wrote:
> On Thu, 25 Sep 2025 09:23:50 +0200 Yves-Alexis Perez <corsac at debian.org> wrote
> > Anyway, it seems that there are fixes available upstream
> >
> (https://gitlab.gnome.org/GNOME/evolution/-/commit/a0f13a8cdd3f54cd5ff23479c9f255cceca7b483
> )
> 
> The commit you linked to is only changing the tests,
> I think you meant to (also) link to
> https://gitlab.gnome.org/GNOME/evolution/-/commit/811a6df1f990855e49ecc0ba7b1a7f7a5ec251e6
> 
> Yves-Alexis have you tested whether applying these patches fixes
> *your* crash?

It looks like you didn't CC him so if he's not subscribed to
evolution's PTS, chances are that he missed your message.

FWIW, I experience a very similar crash when clicking on the button
with the down arrow that is supposed to show a list of the programs
that are able to display the attachment (PDF in my case).  I can
confirm that applying the upstream commit you quoted (811a6df) fixes
the problem entirely.

Here's my backtrace:

Thread 1 "evolution" received signal SIGSEGV, Segmentation fault.
g_str_hash (v=0x0) at ../../../glib/ghash.c:2474
warning: 2474	../../../glib/ghash.c: Няма такъв файл или директория
(gdb) bt
#0  g_str_hash (v=0x0) at ../../../glib/ghash.c:2474
#1  0x00007f720d8de46c in g_hash_table_lookup_node
    (hash_table=0x56494cdcc0a0 = {...}, key=0x0, hash_return=<synthetic pointer>) at ../../../glib/ghash.c:421
#2  g_hash_table_lookup (hash_table=0x56494cdcc0a0 = {...}, key=key at entry=0x0) at ../../../glib/ghash.c:1488
#3  0x00007f72073eb3f4 in e_web_view_element_clicked_cb
    (manager=<optimized out>, js_result=<optimized out>, user_data=0x56494c2b9bd0)
    at ./src/e-util/e-web-view.c:1418
#8  0x00007f720cdd8663 in <emit signal 'script-message-received:elementClicked' on instance 0x56494ce1c4a0 [WebKitUserContentManager]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>)
    at ../../../gobject/gsignal.c:3597
    #4  0x00007f720cdbc950 in g_closure_invoke
    (closure=0x56494ce08d20, return_value=0x0, n_param_values=n_param_values at entry=2, param_values=param_values at entry=0x7ffd9b7d0290, invocation_hint=invocation_hint at entry=0x7ffd9b7d01e0) at ../../../gobject/gclosure.c:835
    #5  0x00007f720cdd0d43 in signal_emit_unlocked_R
    (node=node at entry=0x7ffd9b7d0370, detail=detail at entry=3237, instance=instance at entry=0x56494ce1c4a0, emission_return=emission_return at entry=0x0, instance_and_params=instance_and_params at entry=0x7ffd9b7d0290)
    at ../../../gobject/gsignal.c:3902
    #6  0x00007f720cdd2769 in signal_emit_valist_unlocked
    (instance=instance at entry=0x56494ce1c4a0, signal_id=signal_id at entry=502, detail=detail at entry=3237, var_args=var_args at entry=0x7ffd9b7d04d0) at ../../../gobject/gsignal.c:3534
    #7  0x00007f720cdd85a6 in g_signal_emit_valist
    (instance=0x56494ce1c4a0, signal_id=502, detail=3237, var_args=0x7ffd9b7d04d0)
    at ../../../gobject/gsignal.c:3277
#9  0x00007f720845f324 in didPostMessage ()
    at ./build-soup3/./Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp:424
#10 0x00007f72084fc190 in didPostMessage ()
    at ./Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp:399
#11 0x00007f7207e7e554 in operator()<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::FrameInfoData, WTF::ObjectIdentifierGeneric<WebKit::ScriptMessageHandlerIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::JavaScriptEvaluationResult> () at ./Source/WebKit/Platform/IPC/HandleMessage.h:147
#12 __invoke_impl<void, (lambda at ./Source/WebKit/Platform/IPC/HandleMessage.h:145:9), WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::FrameInfoData, WTF::ObjectIdentifierGeneric<WebKit::ScriptMessageHandlerIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::JavaScriptEvaluationResult> ()
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63
#13 __invoke<(lambda at ./Source/WebKit/Platform/IPC/HandleMessage.h:145:9), WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::FrameInfoData, WTF::ObjectIdentifierGeneric<WebKit::ScriptMessageHandlerIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::JavaScriptEvaluationResult> ()
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:98
#14 __apply_impl<(lambda at ./Source/WebKit/Platform/IPC/HandleMessage.h:145:9), std::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::FrameInfoData, WTF::ObjectIdentifierGeneric<WebKit::ScriptMessageHandlerIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::JavaScriptEvaluationResult>, 0UL, 1UL, 2UL, 3UL>
    () at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/tuple:2920
#15 apply<(lambda at ./Source/WebKit/Platform/IPC/HandleMessage.h:145:9), std::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::FrameInfoData, WTF::ObjectIdentifierGeneric<WebKit::ScriptMessageHandlerIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::JavaScriptEvaluationResult> > ()
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/tuple:2935
#16 callMemberFunction<WebKit::WebUserContentControllerProxy, WebKit::WebUserContentControllerProxy, void(WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::FrameInfoData&&, WTF::ObjectIdentifierGeneric<WebKit::ScriptMessageHandlerIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::JavaScriptEvaluationResult&&, WTF::CompletionHandler<void(std::experimental::fundamentals_v3::expected<WebKit::JavaScriptEvaluationResult, WTF::String>&&)>&&), std::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::FrameInfoData, WTF::ObjectIdentifierGeneric<WebKit::ScriptMessageHandlerIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::JavaScriptEvaluationResult>, void(std::experimental::fundamentals_v3::expected<WebKit::JavaScriptEvaluationResult, WTF::String>&&)> () at ./Source/WebKit/Platform/IPC/HandleMessage.h:144
#17 handleMessageAsync<Messages::WebUserContentControllerProxy::DidPostMessage, IPC::Connection, WebKit::WebUserContentControllerProxy, WebKit::WebUserContentControllerProxy, void(WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::FrameInfoData&&, WTF::ObjectIdentifierGeneric<WebKit::ScriptMessageHandlerIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long>, WebKit::JavaScriptEvaluationResult&&, WTF::CompletionHandler<void(std::experimental::fundamentals_v3::expected<WebKit::JavaScriptEvaluationResult, WTF::String>&&)>&&)> ()
    at ./Source/WebKit/Platform/IPC/HandleMessage.h:432
#18 0x00007f7207e7e36e in didReceiveMessage ()
    at ./build-soup3/./build-soup3/DerivedSources/WebKit/WebUserContentControllerProxyMessageReceiver.cpp:49
#19 0x00007f72082bdaca in dispatchMessage () at ./Source/WebKit/Platform/IPC/MessageReceiverMap.cpp:129
#20 0x00007f72083e9bbd in dispatchMessage () at ./Source/WebKit/UIProcess/WebProcessProxy.cpp:1219
#21 0x00007f7207e664b5 in didReceiveMessage ()
    at ./build-soup3/./build-soup3/DerivedSources/WebKit/WebProcessProxyMessageReceiver.cpp:207
#22 0x00007f72082b5b5f in dispatchMessage () at ./Source/WebKit/Platform/IPC/Connection.cpp:1383
#23 0x00007f72082b5d53 in dispatchMessage () at ./Source/WebKit/Platform/IPC/Connection.cpp:1433
#24 0x00007f72082b61d1 in dispatchIncomingMessages () at ./Source/WebKit/Platform/IPC/Connection.cpp:1557
#25 0x00007f7204e28fa6 in operator() () at ./Source/WTF/wtf/Function.h:82
#26 performWork () at ./build-soup3/./Source/WTF/wtf/RunLoop.cpp:148
#27 0x00007f7204ee2e0a in operator() () at ./build-soup3/./Source/WTF/wtf/glib/RunLoopGLib.cpp:80
#28 __invoke () at ./build-soup3/./Source/WTF/wtf/glib/RunLoopGLib.cpp:79
#29 0x00007f7204ee1f7e in operator() () at ./build-soup3/./Source/WTF/wtf/glib/RunLoopGLib.cpp:53
#30 __invoke () at ./build-soup3/./Source/WTF/wtf/glib/RunLoopGLib.cpp:45
#31 0x00007f720d8f1385 in g_main_dispatch (context=context at entry=0x56494bbc3b20) at ../../../glib/gmain.c:3398
#32 0x00007f720d8f35b7 in g_main_context_dispatch_unlocked (context=0x56494bbc3b20) at ../../../glib/gmain.c:4249
#33 g_main_context_iterate_unlocked
    (context=context at entry=0x56494bbc3b20, block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>)
    at ../../../glib/gmain.c:4314
#34 0x00007f720d8f3d20 in g_main_context_iteration
    (context=context at entry=0x56494bbc3b20, may_block=may_block at entry=1) at ../../../glib/gmain.c:4379
#35 0x00007f720cef2f1d in g_application_run
    (application=0x56494bbeae60 [EShell], argc=<optimized out>, argv=0x7ffd9b7d0ed8)
    at ../../../gio/gapplication.c:2715
#36 0x000056491f1ce8c7 in main ()



More information about the pkg-gnome-maintainers mailing list