Infinite loop when opening app switcher with `enable-animations=false`
software versions: phosh 0.20.0 (built from source), phoc 0.21.0 (from Manjaro repos), libhandy 1.6.3 (from Manjaro repos)
As soon as I slide the app switcher open, I see sustained 100% CPU usage from phosh and the app switcher (e.g. window previews) and launcher no longer respond to touch events. I can slide the app switcher back closed, but then cannot open it subsequently. The top bar continues to respond normally through this whole process.
This also happens with libhandy 1.79.0 built from source.
Attaching with gdb at this point, I get various backtraces, all involving hdy_carousel_scroll_to_full
:
(gdb) bt
#0 0x0000ffffafd370fc in pthread_rwlock_unlock () from /usr/lib/libc.so.6
#1 0x0000ffffb07a224c in g_type_value_table_peek () from /usr/lib/libgobject-2.0.so.0
#2 0x0000ffffb07a5370 in g_value_type_compatible () from /usr/lib/libgobject-2.0.so.0
#3 0x0000ffffb0786fc4 in ?? () from /usr/lib/libgobject-2.0.so.0
#4 0x0000ffffb0795c88 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#5 0x0000ffffb07966e8 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#6 0x0000ffffb077ea90 in ?? () from /usr/lib/libgobject-2.0.so.0
#7 0x0000ffffb0781728 in g_object_notify_by_pspec () from /usr/lib/libgobject-2.0.so.0
#8 0x0000ffffb04db0b8 in ?? () from /usr/lib/libhandy-1.so.0
#9 0x0000ffffb04db594 in ?? () from /usr/lib/libhandy-1.so.0
#10 0x0000ffffb04930ec in hdy_carousel_scroll_to_full () from /usr/lib/libhandy-1.so.0
#11 0x0000ffffb07791f8 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#12 0x0000ffffb078f48c in ?? () from /usr/lib/libgobject-2.0.so.0
#13 0x0000ffffb07964bc in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#14 0x0000ffffb07966e8 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#15 0x0000ffffb077ea90 in ?? () from /usr/lib/libgobject-2.0.so.0
#16 0x0000ffffb077e144 in ?? () from /usr/lib/libgobject-2.0.so.0
#17 0x0000ffffb07817e4 in g_object_thaw_notify () from /usr/lib/libgobject-2.0.so.0
#18 0x0000ffffb11ad37c in ?? () from /usr/lib/libgtk-3.so.0
#19 0x0000ffffb077d14c in g_cclosure_marshal_VOID__OBJECTv () from /usr/lib/libgobject-2.0.so.0
#20 0x0000ffffb077746c in ?? () from /usr/lib/libgobject-2.0.so.0
#21 0x0000ffffb0779450 in ?? () from /usr/lib/libgobject-2.0.so.0
#22 0x0000ffffb079647c in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#23 0x0000ffffb07966e8 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#24 0x0000ffffb077746c in ?? () from /usr/lib/libgobject-2.0.so.0
#25 0x0000ffffb0779450 in ?? () from /usr/lib/libgobject-2.0.so.0
#26 0x0000ffffb079647c in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#27 0x0000ffffb07966e8 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#28 0x0000ffffb11964d0 in gtk_widget_grab_focus () from /usr/lib/libgtk-3.so.0
#29 0x0000ffffb077bfe4 in g_cclosure_marshal_VOID__UINTv () from /usr/lib/libgobject-2.0.so.0
#30 0x0000ffffb0779450 in ?? () from /usr/lib/libgobject-2.0.so.0
#31 0x0000ffffb079647c in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#32 0x0000ffffb07966e8 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#33 0x0000ffffb0779450 in ?? () from /usr/lib/libgobject-2.0.so.0
#34 0x0000ffffb079647c in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#35 0x0000ffffb07966e8 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#36 0x0000ffffb04930ec in hdy_carousel_scroll_to_full () from /usr/lib/libhandy-1.so.0
#37 0x0000aaaad9c35b58 in ?? ()
#38 0x0000ffffb07791f8 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#39 0x0000ffffb078f48c in ?? () from /usr/lib/libgobject-2.0.so.0
#40 0x0000ffffb07964bc in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#41 0x0000ffffb07966e8 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#42 0x0000ffffb077ea90 in ?? () from /usr/lib/libgobject-2.0.so.0
#43 0x0000ffffb0781728 in g_object_notify_by_pspec () from /usr/lib/libgobject-2.0.so.0
#44 0x0000aaaad9bd98d8 in ?? ()
#45 0x0000ffffaed36960 in ?? () from /usr/lib/libffi.so.8
#46 0x0000ffffaed35f1c in ?? () from /usr/lib/libffi.so.8
#47 0x0000ffffafeda2f8 in ?? () from /usr/lib/libwayland-client.so.0
#48 0x0000ffffafed5d80 in ?? () from /usr/lib/libwayland-client.so.0
#49 0x0000ffffafed7b64 in wl_display_dispatch_queue_pending () from /usr/lib/libwayland-client.so.0
#50 0x0000ffffb0ce0228 in ?? () from /usr/lib/libgdk-3.so.0
#51 0x0000ffffb0c9bed8 in gdk_display_get_event () from /usr/lib/libgdk-3.so.0
#52 0x0000ffffb0cdfdec in ?? () from /usr/lib/libgdk-3.so.0
#53 0x0000ffffb0652738 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#54 0x0000ffffb0652d10 in ?? () from /usr/lib/libglib-2.0.so.0
#55 0x0000ffffb0653100 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#56 0x0000ffffb0ff5074 in gtk_main () from /usr/lib/libgtk-3.so.0
and
(gdb) bt
#0 0x0000ffffbb191140 in () at /usr/lib/libgdk-3.so.0
#1 0x0000ffffba9a8f38 in () at /usr/lib/libhandy-1.so.0
#2 0x0000ffffba9aaa84 in () at /usr/lib/libhandy-1.so.0
#3 0x0000ffffba9ab0b8 in () at /usr/lib/libhandy-1.so.0
#4 0x0000ffffba9ab594 in () at /usr/lib/libhandy-1.so.0
#5 0x0000ffffba9630ec in hdy_carousel_scroll_to_full () at /usr/lib/libhandy-1.so.0
#6 0x0000ffffbac491f8 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#7 0x0000ffffbac5f48c in () at /usr/lib/libgobject-2.0.so.0
#8 0x0000ffffbac664bc in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#9 0x0000ffffbac666e8 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#10 0x0000ffffbac4ea90 in () at /usr/lib/libgobject-2.0.so.0
#11 0x0000ffffbac51728 in g_object_notify_by_pspec () at /usr/lib/libgobject-2.0.so.0
#12 0x0000ffffbb6782a0 in gtk_widget_send_focus_change () at /usr/lib/libgtk-3.so.0
#13 0x0000ffffbb67d118 in () at /usr/lib/libgtk-3.so.0
#14 0x0000ffffbb69059c in () at /usr/lib/libgtk-3.so.0
#15 0x0000ffffbb690cf8 in () at /usr/lib/libgtk-3.so.0
#16 0x0000ffffbb3061e4 in () at /usr/lib/libgtk-3.so.0
#17 0x0000ffffbac491f8 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#18 0x0000ffffbac5f13c in () at /usr/lib/libgobject-2.0.so.0
#19 0x0000ffffbac65d10 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#20 0x0000ffffbac666e8 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#21 0x0000ffffbb660880 in () at /usr/lib/libgtk-3.so.0
#22 0x0000ffffbb4c6214 in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
#23 0x0000ffffbb171b0c in () at /usr/lib/libgdk-3.so.0
#24 0x0000ffffbb1afe00 in () at /usr/lib/libgdk-3.so.0
#25 0x0000ffffbab22738 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#26 0x0000ffffbab22d10 in () at /usr/lib/libglib-2.0.so.0
#27 0x0000ffffbab23100 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#28 0x0000ffffbb4c5074 in gtk_main () at /usr/lib/libgtk-3.so.0
#29 0x0000aaaae5da8770 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:142
(gdb) bt
#0 0x0000aaaae5e3e834 in PHOSH_IS_ACTIVITY (ptr=0xaaaafec1c5a0) at ../src/activity.h:13
#1 get_toplevel_from_activity (activity=activity@entry=0xaaaafec1c5a0) at ../src/overview.c:101
#2 0x0000aaaae5e3faf4 in page_changed_cb (self=0xaaaafec5c070, index=0, carousel=<optimized out>) at ../src/overview.c:439
#3 0x0000ffffbac4bfe4 in g_cclosure_marshal_VOID__UINTv () at /usr/lib/libgobject-2.0.so.0
#4 0x0000ffffbac49450 in () at /usr/lib/libgobject-2.0.so.0
#5 0x0000ffffbac6647c in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#6 0x0000ffffbac666e8 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#7 0x0000ffffbac49450 in () at /usr/lib/libgobject-2.0.so.0
#8 0x0000ffffbac6647c in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#9 0x0000ffffbac666e8 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#10 0x0000ffffba9630ec in hdy_carousel_scroll_to_full () at /usr/lib/libhandy-1.so.0
#11 0x0000ffffbac491f8 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#12 0x0000ffffbac5f48c in () at /usr/lib/libgobject-2.0.so.0
#13 0x0000ffffbac664bc in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#14 0x0000ffffbac666e8 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#15 0x0000ffffbac4ea90 in () at /usr/lib/libgobject-2.0.so.0
#16 0x0000ffffbac51728 in g_object_notify_by_pspec () at /usr/lib/libgobject-2.0.so.0
#17 0x0000ffffbb6782a0 in gtk_widget_send_focus_change () at /usr/lib/libgtk-3.so.0
#18 0x0000ffffbb67d118 in () at /usr/lib/libgtk-3.so.0
#19 0x0000ffffbb69059c in () at /usr/lib/libgtk-3.so.0
#20 0x0000ffffbb690cf8 in () at /usr/lib/libgtk-3.so.0
#21 0x0000ffffbb3061e4 in () at /usr/lib/libgtk-3.so.0
#22 0x0000ffffbac491f8 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#23 0x0000ffffbac5f13c in () at /usr/lib/libgobject-2.0.so.0
#24 0x0000ffffbac65d10 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#25 0x0000ffffbac666e8 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#26 0x0000ffffbb660880 in () at /usr/lib/libgtk-3.so.0
#27 0x0000ffffbb4c6214 in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
#28 0x0000ffffbb171b0c in () at /usr/lib/libgdk-3.so.0
#29 0x0000ffffbb1afe00 in () at /usr/lib/libgdk-3.so.0
#30 0x0000ffffbab22738 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#31 0x0000ffffbab22d10 in () at /usr/lib/libglib-2.0.so.0
#32 0x0000ffffbab23100 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#33 0x0000ffffbb4c5074 in gtk_main () at /usr/lib/libgtk-3.so.0
#34 0x0000aaaae5da8770 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:142
Edited by anteater