Critical in GdkFrameClock's idle function
Something I spotted by accident when debugging something else in GNOME To Do:
17:28:21.639314 GLib: CRITICAL: g_list_insert_before: assertion 'sibling == list' failed
Thread 1 "gnome-todo" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7ef6e75 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb) bt
#0 0x00007ffff7ef6e75 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1 0x00007ffff7ef8159 in g_logv () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ffff7ef8323 in g_log () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff7eec0a7 in g_list_insert_before () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007ffff7eed270 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ffff7eef1be in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007ffff7eef2f2 in g_source_attach () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#7 0x00007ffff7ef1ae8 in g_timeout_add_full () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#8 0x00007ffff7aaf72b in maybe_start_idle (clock_idle=0x555555acc130) at ../gdk/gdkframeclockidle.c:241
#9 0x00007ffff793d025 in gtk_widget_connect_frame_clock (widget=0x5555557c8380) at ../gtk/gtkwidget.c:3129
#10 0x00007ffff793d025 in gtk_widget_real_realize (widget=0x5555557c8380) at ../gtk/gtkwidget.c:7504
#11 0x00007ffff7953f3e in gtk_window_realize (widget=0x5555557c8380) at ../gtk/gtkwindow.c:4806
#12 0x00007ffff7756455 in gtk_application_window_real_realize (widget=0x5555557c8380) at ../gtk/gtkapplicationwindow.c:618
#13 0x00007ffff7404802 in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007ffff7418922 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007ffff7423b6e in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff74240a3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007ffff7945c69 in gtk_widget_realize (widget=0x5555557c8380) at ../gtk/gtkwidget.c:3482
#18 0x00007ffff795a4ed in gtk_window_show (widget=0x5555557c8380) at ../gtk/gtkwindow.c:4228
#19 0x00007ffff7404802 in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff7418922 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007ffff7423b6e in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff74240a3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007ffff793abf3 in gtk_widget_show (widget=0x5555557c8380) at ../gtk/gtkwidget.c:2737
#24 0x000055555558640c in run_window (self=0x555555607140) at ../src/gtd-application.c:179
#25 0x000055555558640c in gtd_application_activate (application=0x555555607140) at ../src/gtd-application.c:241
#26 0x00007ffff7404a56 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#27 0x00007ffff7423af8 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007ffff74240a3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x0000555555586007 in gtd_application_command_line (app=0x555555607140, command_line=<optimized out>) at ../src/gtd-application.c:302
#30 0x00007ffff74d9dc7 in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#31 0x00007ffff7404a56 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#32 0x00007ffff7422da1 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#33 0x00007ffff74240a3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#34 0x00007ffff75351c3 in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#35 0x00007ffff7537a79 in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#36 0x00007ffff7537c42 in g_application_run () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#37 0x000055555556f163 in main (argc=2, argv=0x7fffffffe6b8) at ../src/main.c:44
It's too deep inside GTK for me to think it's To Do's fault