GTK Critical error issue

Do you have a typical platform dependent issue you're battling with ? Ask it here. Make sure you mention your platform, compiler, and wxWidgets version.
Post Reply
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 3358
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

GTK Critical error issue

Post by ONEEYEMAN » Sat Mar 30, 2019 4:47 am

Hi, ALL,
I am getting the following from the gdb:

Code: Select all

(dbhandler:24589): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar

Thread 1 "dbhandler" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff2c7e151 in ?? () from /usr/lib64/libglib-2.0.so.0
(gdb) bt
#0  0x00007ffff2c7e151 in ?? () from /usr/lib64/libglib-2.0.so.0
#1  0x00007ffff2c80891 in g_log_writer_default () from /usr/lib64/libglib-2.0.so.0
#2  0x00007ffff2c7ed36 in g_log_structured_array () from /usr/lib64/libglib-2.0.so.0
#3  0x00007ffff2c7f033 in g_log_structured () from /usr/lib64/libglib-2.0.so.0
#4  0x00007ffff48f5eed in ?? () from /usr/lib64/libgtk-3.so.0
#5  0x00007ffff48f671f in ?? () from /usr/lib64/libgtk-3.so.0
#6  0x00007ffff494b171 in ?? () from /usr/lib64/libgtk-3.so.0
#7  0x00007ffff4a78112 in ?? () from /usr/lib64/libgtk-3.so.0
#8  0x00007ffff494b171 in ?? () from /usr/lib64/libgtk-3.so.0
#9  0x00007ffff4a78f47 in ?? () from /usr/lib64/libgtk-3.so.0
#10 0x00007ffff4b6d54b in gtk_widget_size_allocate_with_baseline () from /usr/lib64/libgtk-3.so.0
#11 0x00007ffff4aa04b5 in ?? () from /usr/lib64/libgtk-3.so.0
#12 0x00007ffff494b171 in ?? () from /usr/lib64/libgtk-3.so.0
#13 0x00007ffff4a9ce7a in ?? () from /usr/lib64/libgtk-3.so.0
#14 0x00007ffff3155231 in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
#15 0x00007ffff3168466 in ?? () from /usr/lib64/libgobject-2.0.so.0
#16 0x00007ffff3170c0c in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#17 0x00007ffff31715af in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#18 0x00007ffff4b6d867 in gtk_widget_size_allocate_with_baseline () from /usr/lib64/libgtk-3.so.0
#19 0x00007ffff6bac469 in wxPizza::size_allocate_child (this=0x555555e2bb30, child=0x555555c1c450, x=0, y=0, width=94, height=45, parent_width=1369)
    at ../src/gtk/win_gtk.cpp:433
#20 0x00007ffff6bab8ee in pizza_size_allocate (widget=0x555555e2bb30, alloc=0x7fffffffa820) at ../src/gtk/win_gtk.cpp:108
#21 0x00007ffff3155231 in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
#22 0x00007ffff3168466 in ?? () from /usr/lib64/libgobject-2.0.so.0
#23 0x00007ffff3170c0c in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#24 0x00007ffff31715af in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#25 0x00007ffff4b6d867 in gtk_widget_size_allocate_with_baseline () from /usr/lib64/libgtk-3.so.0
#26 0x00007ffff4a3e01d in ?? () from /usr/lib64/libgtk-3.so.0
#27 0x00007ffff494b171 in ?? () from /usr/lib64/libgtk-3.so.0
#28 0x00007ffff48f63f3 in ?? () from /usr/lib64/libgtk-3.so.0
#29 0x00007ffff48f67fe in ?? () from /usr/lib64/libgtk-3.so.0
#30 0x00007ffff494b171 in ?? () from /usr/lib64/libgtk-3.so.0
#31 0x00007ffff4a41845 in ?? () from /usr/lib64/libgtk-3.so.0
#32 0x00007ffff3155231 in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#33 0x00007ffff3168466 in ?? () from /usr/lib64/libgobject-2.0.so.0
#34 0x00007ffff3170c0c in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#35 0x00007ffff31715af in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#36 0x00007ffff4b6d867 in gtk_widget_size_allocate_with_baseline () from /usr/lib64/libgtk-3.so.0
#37 0x00007ffff6bac469 in wxPizza::size_allocate_child (this=0x555555b55f80, child=0x555555af66f0, x=0, y=55, width=1371, height=514, 
    parent_width=1369) at ../src/gtk/win_gtk.cpp:433
#38 0x00007ffff6bab8ee in pizza_size_allocate (widget=0x555555b55f80, alloc=0x7fffffffb720) at ../src/gtk/win_gtk.cpp:108
#39 0x00007ffff3155231 in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
#40 0x00007ffff3168466 in ?? () from /usr/lib64/libgobject-2.0.so.0
#41 0x00007ffff3170c0c in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#42 0x00007ffff31715af in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#43 0x00007ffff4b6d867 in gtk_widget_size_allocate_with_baseline () from /usr/lib64/libgtk-3.so.0
#44 0x00007ffff4a3e01d in ?? () from /usr/lib64/libgtk-3.so.0
#45 0x00007ffff494b171 in ?? () from /usr/lib64/libgtk-3.so.0
#46 0x00007ffff48f63f3 in ?? () from /usr/lib64/libgtk-3.so.0
#47 0x00007ffff48f67fe in ?? () from /usr/lib64/libgtk-3.so.0
#48 0x00007ffff494b171 in ?? () from /usr/lib64/libgtk-3.so.0
#49 0x00007ffff4a41845 in ?? () from /usr/lib64/libgtk-3.so.0
#50 0x00007ffff3155231 in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
#51 0x00007ffff3168466 in ?? () from /usr/lib64/libgobject-2.0.so.0
#52 0x00007ffff3170c0c in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#53 0x00007ffff31715af in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#54 0x00007ffff4b6d867 in gtk_widget_size_allocate_with_baseline () from /usr/lib64/libgtk-3.so.0
#55 0x00007ffff6bac469 in wxPizza::size_allocate_child (this=0x555555af5120, child=0x555555af6290, x=0, y=42, width=1371, height=571, 
    parent_width=1366) at ../src/gtk/win_gtk.cpp:433
#56 0x00007ffff6bab8ee in pizza_size_allocate (widget=0x555555af5120, alloc=0x7fffffffc620) at ../src/gtk/win_gtk.cpp:108
#57 0x00007ffff3155231 in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
#58 0x00007ffff3168466 in ?? () from /usr/lib64/libgobject-2.0.so.0
#59 0x00007ffff3170c0c in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#60 0x00007ffff31715af in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#61 0x00007ffff4b6d867 in gtk_widget_size_allocate_with_baseline () from /usr/lib64/libgtk-3.so.0
#62 0x00007ffff48f26e7 in ?? () from /usr/lib64/libgtk-3.so.0
#63 0x00007ffff48f2a37 in ?? () from /usr/lib64/libgtk-3.so.0
#64 0x00007ffff494b171 in ?? () from /usr/lib64/libgtk-3.so.0
---Type <return> to continue, or q <return> to quit---
#65 0x00007ffff48f3ea5 in ?? () from /usr/lib64/libgtk-3.so.0
#66 0x00007ffff4b6d54b in gtk_widget_size_allocate_with_baseline () from /usr/lib64/libgtk-3.so.0
#67 0x00007ffff4b842f3 in ?? () from /usr/lib64/libgtk-3.so.0
#68 0x00007ffff315531d in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
#69 0x00007ffff3168466 in ?? () from /usr/lib64/libgobject-2.0.so.0
#70 0x00007ffff3170c0c in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#71 0x00007ffff31715af in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#72 0x00007ffff4b6d867 in gtk_widget_size_allocate_with_baseline () from /usr/lib64/libgtk-3.so.0
#73 0x00007ffff4b7e785 in ?? () from /usr/lib64/libgtk-3.so.0
#74 0x00007ffff315531d in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
#75 0x00007ffff3167df9 in ?? () from /usr/lib64/libgobject-2.0.so.0
#76 0x00007ffff3170c0c in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#77 0x00007ffff31715af in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#78 0x00007ffff493f8c0 in ?? () from /usr/lib64/libgtk-3.so.0
#79 0x00007ffff315531d in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
#80 0x00007ffff316838b in ?? () from /usr/lib64/libgobject-2.0.so.0
#81 0x00007ffff3170c0c in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#82 0x00007ffff31715af in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#83 0x00007ffff454918e in ?? () from /usr/lib64/libgdk-3.so.0
#84 0x00007ffff4533020 in ?? () from /usr/lib64/libgdk-3.so.0
#85 0x00007ffff2c78e13 in ?? () from /usr/lib64/libglib-2.0.so.0
#86 0x00007ffff2c782d4 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#87 0x00007ffff2c78698 in ?? () from /usr/lib64/libglib-2.0.so.0
#88 0x00007ffff2c78a12 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
#89 0x00007ffff4a0fafd in gtk_main () from /usr/lib64/libgtk-3.so.0
#90 0x00007ffff6b92143 in wxGUIEventLoop::DoRun (this=0x555555832370) at ../src/gtk/evtloop.cpp:65
#91 0x00007ffff610c8a7 in wxEventLoopBase::Run (this=0x555555832370) at ../src/common/evtloopcmn.cpp:76
#92 0x00007ffff60cc1fa in wxAppConsoleBase::MainLoop (this=0x555555810ed0) at ../src/common/appbase.cpp:380
#93 0x00007ffff60cbf21 in wxAppConsoleBase::OnRun (this=0x555555810ed0) at ../src/common/appbase.cpp:301
#94 0x00007ffff6c48cef in wxAppBase::OnRun (this=0x555555810ed0) at ../src/common/appcmn.cpp:335
#95 0x00007ffff6141aef in wxEntry ([email protected]: 1, argv=0x555555810da0) at ../src/common/init.cpp:507
#96 0x00007ffff6141bc5 in wxEntry ([email protected]: 1, argv=0x7fffffffdd98) at ../src/common/init.cpp:519
#97 0x000055555557806c in main (argc=1, argv=0x7fffffffdd98) at /home/igor/dbhandler/dbhandler/docview.cpp:63
The problem is that the layout of the window is screwed, but refreshing the window makes everything works correctly.

I'm using wxShapeFramework, and the problem appears only on wxGTK. Both wxMSW and wxOSX/Cocoa works correctly.

I can probably work-around it by calling Refresh() on the canvas, but I'd rather try to fix the code whether it is in wx itself or in my program.

Does anybody saw something like this?

I'm using 3.1.1 on Gentoo Linux (self-compiled) with GTK3.22.

I can try to build against GTK2 and see what will happen.

Thank you.

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 3358
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: GTK Critical error issue

Post by ONEEYEMAN » Sat Mar 30, 2019 5:08 am

Just tried to build it under GTK+2.24 (wx 3.1.1).

Everything works as it should.

Did I hit the problem in wxWidgets? Or this is an issue with the {my} version of GTK+3?

Thank you.

Post Reply