gala icon indicating copy to clipboard operation
gala copied to clipboard

Open multitasking view crashes at gala_icon_group_container_force_reposition

Open bobby285271 opened this issue 1 year ago • 1 comments

What Happened?

This happens on f8346f0d4a8577c1cf81036cc09324727cc98175 but not on d5e89a9fd1bdd3fdadfbd3c9a562e738684d048f, so probably some changes between https://github.com/elementary/gala/compare/d5e89a9fd1bdd3fdadfbd3c9a562e738684d048f...f8346f0d4a8577c1cf81036cc09324727cc98175 causes the crash.

I can trigger the crash on both x11 and wayland session.

Backtrace below :-)

Steps to Reproduce

  1. Open multitasking view from the dock.

Expected Behavior

No crash.

OS Version

NixOS Pantheon 8 packaging branch (https://github.com/NixOS/nixpkgs/pull/312449)

Software Version

Compiled from git

Log Output

#0  0x000000000046e361 in gala_icon_group_container_force_reposition (self=0x11014f0) at ../src/Widgets/IconGroupContainer.vala:161
        __inst = 0x10f30d0
        __t = <optimized out>
        __r = <optimized out>
        _tmp5_ = 0x10f30d0
        child = 0x10f30d0
        child_collection = <optimized out>
        child_it = 0x1b7eb40
        children = 0x1b7eb40
        _tmp0_ = 0x1b7eb40
        _tmp1_ = 0x1b7eb40
        _tmp4_ = <optimized out>
        __func__ = "gala_icon_group_container_force_reposition"
#1  0x0000000000472576 in gala_multitasking_view_toggle (self=0x1229910, with_gesture=0, is_cancel_animation=0) at ../src/Widgets/MultitaskingView.vala:705
        _tmp14_ = <optimized out>
        _tmp19_ = <optimized out>
        _tmp22_ = <optimized out>
        _tmp27_ = <optimized out>
        _tmp12_ = <optimized out>
        _tmp17_ = <optimized out>
        _tmp20_ = <optimized out>
        _tmp25_ = <optimized out>
        _tmp10_ = <optimized out>
        _tmp15_ = <optimized out>
        _tmp23_ = <optimized out>
        _tmp28_ = <optimized out>
        _tmp13_ = <optimized out>
        _tmp18_ = <optimized out>
        _tmp21_ = <optimized out>
        _tmp26_ = <optimized out>
        _tmp11_ = <optimized out>
        _tmp16_ = <optimized out>
        scale = 1
        _tmp24_ = <optimized out>
        _data65_ = 0xe556f0
        _tmp0_ = <optimized out>
        _tmp5_ = <optimized out>
        active_workspace = 0x0
        manager = 0x0
        _tmp29_ = <optimized out>
        _tmp30_ = <optimized out>
        active = 0x0
        _tmp31_ = <optimized out>
        _tmp32_ = <optimized out>
        _tmp33_ = <optimized out>
        _tmp34_ = <optimized out>
        _tmp35_ = <optimized out>
        _tmp43_ = <optimized out>
        _tmp46_ = <optimized out>
        _tmp47_ = <optimized out>
        _tmp48_ = <optimized out>
        _tmp50_ = <optimized out>
        _tmp51_ = <optimized out>
        on_animation_end = 0x0
        on_animation_end_target = <optimized out>
        on_animation_end_target_destroy_notify = <optimized out>
        __func__ = "gala_multitasking_view_toggle"
#2  0x000000000044802f in gala_window_manager_gala_real_perform_action (base=0x118ed60, type=<optimized out>) at ../src/WindowManager.vala:933
        _tmp9_ = <optimized out>
        _tmp10_ = <optimized out>
        _tmp3_ = <optimized out>
        _tmp4_ = <optimized out>
        _tmp5_ = <optimized out>
        _tmp6_ = <optimized out>
        self = 0x118ed60
        display = 0x1179590
        _tmp0_ = 0x1179590
        current = 0x1b6ba50
        _tmp1_ = 0x1179590
        _tmp2_ = 0x1b6ba50
        _inner_error0_ = 0x0
#3  0x000000000042462a in _dbus_gala_dbus_perform_action (self=0x1114160, _parameters_=<optimized out>, invocation=0x7f4654026570) at /build/source/build/DBus.c:2242
        error = 0x0
        _arguments_iter = {x = {139940033887008, 1, 0, 0, 140726241163184, 1, 140726241163264, 3579507750, 0, 32, 140726241163344, 55011779202720, 0, 0, 0, 4348760}}
        type = GALA_ACTION_TYPE_SHOW_WORKSPACE_VIEW
        _tmp0_ = 0x7f4654027980
        _reply_message = 0x0
        _reply = <optimized out>
        _reply_builder = {u = {s = {partial_magic = 0, type = 0x0, y = {0, 139940033881456, 1, 140726241163480, 140726241163488, 139940033881468, 139940033881464, 139940480592337, 14379016, 139940429703996, 139940479886364, 
                139940033881456, 4348688, 0}}, x = {0, 0, 0, 139940033881456, 1, 140726241163480, 140726241163488, 139940033881468, 139940033881464, 139940480592337, 14379016, 139940429703996, 139940479886364, 139940033881456, 4348688, 
              0}}}
#4  0x00007f466e930208 in call_in_idle_cb (user_data=0x7f4654026570) at ../gio/gdbusconnection.c:5454
        invocation = 0x7f4654026570
        vtable = <optimized out>
        registration_id = <optimized out>
        subtree_registration_id = <optimized out>
        ei = 0x1214850
        es = 0x0
        __func__ = "call_in_idle_cb"
#5  0x00007f466ead0f59 in g_main_dispatch (context=context@entry=0xa3a4b0) at ../glib/gmain.c:3344
        dispatch = 0x7f466ead03b0 <g_idle_dispatch>
        prev_source = 0x0
        begin_time_nsec = 0
        was_in_call = 0
        user_data = 0x7f4654026570
        callback = 0x7f466e9300f0 <call_in_idle_cb>
        cb_funcs = <optimized out>
        cb_data = 0xe557d0
        need_destroy = <optimized out>
        source = 0x7f465401d4d0
        current = 0xa44660
        i = 0
        __func__ = "g_main_dispatch"
#6  0x00007f466ead4297 in g_main_context_dispatch_unlocked (context=0xa3a4b0) at ../glib/gmain.c:4152
No locals.
#7  g_main_context_iterate_unlocked (context=0xa3a4b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
        max_priority = 2147483647
        timeout = 150000
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 10
        fds = 0xd51df0
        begin_time_nsec = 0
#8  0x00007f466ead4b9f in g_main_loop_run (loop=0x10e3910) at ../glib/gmain.c:4419
        self = <optimized out>
        __func__ = "g_main_loop_run"
#9  0x00007f466d8f67ee in meta_context_run_main_loop () from /nix/store/8j25hx5ayawkwgc7qb455hb805s9mvs1-mutter-46.3.1/lib/libmutter-14.so.0
No symbol table info available.

#10 0x0000000000432ddf in gala_main (args=<optimized out>, args_length1=<optimized out>) at ../src/Main.vala:88
        _tmp30_ = <optimized out>
        _data2_ = 0xa355c0
        _tmp0_ = <optimized out>
        _tmp1_ = <optimized out>
        _tmp7_ = <optimized out>
        empty_mask = <optimized out>
        _tmp8_ = {__val = {0 <repeats 16 times>}}
        act = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = {__val = {<optimized out> <repeats 16 times>}}, sa_flags = <optimized out>, sa_restorer = <optimized out>}
        _tmp9_ = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        _tmp10_ = 0x1
        _tmp11_ = <optimized out>
        _tmp12_ = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        _tmp14_ = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        _tmp21_ = <optimized out>
        _tmp22_ = <optimized out>
        _inner_error0_ = 0x0
        result = <optimized out>
        _g_boolean_var_11 = <optimized out>
        _tmp6_ = <optimized out>
        _g_boolean_var_13 = <optimized out>
        _tmp20_ = <optimized out>
        _g_boolean_var_17 = <optimized out>
        _tmp34_ = <optimized out>
#11 0x00007f466d28c14e in __libc_start_call_main (main=main@entry=0x423b50 <main>, argc=argc@entry=1, argv=argv@entry=0x7ffd619d7ef8) at ../sysdeps/nptl/libc_start_call_main.h:58
        self = <optimized out>
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140726241165048, 2166947888371895932, 0, 140726241165064, 139940482797568, 4963416, -2168403345347015044, -2261280017164628356}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 
              0x7ffd619d7ef8, 0x1}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1637711608}}}
        not_first_call = <optimized out>
#12 0x00007f466d28c209 in __libc_start_main_impl (main=0x423b50 <main>, argc=1, argv=0x7ffd619d7ef8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd619d7ee8) at ../csu/libc-start.c:360
No locals.
#13 0x0000000000423b85 in _start ()
No symbol table info available.

Hardware Info

No response

bobby285271 avatar Jul 13 '24 16:07 bobby285271

Ugh, bisected to 18621b90ef3c1ab31d0d4ac7fd8603826d4d824b (?)

bobby285271 avatar Jul 14 '24 11:07 bobby285271

It looks like I can't reproduce this issue with glib_debug option off when building glib, the option previously defaults to auto in < 2.82 and we have -Dauto_features=enabled in our meson build template, but upstream recently suggests disabling it in distro builds so now we have good reason to do that in NixOS :joy:

bobby285271 avatar Sep 22 '24 15:09 bobby285271