Critical when closing terminal window
With current git master, difficult to reproduce, you have to run the terminal with G_DEBUG=fatal-criticals
to get a backtrace.
gtk_container_foreach: assertion 'GTK_IS_CONTAINER (container)' failed
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0 0x00007f2e9c5d59a5 in g_logv () from /usr/lib/libglib-2.0.so.0
[Current thread is 1 (Thread 0x7f2e98835c00 (LWP 4614))]
(gdb) bt
#0 0x00007f2e9c5d59a5 in g_logv () at /usr/lib/libglib-2.0.so.0
#1 0x00007f2e9c5d5c64 in g_log () at /usr/lib/libglib-2.0.so.0
#2 0x00007f2e9cd04330 in gtk_container_get_children () at /usr/lib/libgtk-3.so.0
#3 0x000055ee5c0ab7cc in terminal_window_menu_clean (menu=0x55ee5c45f4c0) at terminal-window.c:3000
#4 0x000055ee5c0aba08 in terminal_window_update_tabs_menu (window=0x55ee5c477b50, menu=0x55ee5c45f4c0) at terminal-window.c:3234
#5 0x00007f2e9cc8ac0a in () at /usr/lib/libgtk-3.so.0
#6 0x00007f2e9c6f423c in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#7 0x00007f2e9c6f4324 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#8 0x00007f2e9ce0cca3 in () at /usr/lib/libgtk-3.so.0
#9 0x00007f2e9c6d4ca6 in g_cclosure_marshal_VOID__OBJECTv () at /usr/lib/libgobject-2.0.so.0
#10 0x00007f2e9c6f423c in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#11 0x00007f2e9c6f4324 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#12 0x00007f2e9cd04cf8 in gtk_container_remove () at /usr/lib/libgtk-3.so.0
#13 0x00007f2e9cf3d639 in () at /usr/lib/libgtk-3.so.0
#14 0x00007f2e9c6e4531 in g_object_run_dispose () at /usr/lib/libgobject-2.0.so.0
#15 0x00007f2e9ce084a6 in () at /usr/lib/libgtk-3.so.0
#16 0x00007f2e9cd0468e in () at /usr/lib/libgtk-3.so.0
#17 0x00007f2e9c6d6146 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#18 0x00007f2e9c7043a5 in () at /usr/lib/libgobject-2.0.so.0
#19 0x00007f2e9c6f4095 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#20 0x00007f2e9c6f4324 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#21 0x00007f2e9cf3d66e in () at /usr/lib/libgtk-3.so.0
#22 0x00007f2e9c6e4531 in g_object_run_dispose () at /usr/lib/libgobject-2.0.so.0
#23 0x00007f2e9ccb5ba0 in () at /usr/lib/libgtk-3.so.0
#24 0x00007f2e9cd0468e in () at /usr/lib/libgtk-3.so.0
#25 0x00007f2e9c6d6146 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#26 0x00007f2e9c7043a5 in () at /usr/lib/libgobject-2.0.so.0
#27 0x00007f2e9c6f4095 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#28 0x00007f2e9c6f4324 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#29 0x00007f2e9cf3d66e in () at /usr/lib/libgtk-3.so.0
#30 0x00007f2e9c6e4531 in g_object_run_dispose () at /usr/lib/libgobject-2.0.so.0
#31 0x00007f2e9cf4e89a in () at /usr/lib/libgtk-3.so.0
#32 0x00007f2e9cd0468e in () at /usr/lib/libgtk-3.so.0
#33 0x00007f2e9c6d6210 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#34 0x00007f2e9c7043a5 in () at /usr/lib/libgobject-2.0.so.0
#35 0x00007f2e9c6f4095 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#36 0x00007f2e9c6f4324 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#37 0x00007f2e9cf3d66e in () at /usr/lib/libgtk-3.so.0
#38 0x00007f2e9cf4d221 in () at /usr/lib/libgtk-3.so.0
#39 0x00007f2e9c6e4531 in g_object_run_dispose () at /usr/lib/libgobject-2.0.so.0
#40 0x000055ee5c098d81 in terminal_app_finalize (object=0x55ee5c3f8b00) at terminal-app.c:172
#41 0x00007f2e9c6e44a4 in g_object_unref () at /usr/lib/libgobject-2.0.so.0
#42 0x000055ee5c09739e in main (argc=<optimized out>, argv=<optimized out>) at main.c:361
window->priv->tabs_menu
is obviously used when it has become a dangling pointer. Maybe the menubar is destroyed before the notebook in some cases, or maybe it's something else. Not sure what it would take to fix this properly, so I'd rather open a new issue than apply a poorly fitting patch :)