Spreadsheet icon indicating copy to clipboard operation
Spreadsheet copied to clipboard

The error "gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkNotebook" is shown for unknown reason

Open ryonakano opened this issue 5 years ago • 4 comments

Although the app works, every time when I click the "New Sheet" in the welcome screen, the following errors are shown in the terminal:

(xyz.gelez.spreadsheet:14673): Gtk-CRITICAL **: 21:05:55.620: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkNotebook

(xyz.gelez.spreadsheet:14673): Gtk-CRITICAL **: 21:05:55.620: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkNotebook

(xyz.gelez.spreadsheet:14673): Gtk-CRITICAL **: 21:05:55.620: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkNotebook

But since the app doesn't use GtkNotebook anywhere, I have no idea how to fix :man_shrugging:

ryonakano avatar Nov 09 '18 12:11 ryonakano

Try to run the app in GDB with G_DEBUG set to fatal-criticals as explained here. I think this should work:

G_DEBUG=fatal-criticals gdb path/to/spreadsheet

And use run in GDB to start Spreadsheet.

The app should crash when encountering these messages. At this point, use the bt command of GDB to get a backtrace.

elegaanz avatar Nov 09 '18 18:11 elegaanz

Thank you very much for the way to debug. I got the following log:

GDB Log
(gdb) run
Starting program: /home/ryo/Projects/Spreadsheet/build/xyz.gelez.spreadsheet
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffea4e3700 (LWP 16101)]
[New Thread 0x7fffe9ce2700 (LWP 16102)]
[New Thread 0x7fffe3fff700 (LWP 16103)]
[New Thread 0x7fffe0e1a700 (LWP 16104)]
[New Thread 0x7fffd7fff700 (LWP 16105)]
[Thread 0x7fffe0e1a700 (LWP 16104) exited]

(xyz.gelez.spreadsheet:16097): Gtk-CRITICAL **: 15:09:36.530: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkNotebook

Thread 1 "xyz.gelez.sprea" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7772cc1 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb) bt
#0  0x00007ffff7772cc1 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007ffff77755f1 in g_log_writer_default () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff777385e in g_log_structured_array () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff77742ae in g_log_structured_standard () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff6a23127 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#5  0x00007ffff6a231f7 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#6  0x00007ffff6a2340b in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#7  0x00007ffff6a73fc1 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#8  0x00007ffff6a2300e in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#9  0x00007ffff6a2395f in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#10 0x00007ffff6a74376 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#11 0x00007ffff6b60815 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#12 0x00007ffff6c83783 in gtk_widget_size_allocate_with_baseline () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#13 0x00007ffff6a69443 in gtk_container_resize_children () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#14 0x00007ffff5ae8a68 in granite_widgets_dynamic_notebook_insert_tab () at /usr/lib/x86_64-linux-gnu/libgranite.so.5
#15 0x000055555557981c in spreadsheet_ui_main_window_set_file (self=0x555555aa2390, value=0x555555c6e960) at /home/ryo/Projects/Spreadsheet/src/UI/MainWindow.vala:72
#16 0x0000555555576e2c in spreadsheet_ui_main_window_open_sheet (self=0x555555aa2390) at /home/ryo/Projects/Spreadsheet/src/UI/MainWindow.vala:279
#17 0x00005555555750cd in __lambda5_ (self=0x555555aa2390, index=0) at /home/ryo/Projects/Spreadsheet/src/UI/MainWindow.vala:153
#18 0x00005555555756e3 in ___lambda5__granite_widgets_welcome_activated (_sender=0x5555557cf5f0, index=0, self=0x555555aa2390) at /home/ryo/Projects/Spreadsheet/src/UI/MainWindow.vala:151
#19 0x00007ffff74dd10d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff74effce in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007ffff74f8685 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff74f909f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007ffff74dd346 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007ffff74f896f in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x00007ffff74f909f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#26 0x00007ffff6a2e95e in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#27 0x00007ffff6b32257 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#28 0x00007ffff74dd250 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x00007ffff74f833d in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#30 0x00007ffff74f909f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#31 0x00007ffff6c79b04 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#32 0x00007ffff6c9a48b in gtk_window_propagate_key_event () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#33 0x00007ffff6c9a4e1 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#34 0x00007ffff6b32257 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#35 0x00007ffff74dd346 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#36 0x00007ffff74f833d in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#37 0x00007ffff74f909f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#38 0x00007ffff6c79b04 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#39 0x00007ffff6b2f29f in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#40 0x00007ffff6b312a8 in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#41 0x00007ffff6642765 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#42 0x00007ffff6672f82 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#43 0x00007ffff776d287 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007ffff776d4c0 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007ffff776d54c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007ffff5dcdddd in g_application_run () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#47 0x000055555555bda4 in spreadsheet_app_main (args=0x7fffffffde28, args_length1=1) at /home/ryo/Projects/Spreadsheet/src/App.vala:13
#48 0x000055555555bded in main (argc=1, argv=0x7fffffffde28) at /home/ryo/Projects/Spreadsheet/src/App.vala:11
(gdb)

ryonakano avatar Nov 10 '18 09:11 ryonakano

According to this line:

#14 0x00007ffff5ae8a68 in granite_widgets_dynamic_notebook_insert_tab () at /usr/lib/x86_64-linux-gnu/libgranite.so.5

It is because Spreadsheet uses Granite.DynamicNotebook. And indeed it uses Gtk.Notebook internally.

I have no idea how to fix this issue tho… :confused:

elegaanz avatar Nov 10 '18 11:11 elegaanz

similar bug...


(No debugging symbols found in /usr/bin/hugin)
(gdb) run
Starting program: /usr/bin/hugin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe34c9640 (LWP 24933)]
[New Thread 0x7fffe2cc8640 (LWP 24934)]

(hugin:24929): dbind-WARNING **: 01:41:26.951: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-bxxn4aLihU: No such file or directory
[Detaching after vfork from child process 24935]
[Detaching after vfork from child process 24937]
[Detaching after vfork from child process 24939]
[Detaching after vfork from child process 24941]
[Detaching after vfork from child process 24943]
[Detaching after vfork from child process 24945]
[Detaching after vfork from child process 24947]
[Detaching after vfork from child process 24949]
[New Thread 0x7fffe1b70640 (LWP 24951)]
[New Thread 0x7fffe136f640 (LWP 24952)]
[New Thread 0x7fffe0b6e640 (LWP 24953)]

(hugin:24929): Gtk-CRITICAL **: 01:41:27.490: gtk_widget_set_size_request: assertion 'height >= -1' failed


Thread 1 "hugin" received signal SIGTRAP, Trace/breakpoint trap.

estatistics avatar Apr 13 '22 22:04 estatistics