Bug 239429 - [GTK][Wayland] Evolution crashes when closing the message compose window (crash in webkitWebViewBaseMakeGLContextCurrent)
Summary: [GTK][Wayland] Evolution crashes when closing the message compose window (cra...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-04-16 21:39 PDT by Jennifer Graul
Modified: 2022-06-12 07:54 PDT (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jennifer Graul 2022-04-16 21:39:37 PDT
Using NixOS unstable (22.05pre369524.5181d5945ed), webkitgtk 2.36.0 and the Sway window manager, Evolution 3.44.0 crashes with a segmentation fault when I try to close the message compose window.

According to [0] this looks like the bug [1] which should already be fixed.

[0] -- https://github.com/NixOS/nixpkgs/issues/168939#issuecomment-1100796262
[1] -- https://bugs.webkit.org/show_bug.cgi?id=200856

Here is the backtrace of the segmentation fault:

#0  0x00007ffff30fb612 in webkitWebViewBaseMakeGLContextCurrent (webkitWebViewBase=<optimized out>) at /build/webkitgtk-2.36.0/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:2572
No locals.
#1  0x00007ffff3196235 in WebKit::WebPageProxy::makeGLContextCurrent (this=<optimized out>) at /build/webkitgtk-2.36.0/Source/WebKit/UIProcess/gtk/WebPageProxyGtk.cpp:80
No locals.
#2  0x00007ffff31937bf in WebKit::WaylandCompositor::Surface::setWebPage (this=0x7fffcc3e4240, webPage=webPage@entry=0x0) at /build/webkitgtk-2.36.0/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp:185
No locals.
#3  0x00007ffff319461d in WebKit::WaylandCompositor::unregisterWebPage (this=0x7ffff6549a20 <WebKit::WaylandCompositor::singleton()::waylandCompositor>, webPage=...)
    at /build/webkitgtk-2.36.0/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp:598
        surface = <optimized out>
#4  0x00007ffff3189de4 in WebKit::AcceleratedBackingStoreWayland::~AcceleratedBackingStoreWayland (this=0x7fffcc368b70, __in_chrg=<optimized out>)
    at /build/webkitgtk-2.36.0/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:246
No locals.
#5  WebKit::AcceleratedBackingStoreWayland::~AcceleratedBackingStoreWayland (this=0x7fffcc368b70, __in_chrg=<optimized out>)
    at /build/webkitgtk-2.36.0/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:251
No locals.
#6  0x00007ffff30fa494 in std::default_delete<WebKit::AcceleratedBackingStore>::operator() (__ptr=<optimized out>, this=<optimized out>)
    at /nix/store/2dll4xl0xn13anzfxk0pbjr209s6rwhx-gcc-10.3.0/include/c++/10.3.0/bits/unique_ptr.h:85
No locals.
#7  std::__uniq_ptr_impl<WebKit::AcceleratedBackingStore, std::default_delete<WebKit::AcceleratedBackingStore> >::reset (__p=0x0, this=<optimized out>)
    at /nix/store/2dll4xl0xn13anzfxk0pbjr209s6rwhx-gcc-10.3.0/include/c++/10.3.0/bits/unique_ptr.h:182
        __old_p = <optimized out>
#8  std::unique_ptr<WebKit::AcceleratedBackingStore, std::default_delete<WebKit::AcceleratedBackingStore> >::reset (__p=0x0, this=<optimized out>)
    at /nix/store/2dll4xl0xn13anzfxk0pbjr209s6rwhx-gcc-10.3.0/include/c++/10.3.0/bits/unique_ptr.h:456
No locals.
#9  std::unique_ptr<WebKit::AcceleratedBackingStore, std::default_delete<WebKit::AcceleratedBackingStore> >::operator=(decltype(nullptr)) (this=<optimized out>)
    at /nix/store/2dll4xl0xn13anzfxk0pbjr209s6rwhx-gcc-10.3.0/include/c++/10.3.0/bits/unique_ptr.h:397
No locals.
#10 webkitWebViewBaseDispose (gobject=0x41e3570) at /build/webkitgtk-2.36.0/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:707
        webView = 0x41e3570
#11 0x00007ffff6990645 in g_object_unref (_object=<optimized out>) at ../gobject/gobject.c:3636
        weak_locations = <optimized out>
        nqueue = 0x47ebcc0
        object = <optimized out>
        old_ref = <optimized out>
        retry_atomic_decrement1 = <optimized out>
        object = <optimized out>
        old_ref = <optimized out>
        __func__ = "g_object_unref"
        retry_atomic_decrement1 = <optimized out>
        retry_atomic_decrement2 = <optimized out>
        _g_boolean_var_ = <optimized out>
        gaig_temp = <optimized out>
        has_toggle_ref = <optimized out>
        gaicae_oldval = <optimized out>
        weak_locations = <optimized out>
        nqueue = <optimized out>
        gaig_temp = <optimized out>
        _pp = <optimized out>
        _ptr = <optimized out>
        gaig_temp = <optimized out>
        has_toggle_ref = <optimized out>
        gaicae_oldval = <optimized out>
        _g_boolean_var_ = <optimized out>
        _g_boolean_var_ = <optimized out>
        was_present = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
#12 g_object_unref (_object=0x41e3570) at ../gobject/gobject.c:3553
        object = 0x41e3570
        old_ref = <optimized out>
        __func__ = "g_object_unref"
        retry_atomic_decrement1 = <optimized out>
        retry_atomic_decrement2 = <optimized out>
        gaig_temp = <optimized out>
        has_toggle_ref = <optimized out>
        gaicae_oldval = <optimized out>
        weak_locations = <optimized out>
        nqueue = <optimized out>
        gaig_temp = <optimized out>
        _pp = <optimized out>
        _ptr = <optimized out>
        gaig_temp = <optimized out>
        has_toggle_ref = <optimized out>
        gaicae_oldval = <optimized out>
        _g_boolean_var_ = <optimized out>
        _g_boolean_var_ = <optimized out>
        was_present = <optimized out>
#13 0x00007ffff7583368 in gtk_container_remove (container=0x2950bc0, widget=0x41e3570) at ../gtk/gtkcontainer.c:1911
        __func__ = "gtk_container_remove"
#14 0x00007ffff76deb20 in gtk_scrolled_window_remove (container=container@entry=0x2e24ee0, child=child@entry=0x2950bc0) at ../gtk/gtkscrolledwindow.c:4109
        grandchild = <optimized out>
        priv = 0x2e24bd0
        scrolled_window = 0x2e24ee0
        scrollable_child = 0x2950bc0
#15 0x00007ffff698e88a in g_cclosure_marshal_VOID__OBJECTv (closure=0x4fd4f0, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>,
    n_params=<optimized out>, param_types=0x5064d0) at ../gobject/gmarshal.c:1910
        cc = <optimized out>
        data1 = 0x2e24ee0
        data2 = <optimized out>
        callback = 0x7ffff76dea80 <gtk_scrolled_window_remove>
        arg0 = 0x2950bc0
        args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffa570, reg_save_area = 0x7fffffffa4b0}}
#16 0x00007ffff698b849 in _g_closure_invoke_va (closure=closure@entry=0x4fd4f0, return_value=return_value@entry=0x0, instance=instance@entry=0x2e24ee0, args=args@entry=0x7fffffffa490, n_params=1,
    param_types=0x5064d0) at ../gobject/gclosure.c:893
        marshal = 0x7ffff6989cf0 <g_type_class_meta_marshalv>
        marshal_data = 0x340
        in_marshal = 0
        real_closure = 0x4fd4d0
        __func__ = "_g_closure_invoke_va"
#17 0x00007ffff69a3f1b in g_signal_emit_valist (instance=0x2e24ee0, signal_id=123, detail=0, var_args=var_args@entry=0x7fffffffa490) at ../gobject/gsignal.c:3406
        return_accu = <optimized out>
        accu = {g_type = 0, 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}}}
        accumulator = 0x0
        emission = {next = 0x7fffffffa6f0, instance = 0x2e24ee0, ihint = {signal_id = 123, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN,
          chain_type = 6220688}
        instance_type = <optimized out>
        emission_return = {g_type = 0, 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}}}
        rtype = 4
        static_scope = 0
        fastpath_handler = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        closure = <optimized out>
        run_type = <optimized out>
        hlist = <optimized out>
        l = <optimized out>
        fastpath = 1
        instance_and_params = <optimized out>
        signal_return_type = <optimized out>
        param_values = <optimized out>
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __func__ = "g_signal_emit_valist"
#18 0x00007ffff69a41af in g_signal_emit (instance=instance@entry=0x2e24ee0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffa570, reg_save_area = 0x7fffffffa4b0}}
#19 0x00007ffff7583355 in gtk_container_remove (container=0x2e24ee0, widget=0x2950bc0) at ../gtk/gtkcontainer.c:1907
        __func__ = "gtk_container_remove"
#20 0x00007ffff77b1854 in gtk_widget_dispose (object=0x2950bc0) at ../gtk/gtkwidget.c:12155
        widget = 0x2950bc0
        priv = 0x2950ad0
        sizegroups = <optimized out>
#21 0x00007ffff6991b69 in g_object_run_dispose (object=0x2950bc0) at ../gobject/gobject.c:1268
        __func__ = "g_object_run_dispose"
#22 0x00007ffff77a8fb9 in gtk_widget_destroy (widget=<optimized out>) at ../gtk/gtkwidget.c:4780
        __func__ = "gtk_widget_destroy"
#23 0x00007ffff76df3b1 in gtk_scrolled_window_destroy (widget=0x2e24ee0) at ../gtk/gtkscrolledwindow.c:2821
        scrolled_window = 0x2e24ee0
        priv = 0x2e24bd0
        child = <optimized out>
#24 0x00007ffff698b558 in g_closure_invoke (closure=closure@entry=0x502d20, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffa780,
    invocation_hint=invocation_hint@entry=0x7fffffffa700) at ../gobject/gclosure.c:830
        marshal = 0x7ffff6989e30 <g_type_class_meta_marshal>
        marshal_data = 0x98
        in_marshal = 1
        real_closure = 0x502d00
        __func__ = "g_closure_invoke"
#25 0x00007ffff699d504 in signal_emit_unlocked_R (node=node@entry=0x4ed8f0, detail=detail@entry=0, instance=instance@entry=0x2e24ee0, emission_return=emission_return@entry=0x0,
    instance_and_params=instance_and_params@entry=0x7fffffffa780) at ../gobject/gsignal.c:3861
        need_unset = 0
        accumulator = 0x0
        emission = {next = 0x7fffffffab70, instance = 0x2e24ee0, ihint = {signal_id = 53, detail = 0, run_type = (G_SIGNAL_RUN_CLEANUP | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_STOP,
          chain_type = 6220688}
        class_closure = 0x502d20
        hlist = <optimized out>
        handler_list = 0x0
        return_accu = 0x0
        accu = {g_type = 0, 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 = 53
        max_sequential_handler_number = 37901
        return_value_altered = <optimized out>
        EMIT_RESTART = <optimized out>
#26 0x00007ffff69a3c4f in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffa900) at ../gobject/gsignal.c:3496
        instance_and_params = 0x7fffffffa780
        signal_return_type = <optimized out>
        param_values = 0x7fffffffa798
--Type <RET> for more, q to quit, c to continue without paging--
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __func__ = "g_signal_emit_valist"
#27 0x00007ffff69a41af in g_signal_emit (instance=instance@entry=0x2e24ee0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffa9e0, reg_save_area = 0x7fffffffa920}}
#28 0x00007ffff77b1930 in gtk_widget_dispose (object=0x2e24ee0) at ../gtk/gtkwidget.c:12166
        widget = 0x2e24ee0
        priv = 0x2e24df0
        sizegroups = <optimized out>
#29 0x00007ffff6991b69 in g_object_run_dispose (object=0x2e24ee0) at ../gobject/gobject.c:1268
        __func__ = "g_object_run_dispose"
#30 0x00007ffff767e0fe in gtk_notebook_forall (container=<optimized out>, include_internals=0, callback=0x7ffff77a8f70 <gtk_widget_destroy>, callback_data=0x0) at ../gtk/gtknotebook.c:4608
        page = 0x2990850
        notebook = <optimized out>
        priv = 0x2ddf1e0
        children = 0x0
        i = <optimized out>
#31 0x00007ffff7585036 in gtk_container_destroy (widget=0x2ddf3e0) at ../gtk/gtkcontainer.c:1702
        container = 0x2ddf3e0
        priv = 0x2ddf2d0
#32 0x00007ffff698b558 in g_closure_invoke (closure=closure@entry=0x502d20, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffac00,
    invocation_hint=invocation_hint@entry=0x7fffffffab80) at ../gobject/gclosure.c:830
        marshal = 0x7ffff6989e30 <g_type_class_meta_marshal>
        marshal_data = 0x98
        in_marshal = 1
        real_closure = 0x502d00
        __func__ = "g_closure_invoke"
#33 0x00007ffff699d504 in signal_emit_unlocked_R (node=node@entry=0x4ed8f0, detail=detail@entry=0, instance=instance@entry=0x2ddf3e0, emission_return=emission_return@entry=0x0,
    instance_and_params=instance_and_params@entry=0x7fffffffac00) at ../gobject/gsignal.c:3861
        need_unset = 0
        accumulator = 0x0
        emission = {next = 0x7fffffffafe0, instance = 0x2ddf3e0, ihint = {signal_id = 53, detail = 0, run_type = (G_SIGNAL_RUN_CLEANUP | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_STOP,
          chain_type = 5278800}
        class_closure = 0x502d20
        hlist = <optimized out>
        handler_list = 0x0
        return_accu = 0x0
        accu = {g_type = 0, 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 = 53
        max_sequential_handler_number = 37865
        return_value_altered = <optimized out>
        EMIT_RESTART = <optimized out>
#34 0x00007ffff69a3c4f in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffad80) at ../gobject/gsignal.c:3496
        instance_and_params = 0x7fffffffac00
        signal_return_type = <optimized out>
        param_values = 0x7fffffffac18
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __func__ = "g_signal_emit_valist"
#35 0x00007ffff69a41af in g_signal_emit (instance=instance@entry=0x2ddf3e0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffae60, reg_save_area = 0x7fffffffada0}}
#36 0x00007ffff77b1930 in gtk_widget_dispose (object=0x2ddf3e0) at ../gtk/gtkwidget.c:12166
--Type <RET> for more, q to quit, c to continue without paging--
        widget = 0x2ddf3e0
        priv = 0x2ddf2f0
        sizegroups = <optimized out>
#37 0x00007ffff6991b69 in g_object_run_dispose (object=0x2ddf3e0) at ../gobject/gobject.c:1268
        __func__ = "g_object_run_dispose"
#38 0x00007ffff75371e0 in gtk_box_forall (container=<optimized out>, include_internals=<optimized out>, callback=0x7ffff77a8f70 <gtk_widget_destroy>, callback_data=0x0) at ../gtk/gtkbox.c:2678
        box = <optimized out>
        priv = 0x41ba110
        child = <optimized out>
        children = 0x0
#39 0x00007ffff7585036 in gtk_container_destroy (widget=0x41ba240) at ../gtk/gtkcontainer.c:1702
        container = 0x41ba240
        priv = 0x41ba130
#40 0x00007ffff698b558 in g_closure_invoke (closure=closure@entry=0x502d20, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffb070,
    invocation_hint=invocation_hint@entry=0x7fffffffaff0) at ../gobject/gclosure.c:830
        marshal = 0x7ffff6989e30 <g_type_class_meta_marshal>
        marshal_data = 0x98
        in_marshal = 1
        real_closure = 0x502d00
        __func__ = "g_closure_invoke"
#41 0x00007ffff699d504 in signal_emit_unlocked_R (node=node@entry=0x4ed8f0, detail=detail@entry=0, instance=instance@entry=0x41ba240, emission_return=emission_return@entry=0x0,
    instance_and_params=instance_and_params@entry=0x7fffffffb070) at ../gobject/gsignal.c:3861
        need_unset = 0
        accumulator = 0x0
        emission = {next = 0x7fffffffb4b0, instance = 0x41ba240, ihint = {signal_id = 53, detail = 0, run_type = (G_SIGNAL_RUN_CLEANUP | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_STOP,
          chain_type = 41013584}
        class_closure = 0x502d20
        hlist = <optimized out>
        handler_list = 0x0
        return_accu = 0x0
        accu = {g_type = 0, 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 = 53
        max_sequential_handler_number = 37865
        return_value_altered = <optimized out>
        EMIT_RESTART = <optimized out>
#42 0x00007ffff69a3c4f in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffb1f0) at ../gobject/gsignal.c:3496
        instance_and_params = 0x7fffffffb070
        signal_return_type = <optimized out>
        param_values = 0x7fffffffb088
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __func__ = "g_signal_emit_valist"
#43 0x00007ffff69a41af in g_signal_emit (instance=instance@entry=0x41ba240, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffb2d0, reg_save_area = 0x7fffffffb210}}
#44 0x00007ffff77b1930 in gtk_widget_dispose (object=0x41ba240) at ../gtk/gtkwidget.c:12166
        widget = 0x41ba240
        priv = 0x41ba150
        sizegroups = <optimized out>
#45 0x00007ffff6990645 in g_object_unref (_object=<optimized out>) at ../gobject/gobject.c:3636
        weak_locations = <optimized out>
        nqueue = 0x457da20
        object = <optimized out>
        old_ref = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        retry_atomic_decrement1 = <optimized out>
        object = <optimized out>
        old_ref = <optimized out>
        __func__ = "g_object_unref"
        retry_atomic_decrement1 = <optimized out>
        retry_atomic_decrement2 = <optimized out>
        _g_boolean_var_ = <optimized out>
        gaig_temp = <optimized out>
        has_toggle_ref = <optimized out>
        gaicae_oldval = <optimized out>
        weak_locations = <optimized out>
        nqueue = <optimized out>
        gaig_temp = <optimized out>
        _pp = <optimized out>
        _ptr = <optimized out>
        gaig_temp = <optimized out>
        has_toggle_ref = <optimized out>
        gaicae_oldval = <optimized out>
        _g_boolean_var_ = <optimized out>
        _g_boolean_var_ = <optimized out>
        was_present = <optimized out>
#46 g_object_unref (_object=0x41ba240) at ../gobject/gobject.c:3553
        object = 0x41ba240
        old_ref = <optimized out>
        __func__ = "g_object_unref"
        retry_atomic_decrement1 = <optimized out>
        retry_atomic_decrement2 = <optimized out>
        gaig_temp = <optimized out>
        has_toggle_ref = <optimized out>
        gaicae_oldval = <optimized out>
        weak_locations = <optimized out>
        nqueue = <optimized out>
        gaig_temp = <optimized out>
        _pp = <optimized out>
        _ptr = <optimized out>
        gaig_temp = <optimized out>
        has_toggle_ref = <optimized out>
        gaicae_oldval = <optimized out>
        _g_boolean_var_ = <optimized out>
        _g_boolean_var_ = <optimized out>
        was_present = <optimized out>
#47 0x00007ffff08c5835 in html_editor_dispose () from /nix/store/9nc6ic4f2ihd44hy9rhdk846rfg2992n-evolution-3.44.0/lib/evolution/libevolution-util.so
No symbol table info available.
#48 0x00007ffff6991b69 in g_object_run_dispose (object=0x41b8380) at ../gobject/gobject.c:1268
        __func__ = "g_object_run_dispose"
#49 0x00007ffff75371e0 in gtk_box_forall (container=<optimized out>, include_internals=<optimized out>, callback=0x7ffff77a8f70 <gtk_widget_destroy>, callback_data=0x0) at ../gtk/gtkbox.c:2678
        box = <optimized out>
        priv = 0x2e15e00
        child = <optimized out>
        children = 0x47a5e60
#50 0x00007ffff7585036 in gtk_container_destroy (widget=0x2e15f30) at ../gtk/gtkcontainer.c:1702
        container = 0x2e15f30
        priv = 0x2e15e20
#51 0x00007ffff698b558 in g_closure_invoke (closure=closure@entry=0x502d20, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffb540,
    invocation_hint=invocation_hint@entry=0x7fffffffb4c0) at ../gobject/gclosure.c:830
--Type <RET> for more, q to quit, c to continue without paging--
        marshal = 0x7ffff6989e30 <g_type_class_meta_marshal>
        marshal_data = 0x98
        in_marshal = 1
        real_closure = 0x502d00
        __func__ = "g_closure_invoke"
#52 0x00007ffff699d504 in signal_emit_unlocked_R (node=node@entry=0x4ed8f0, detail=detail@entry=0, instance=instance@entry=0x2e15f30, emission_return=emission_return@entry=0x0,
    instance_and_params=instance_and_params@entry=0x7fffffffb540) at ../gobject/gsignal.c:3861
        need_unset = 0
        accumulator = 0x0
        emission = {next = 0x7fffffffb930, instance = 0x2e15f30, ihint = {signal_id = 53, detail = 0, run_type = (G_SIGNAL_RUN_CLEANUP | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_STOP,
          chain_type = 6029568}
        class_closure = 0x502d20
        hlist = <optimized out>
        handler_list = 0x0
        return_accu = 0x0
        accu = {g_type = 0, 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 = 53
        max_sequential_handler_number = 37617
        return_value_altered = <optimized out>
        EMIT_RESTART = <optimized out>
#53 0x00007ffff69a3c4f in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffb6c0) at ../gobject/gsignal.c:3496
        instance_and_params = 0x7fffffffb540
        signal_return_type = <optimized out>
        param_values = 0x7fffffffb558
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __func__ = "g_signal_emit_valist"
#54 0x00007ffff69a41af in g_signal_emit (instance=instance@entry=0x2e15f30, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffb7a0, reg_save_area = 0x7fffffffb6e0}}
#55 0x00007ffff77b1930 in gtk_widget_dispose (object=0x2e15f30) at ../gtk/gtkwidget.c:12166
        widget = 0x2e15f30
        priv = 0x2e15e40
        sizegroups = <optimized out>
#56 0x00007ffff6991b69 in g_object_run_dispose (object=0x2e15f30) at ../gobject/gobject.c:1268
        __func__ = "g_object_run_dispose"
#57 0x00007ffff77be009 in gtk_window_forall (container=0x45ca440, include_internals=0, callback=0x7ffff77a8f70 <gtk_widget_destroy>, callback_data=0x0) at ../gtk/gtkwindow.c:8597
        window = 0x45ca440
        priv = 0x45ca1e0
        child = <optimized out>
#58 0x00007ffff7585036 in gtk_container_destroy (widget=0x45ca440) at ../gtk/gtkcontainer.c:1702
        container = 0x45ca440
        priv = 0x45ca330
#59 0x00007ffff698b61f in g_closure_invoke (closure=closure@entry=0x502d20, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffb9c0,
    invocation_hint=invocation_hint@entry=0x7fffffffb940) at ../gobject/gclosure.c:830
        marshal = 0x7ffff6989e30 <g_type_class_meta_marshal>
        marshal_data = 0x98
        in_marshal = 0
        real_closure = 0x502d00
        __func__ = "g_closure_invoke"
#60 0x00007ffff699d504 in signal_emit_unlocked_R (node=node@entry=0x4ed8f0, detail=detail@entry=0, instance=instance@entry=0x45ca440, emission_return=emission_return@entry=0x0,
    instance_and_params=instance_and_params@entry=0x7fffffffb9c0) at ../gobject/gsignal.c:3861
        need_unset = 0
        accumulator = 0x0
--Type <RET> for more, q to quit, c to continue without paging--
        emission = {next = 0x7fffffffbd70, instance = 0x45ca440, ihint = {signal_id = 53, detail = 0, run_type = (G_SIGNAL_RUN_CLEANUP | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_STOP,
          chain_type = 7641088}
        class_closure = 0x502d20
        hlist = <optimized out>
        handler_list = 0x413c680
        return_accu = 0x0
        accu = {g_type = 0, 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 = 53
        max_sequential_handler_number = 37617
        return_value_altered = <optimized out>
        EMIT_RESTART = <optimized out>
#61 0x00007ffff69a3c4f in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffbb40) at ../gobject/gsignal.c:3496
        instance_and_params = 0x7fffffffb9c0
        signal_return_type = <optimized out>
        param_values = 0x7fffffffb9d8
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __func__ = "g_signal_emit_valist"
#62 0x00007ffff69a41af in g_signal_emit (instance=instance@entry=0x45ca440, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffbc20, reg_save_area = 0x7fffffffbb60}}
#63 0x00007ffff77b1930 in gtk_widget_dispose (object=0x45ca440) at ../gtk/gtkwidget.c:12166
        widget = 0x45ca440
        priv = 0x45ca350
        sizegroups = <optimized out>
#64 0x00007ffff77c5268 in gtk_window_dispose (object=0x45ca440) at ../gtk/gtkwindow.c:3167
        window = 0x45ca440
        priv = 0x45ca1e0
#65 0x00007ffff6991b69 in g_object_run_dispose (object=0x45ca440) at ../gobject/gobject.c:1268
        __func__ = "g_object_run_dispose"
#66 0x00007ffff698b61f in g_closure_invoke (closure=0x45c9bf0, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffbe00,
    invocation_hint=invocation_hint@entry=0x7fffffffbd80) at ../gobject/gclosure.c:830
        marshal = 0x7ffff698d5d0 <g_cclosure_marshal_VOID__VOID>
        marshal_data = 0x0
        in_marshal = 0
        real_closure = 0x45c9bd0
        __func__ = "g_closure_invoke"
#67 0x00007ffff699d56b in signal_emit_unlocked_R (node=node@entry=0x4d7c90, detail=detail@entry=0, instance=instance@entry=0x4558350, emission_return=emission_return@entry=0x0,
    instance_and_params=instance_and_params@entry=0x7fffffffbe00) at ../gobject/gsignal.c:3743
        tmp = <optimized out>
        handler = 0x45c4ec0
        accumulator = 0x0
        emission = {next = 0x7fffffffc170, instance = 0x4558350, ihint = {signal_id = 393, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 4}
        class_closure = 0x2df2db0
        hlist = <optimized out>
        handler_list = 0x45c4ec0
        return_accu = 0x0
        accu = {g_type = 0, 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 = 393
        max_sequential_handler_number = 37617
        return_value_altered = <optimized out>
        EMIT_RESTART = <optimized out>
#68 0x00007ffff69a3c4f in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffbf80) at ../gobject/gsignal.c:3496
--Type <RET> for more, q to quit, c to continue without paging--
        instance_and_params = 0x7fffffffbe00
        signal_return_type = <optimized out>
        param_values = 0x7fffffffbe18
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __func__ = "g_signal_emit_valist"
#69 0x00007ffff69a41af in g_signal_emit (instance=instance@entry=0x4558350, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffc060, reg_save_area = 0x7fffffffbfa0}}
#70 0x00007ffff77f0f81 in _gtk_action_emit_activate (action=0x4558350) at ../gtk/deprecated/gtkaction.c:909
        group = 0x27d4040
#71 0x00007ffff698b849 in _g_closure_invoke_va (closure=closure@entry=0x4fd1c0, return_value=return_value@entry=0x0, instance=instance@entry=0x45ec3c0, args=args@entry=0x7fffffffc270, n_params=0,
    param_types=0x0) at ../gobject/gclosure.c:893
        marshal = 0x7ffff6989cf0 <g_type_class_meta_marshalv>
        marshal_data = 0x3f8
        in_marshal = 0
        real_closure = 0x4fd1a0
        __func__ = "_g_closure_invoke_va"
#72 0x00007ffff69a3f1b in g_signal_emit_valist (instance=0x45ec3c0, signal_id=126, detail=0, var_args=var_args@entry=0x7fffffffc270) at ../gobject/gsignal.c:3406
        return_accu = <optimized out>
        accu = {g_type = 0, 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}}}
        accumulator = 0x0
        emission = {next = 0x7fffffffc540, instance = 0x45ec3c0, ihint = {signal_id = 126, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN,
          chain_type = 40901840}
        instance_type = <optimized out>
        emission_return = {g_type = 0, 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}}}
        rtype = 4
        static_scope = 0
        fastpath_handler = <optimized out>
        closure = <optimized out>
        run_type = <optimized out>
        hlist = <optimized out>
        l = <optimized out>
        fastpath = 1
        instance_and_params = <optimized out>
        signal_return_type = <optimized out>
        param_values = <optimized out>
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __func__ = "g_signal_emit_valist"
#73 0x00007ffff69a41af in g_signal_emit (instance=instance@entry=0x45ec3c0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffc350, reg_save_area = 0x7fffffffc290}}
#74 0x00007ffff77aaab4 in gtk_widget_activate (widget=widget@entry=0x45ec3c0) at ../gtk/gtkwidget.c:7845
        __func__ = "gtk_widget_activate"
#75 0x00007ffff766fd06 in gtk_menu_shell_activate_item (menu_shell=0x30659a0, menu_item=0x45ec3c0, force_deactivate=<optimized out>) at ../gtk/gtkmenushell.c:1375
        slist = <optimized out>
        shells = 0x4c59280
        deactivate = <optimized out>
        __func__ = "gtk_menu_shell_activate_item"
#76 0x00007ffff766ffe3 in gtk_menu_shell_button_release (widget=0x30659a0, event=<optimized out>) at ../gtk/gtkmenushell.c:791
        submenu = 0x0
        menu_item = 0x45ec3c0
--Type <RET> for more, q to quit, c to continue without paging--
        deactivate = 1
        menu_shell = 0x30659a0
        priv = 0x3065840
#77 0x00007ffff74fd9e4 in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x500e50, return_value=0x7fffffffc570, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>,
    param_types=0x4f33d0) at gtk/gtkmarshalers.c:130
        cc = <optimized out>
        data1 = 0x30659a0
        data2 = <optimized out>
        callback = 0x7ffff76622e0 <gtk_menu_button_release>
        v_return = <optimized out>
        arg0 = 0x7fffa01d6b60
        args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffc720, reg_save_area = 0x7fffffffc660}}
        __func__ = "_gtk_marshal_BOOLEAN__BOXEDv"
#78 0x00007ffff698b849 in _g_closure_invoke_va (closure=closure@entry=0x500e50, return_value=return_value@entry=0x7fffffffc570, instance=instance@entry=0x30659a0, args=args@entry=0x7fffffffc640, n_params=1,
    param_types=0x4f33d0) at ../gobject/gclosure.c:893
        marshal = 0x7ffff6989cf0 <g_type_class_meta_marshalv>
        marshal_data = 0x188
        in_marshal = 0
        real_closure = 0x500e30
        __func__ = "_g_closure_invoke_va"
#79 0x00007ffff69a3374 in g_signal_emit_valist (instance=0x30659a0, signal_id=79, detail=<optimized out>, var_args=var_args@entry=0x7fffffffc640) at ../gobject/gsignal.c:3406
        return_accu = <optimized out>
        accu = {g_type = 20, 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}}}
        accumulator = 0x4cec80
        emission = {next = 0x0, instance = 0x30659a0, ihint = {signal_id = 79, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 5266768}
        instance_type = <optimized out>
        emission_return = {g_type = 20, 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}}}
        rtype = 20
        static_scope = 0
        fastpath_handler = <optimized out>
        closure = <optimized out>
        run_type = <optimized out>
        hlist = <optimized out>
        l = <optimized out>
        fastpath = 1
        instance_and_params = <optimized out>
        signal_return_type = <optimized out>
        param_values = <optimized out>
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __func__ = "g_signal_emit_valist"
#80 0x00007ffff69a41af in g_signal_emit (instance=instance@entry=0x30659a0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffc720, reg_save_area = 0x7fffffffc660}}
#81 0x00007ffff77a7cf4 in gtk_widget_event_internal (widget=widget@entry=0x30659a0, event=event@entry=0x7fffa01d6b60) at ../gtk/gtkwidget.c:7812
        signal_num = <optimized out>
        return_val = <optimized out>
        handled = 0
        __func__ = "gtk_widget_event_internal"
#82 0x00007ffff77aa692 in gtk_widget_event_internal (event=0x7fffa01d6b60, widget=0x30659a0) at ../gtk/gtkwidget.c:7383
        return_val = 0
        handled = <optimized out>
        return_val = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        handled = <optimized out>
        __func__ = "gtk_widget_event_internal"
        signal_num = <optimized out>
#83 0x00007ffff765a6f0 in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x30659a0) at ../gtk/gtkmain.c:2588
        tmp = <optimized out>
        handled_event = <optimized out>
#84 propagate_event (widget=widget@entry=0x45ec3c0, event=event@entry=0x7fffa01d6b60, captured=captured@entry=0, topmost=topmost@entry=0x0) at ../gtk/gtkmain.c:2691
        handled_event = 0
        propagate_func = <optimized out>
#85 0x00007ffff765b9ef in gtk_propagate_event (widget=widget@entry=0x45ec3c0, event=event@entry=0x7fffa01d6b60) at ../gtk/gtkmain.c:2725
        __func__ = "gtk_propagate_event"
#86 0x00007ffff765c2f3 in gtk_main_do_event (event=0x7fffa01d6b60) at ../gtk/gtkmain.c:1921
        grab_widget = <optimized out>
        window_group = <optimized out>
        rewritten_event = <optimized out>
        device = 0x5118b0
        tmp_list = <optimized out>
        event_widget = <optimized out>
        topmost_widget = <optimized out>
        event_widget = <optimized out>
        grab_widget = <optimized out>
        topmost_widget = <optimized out>
        window_group = <optimized out>
        rewritten_event = <optimized out>
        device = <optimized out>
        tmp_list = <optimized out>
        cleanup = <optimized out>
        __func__ = "gtk_main_do_event"
        __inst = <optimized out>
        __t = <optimized out>
        __r = <optimized out>
        window = <optimized out>
        __inst = <optimized out>
        __t = <optimized out>
        __r = <optimized out>
        __inst = <optimized out>
        __t = <optimized out>
        __r = <optimized out>
        mnemonics_visible = <optimized out>
        window = <optimized out>
        __inst = <optimized out>
        __t = <optimized out>
        __r = <optimized out>
#87 gtk_main_do_event (event=<optimized out>) at ../gtk/gtkmain.c:1691
        event_widget = <optimized out>
        grab_widget = <optimized out>
        topmost_widget = <optimized out>
        window_group = <optimized out>
        rewritten_event = <optimized out>
        device = <optimized out>
        tmp_list = <optimized out>
        cleanup = <optimized out>
        __func__ = "gtk_main_do_event"
        __inst = <optimized out>
        __t = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        __r = <optimized out>
        window = <optimized out>
        __inst = <optimized out>
        __t = <optimized out>
        __r = <optimized out>
        __inst = <optimized out>
        __t = <optimized out>
        __r = <optimized out>
        mnemonics_visible = <optimized out>
        window = <optimized out>
        __inst = <optimized out>
        __t = <optimized out>
        __r = <optimized out>
#88 0x00007ffff7393b05 in _gdk_event_emit (event=event@entry=0x7fffa01d6b60) at ../gdk/gdkevents.c:73
No locals.
#89 0x00007ffff73c7aa2 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at ../gdk/wayland/gdkeventsource.c:124
        source = <optimized out>
        display = <optimized out>
        event = 0x7fffa01d6b60
#90 0x00007ffff6891e3b in g_main_dispatch (context=0x4acb20) at ../glib/gmain.c:3417
        dispatch = 0x7ffff73c7a80 <gdk_event_source_dispatch>
        prev_source = 0x0
        begin_time_nsec = 0
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = <optimized out>
        cb_data = <optimized out>
        need_destroy = <optimized out>
        source = 0x4c3440
        current = 0x4acc10
        i = 0
        __func__ = "g_main_dispatch"
#91 g_main_context_dispatch (context=0x4acb20) at ../glib/gmain.c:4135
No locals.
#92 0x00007ffff68920e8 in g_main_context_iterate (context=0x4acb20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4211
        max_priority = 2147483647
        timeout = 8
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = <optimized out>
        fds = 0x21d7140
        begin_time_nsec = 0
#93 0x00007ffff68923d3 in g_main_loop_run (loop=0x22642e0) at ../glib/gmain.c:4411
        self = <optimized out>
        __func__ = "g_main_loop_run"
#94 0x00007ffff765b345 in gtk_main () at ../gtk/gtkmain.c:1329
        loop = 0x22642e0
#95 0x0000000000404e45 in main ()
No symbol table info available.
Comment 1 Michael Catanzaro 2022-04-17 07:34:09 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...
Comment 2 Michael Catanzaro 2022-04-17 07:35:18 PDT
Probably also related to bug #239429
Comment 3 Milan Crha 2022-04-20 23:56:48 PDT
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)
Comment 4 Carlos Garcia Campos 2022-04-21 00:28:12 PDT
I'll check this issue, but I think evolution composer web view should just change the accelerated compositing setting policy to never or ondemand.
Comment 5 Milan Crha 2022-04-21 01:07:18 PDT
(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
Comment 6 Carlos Garcia Campos 2022-04-21 01:22:33 PDT
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.
Comment 7 Milan Crha 2022-04-21 01:47:50 PDT
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.
Comment 8 Milan Crha 2022-04-21 08:15:46 PDT
(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
Comment 9 SyntevoAlex 2022-06-11 07:29:27 PDT
Many Eclipse users are having this crash:
https://github.com/eclipse-platform/eclipse.platform.swt/issues/179
Comment 10 Gietki 2022-06-12 06:31:00 PDT
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!
Comment 11 Michael Catanzaro 2022-06-12 07:54:11 PDT
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....