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

Yves-Alexis Perez corsac at debian.org
Thu Sep 25 08:23:50 BST 2025


Package: evolution
Version: 3.56.2-3
Severity: important
Tags: upstream patch

Hi,

I'm faced with a crash in Evolution with the attached backtrace. I've
traced the bug back to a change in libwebki2gtk. Apparently the
Webkit2Gtk maintainers deny it's a regression
(https://gitlab.gnome.org/GNOME/evolution/-/issues/3124) and Evolution
code was wrong from the start.

Anyway, it seems that there are fixes available upstream
(https://gitlab.gnome.org/GNOME/evolution/-/commit/a0f13a8cdd3f54cd5ff23479c9f255cceca7b483)
so it'd be nice to have them included before the next Evolution point
release.

Thanks in advance!
-- 
Yves-Alexis

-- System Information:
Debian Release: forky/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing'), (450, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.16.8+deb14-amd64 (SMP w/14 CPU threads; PREEMPT)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages evolution depends on:
ii  dbus [default-dbus-system-bus]  1.16.2-2
ii  evolution-common                3.56.2-3
ii  evolution-data-server           3.56.2-3
ii  libc6                           2.41-12
ii  libcamel-1.2-64t64              3.56.2-3
ii  libecal-2.0-3                   3.56.2-3
ii  libedataserver-1.2-27t64        3.56.2-3
ii  libevolution                    3.56.2-3
ii  libglib2.0-0t64                 2.84.4-3
ii  libgtk-3-0t64                   3.24.50-2
ii  libical3t64                     3.0.20-1+b1
ii  libnotify4                      0.8.6-2
ii  libwebkit2gtk-4.1-0             2.50.0-1
ii  libxml2-16                      2.14.5+dfsg-0.2
ii  psmisc                          23.7-2

Versions of packages evolution recommends:
pn  evolution-ews                                                <none>
pn  evolution-plugin-bogofilter | evolution-plugin-spamassassin  <none>
pn  evolution-plugin-pstimport                                   <none>
ii  evolution-plugins                                            3.56.2-3
ii  yelp                                                         49.0-3

Versions of packages evolution suggests:
pn  evolution-plugins-experimental  <none>
ii  gnupg                           2.4.8-3
ii  network-manager                 1.54.1-1

-- debconf information:
  evolution/kill_processes:
  evolution/needs_shutdown:
-------------- next part --------------
Starting program: /usr/bin/evolution 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x710c697ff6c0 (LWP 114300)]
[New Thread 0x710c669ff6c0 (LWP 114301)]
[New Thread 0x710c661fe6c0 (LWP 114302)]
[New Thread 0x710c659fd6c0 (LWP 114303)]
[New Thread 0x710c651fc6c0 (LWP 114304)]
[New Thread 0x710c57fff6c0 (LWP 114305)]
[New Thread 0x710c577fe6c0 (LWP 114308)]
[New Thread 0x710c569ff6c0 (LWP 114309)]
[Detaching after fork from child process 114310]
[New Thread 0x710c559bb6c0 (LWP 114319)]
[New Thread 0x710c551ba6c0 (LWP 114324)]
[New Thread 0x710c549b96c0 (LWP 114325)]
[New Thread 0x710c37fff6c0 (LWP 114326)]
[New Thread 0x710c377fe6c0 (LWP 114327)]
[New Thread 0x710c36ffd6c0 (LWP 114328)]
[New Thread 0x710c367fc6c0 (LWP 114329)]
[New Thread 0x710c35ffb6c0 (LWP 114330)]
[New Thread 0x710c351f56c0 (LWP 114331)]
[New Thread 0x710c349f46c0 (LWP 114332)]
[New Thread 0x710bd19ff6c0 (LWP 114333)]
[New Thread 0x710bd11fe6c0 (LWP 114334)]
[New Thread 0x710bc3fff6c0 (LWP 114335)]
[New Thread 0x710bc37fe6c0 (LWP 114336)]
[Thread 0x710bc37fe6c0 (LWP 114336) exited]
[Thread 0x710bc3fff6c0 (LWP 114335) exited]
[New Thread 0x710bc3fff6c0 (LWP 114337)]
[New Thread 0x710bc37fe6c0 (LWP 114338)]
[New Thread 0x710bc2ffd6c0 (LWP 114339)]
[Detaching after vfork from child process 114340]
[Thread 0x710bc2ffd6c0 (LWP 114339) exited]
[Detaching after vfork from child process 114341]
[Detaching after vfork from child process 114346]
[New Thread 0x710bc2ffd6c0 (LWP 114354)]
[New Thread 0x710bc15ff6c0 (LWP 114356)]
[New Thread 0x710bc0dfe6c0 (LWP 114357)]
[New Thread 0x710bd03ff6c0 (LWP 114372)]
[New Thread 0x710bc05fd6c0 (LWP 114373)]
[New Thread 0x710bc03fc6c0 (LWP 114374)]
[New Thread 0x710ba7fff6c0 (LWP 114375)]
[New Thread 0x710ba7dfe6c0 (LWP 114376)]
[New Thread 0x710ba7bfd6c0 (LWP 114377)]
[New Thread 0x710ba79fc6c0 (LWP 114378)]
[New Thread 0x710ba77fb6c0 (LWP 114379)]
[New Thread 0x710ba75fa6c0 (LWP 114380)]
[New Thread 0x710ba73f96c0 (LWP 114381)]
[New Thread 0x710ba71f86c0 (LWP 114382)]
[New Thread 0x710ba6ff76c0 (LWP 114383)]
[New Thread 0x710ba6df66c0 (LWP 114384)]
[New Thread 0x710ba6bf56c0 (LWP 114385)]
[New Thread 0x710ba69f46c0 (LWP 114386)]
[New Thread 0x710ba61f36c0 (LWP 114387)]
[New Thread 0x710ba59f26c0 (LWP 114388)]
[New Thread 0x710ba51f16c0 (LWP 114389)]
[New Thread 0x710ba49f06c0 (LWP 114390)]
[New Thread 0x710b5bfff6c0 (LWP 114391)]
[New Thread 0x710b5b7fe6c0 (LWP 114397)]
[New Thread 0x710b5affd6c0 (LWP 114398)]
[New Thread 0x710b5a7fc6c0 (LWP 114399)]
[New Thread 0x710b59ffb6c0 (LWP 114407)]
[New Thread 0x710b597fa6c0 (LWP 114408)]
[New Thread 0x710b58ff96c0 (LWP 114409)]
[New Thread 0x710b3bfff6c0 (LWP 114410)]
[Thread 0x710b59ffb6c0 (LWP 114407) exited]
[New Thread 0x710b59ffb6c0 (LWP 114413)]
[Thread 0x710b597fa6c0 (LWP 114408) exited]
[New Thread 0x710b597fa6c0 (LWP 114414)]
[New Thread 0x710b3b7fe6c0 (LWP 114416)]
[Thread 0x710b58ff96c0 (LWP 114409) exited]
[Thread 0x710b3bfff6c0 (LWP 114410) exited]
[New Thread 0x710b3bfff6c0 (LWP 114419)]
[Thread 0x710b59ffb6c0 (LWP 114413) exited]
[New Thread 0x710b59ffb6c0 (LWP 114420)]
[New Thread 0x710b58ff96c0 (LWP 114421)]
[Thread 0x710b597fa6c0 (LWP 114414) exited]
[Thread 0x710b59ffb6c0 (LWP 114420) exited]
[Thread 0x710b3bfff6c0 (LWP 114419) exited]
[Thread 0x710b3b7fe6c0 (LWP 114416) exited]
[Thread 0x710b58ff96c0 (LWP 114421) exited]
[New Thread 0x710b58ff96c0 (LWP 114429)]
[New Thread 0x710b59ffb6c0 (LWP 114430)]
[Thread 0x710c569ff6c0 (LWP 114309) exited]
[Thread 0x710ba59f26c0 (LWP 114388) exited]
[Thread 0x710b5a7fc6c0 (LWP 114399) exited]
[Thread 0x710ba69f46c0 (LWP 114386) exited]
[Thread 0x710bc0dfe6c0 (LWP 114357) exited]
[Thread 0x710c367fc6c0 (LWP 114329) exited]
[Thread 0x710c551ba6c0 (LWP 114324) exited]
[Thread 0x710ba61f36c0 (LWP 114387) exited]
[Thread 0x710c36ffd6c0 (LWP 114328) exited]
[Thread 0x710c559bb6c0 (LWP 114319) exited]
[Thread 0x710c549b96c0 (LWP 114325) exited]
[Thread 0x710ba51f16c0 (LWP 114389) exited]
[New Thread 0x710ba51f16c0 (LWP 114444)]
[New Thread 0x710c549b96c0 (LWP 114445)]

Thread 1 "evolution" received signal SIGSEGV, Segmentation fault.
g_str_hash (v=0x0) at ../../../glib/ghash.c:2474
warning: 2474	../../../glib/ghash.c: No such file or directory
#0  g_str_hash (v=0x0) at ../../../glib/ghash.c:2474
        p = 0x0
        h = 5381
#1  0x0000710c8379746c in g_hash_table_lookup_node (hash_table=0x5583c0bb93d0 = {...}, key=0x0, hash_return=<synthetic pointer>) at ../../../glib/ghash.c:421
        node_hash = <optimized out>
        hash_value = <optimized out>
        have_tombstone = 0
        step = 0
        node_index = <optimized out>
        first_tombstone = 0
        node_index = <optimized out>
        node_hash = <optimized out>
        hash_value = <optimized out>
        first_tombstone = <optimized out>
        have_tombstone = <optimized out>
        step = <optimized out>
        _g_boolean_var_14 = <optimized out>
        node_key = <optimized out>
#2  g_hash_table_lookup (hash_table=0x5583c0bb93d0 = {...}, key=key at entry=0x0) at ../../../glib/ghash.c:1488
        node_index = <optimized out>
        node_hash = <optimized out>
#3  0x0000710c7d1eb3f4 in e_web_view_element_clicked_cb (manager=<optimized out>, js_result=<optimized out>, user_data=0x5583c0cfda80) at ./src/e-util/e-web-view.c:1418
        web_view = 0x5583c0cfda80 [EMailDisplay]
        elem_position = {x = 0, y = 0, width = 0, height = 0}
        listeners = <optimized out>
        jsc_object = 0x5583c11bbb90 [JSCValue]
        iframe_id = 0x0
        elem_id = 0x0
        elem_class = 0x0
        elem_value = 0x0
        zoom_level = <optimized out>
#8  0x0000710c82c86663 in <emit signal 'script-message-received:elementClicked' on instance 0x5583c0ec3510 [WebKitUserContentManager]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../../../gobject/gsignal.c:3597
        var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fff3c551fe0, reg_save_area = 0x7fff3c551f20}}
    #4  0x0000710c82c6a950 in g_closure_invoke (closure=0x5583c0ced1c0, return_value=0x0, n_param_values=n_param_values at entry=2, param_values=param_values at entry=0x7fff3c551cc0, invocation_hint=invocation_hint at entry=0x7fff3c551c10) at ../../../gobject/gclosure.c:835
                marshal = 0x710c82c6dc50 <g_cclosure_marshal_VOID__BOXED>
                marshal_data = 0x0
                in_marshal = 0
                real_closure = 0x5583c0ced1a0
    #5  0x0000710c82c7ed43 in signal_emit_unlocked_R (node=node at entry=0x7fff3c551da0, detail=detail at entry=3303, instance=instance at entry=0x5583c0ec3510, emission_return=emission_return at entry=0x0, instance_and_params=instance_and_params at entry=0x7fff3c551cc0) at ../../../gobject/gsignal.c:3902
                tmp = <optimized out>
                handler = 0x5583c0fbd210
                accumulator = <optimized out>
                emission = {next = 0x0, instance = 0x5583c0ec3510, ihint = {signal_id = 503, detail = 3303, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x4 [void]}
                class_closure = <optimized out>
                hlist = <optimized out>
                handler_list = 0x5583c0fbd210
                return_accu = <optimized out>
                accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
                signal_id = <optimized out>
                max_sequential_handler_number = <optimized out>
                return_value_altered = <optimized out>
                n_params = <optimized out>
                EMIT_RESTART = <optimized out>
    #6  0x0000710c82c80769 in signal_emit_valist_unlocked (instance=instance at entry=0x5583c0ec3510, signal_id=signal_id at entry=503, detail=detail at entry=3303, var_args=var_args at entry=0x7fff3c551f00) at ../../../gobject/gsignal.c:3534
                instance_and_params = <optimized out>
                param_values = 0x7fff3c551cd8
                node = <optimized out>
                i = <optimized out>
                node_copy = {signal_id = <optimized out>, itype = <optimized out>, name = <optimized out>, destroyed = <optimized out>, flags = <optimized out>, n_params = <optimized out>, single_va_closure_is_valid = <optimized out>, single_va_closure_is_after = <optimized out>, param_types = <optimized out>, return_type = <optimized out>, class_closure_bsa = <optimized out>, accumulator = <optimized out>, c_marshaller = <optimized out>, va_marshaller = <optimized out>, emission_hooks = <optimized out>, single_va_closure = <optimized out>}
    #7  0x0000710c82c865a6 in g_signal_emit_valist (instance=0x5583c0ec3510, signal_id=503, detail=3303, var_args=0x7fff3c551f00) at ../../../gobject/gsignal.c:3277
#9  0x0000710c7e25f324 in didPostMessage () at ./build-soup3/./Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp:424
#10 0x0000710c7e2fc190 in didPostMessage () at ./Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp:399
#11 0x0000710c7dc7e554 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 0x0000710c7dc7e36e in didReceiveMessage () at ./build-soup3/./build-soup3/DerivedSources/WebKit/WebUserContentControllerProxyMessageReceiver.cpp:49
#19 0x0000710c7e0bdaca in dispatchMessage () at ./Source/WebKit/Platform/IPC/MessageReceiverMap.cpp:129
#20 0x0000710c7e1e9bbd in dispatchMessage () at ./Source/WebKit/UIProcess/WebProcessProxy.cpp:1219
#21 0x0000710c7dc664b5 in didReceiveMessage () at ./build-soup3/./build-soup3/DerivedSources/WebKit/WebProcessProxyMessageReceiver.cpp:207
#22 0x0000710c7e0b5b5f in dispatchMessage () at ./Source/WebKit/Platform/IPC/Connection.cpp:1383
#23 0x0000710c7e0b5d53 in dispatchMessage () at ./Source/WebKit/Platform/IPC/Connection.cpp:1433
#24 0x0000710c7e0b61d1 in dispatchIncomingMessages () at ./Source/WebKit/Platform/IPC/Connection.cpp:1557
#25 0x0000710c7ac28fa6 in operator() () at ./Source/WTF/wtf/Function.h:82
#26 performWork () at ./build-soup3/./Source/WTF/wtf/RunLoop.cpp:148
#27 0x0000710c7ace2e0a 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 0x0000710c7ace1f7e 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 0x0000710c837aa385 in g_main_dispatch (context=context at entry=0x5583bfcc3960) at ../../../glib/gmain.c:3398
        dispatch = 0x710c7ace1f30 <__invoke()>
        prev_source = 0x0
        begin_time_nsec = 37047923640587
        was_in_call = 0
        user_data = 0x710c6700c180
        callback = 0x710c7ace2e00 <__invoke()>
        cb_funcs = 0x710c838a4260 <g_source_callback_funcs>
        cb_data = 0x5583c0b240e0
        need_destroy = <optimized out>
        source = 0x5583c0b24110
        current = 0x5583bfd37c10
        i = 0
#32 0x0000710c837ac5b7 in g_main_context_dispatch_unlocked (context=0x5583bfcc3960) at ../../../glib/gmain.c:4249
#33 g_main_context_iterate_unlocked (context=context at entry=0x5583bfcc3960, block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at ../../../glib/gmain.c:4314
        max_priority = 2147483647
        timeout_usec = 915345
        some_ready = 1
        nfds = 3
        allocated_nfds = <optimized out>
        fds = 0x5583c0b652c0
        begin_time_nsec = 37047921663870
#34 0x0000710c837acd20 in g_main_context_iteration (context=context at entry=0x5583bfcc3960, may_block=may_block at entry=1) at ../../../glib/gmain.c:4379
        retval = <optimized out>
#35 0x0000710c82da0f1d in g_application_run (application=application at entry=0x5583bfcd7860 [EShell], argc=argc at entry=1, argv=argv at entry=0x7fff3c552908) at ../../../gio/gapplication.c:2715
        arguments = 0x5583bfe7e780
        status = 0
        context = 0x5583bfcc3960
        acquired_context = <optimized out>
#36 0x00005583879ba8c7 in main (argc=1, argv=0x7fff3c552908) at ./src/shell/main.c:374
        shell = 0x5583bfcd7860 [EShell]
        is_remote = <optimized out>
        ret = <optimized out>


More information about the pkg-gnome-maintainers mailing list