GTKMM4 app is crashing on calling window hide()

103 views Asked by At

In my ubuntu 20.04 and Windows 10, I installed GTKMM4 with VCPKG since the normal installation of GTKMM4 is not available.

Then I downloaded this example from the gnome tutorial page and added this cmake.

On clicking the close button, which calls the window hide, the app is crashing in Ubuntu alone and no issue is there in windows setup.

The backtrace is given below.

Thread 1 "gtkmmtes2" received signal SIGSEGV, Segmentation fault.
0x00007ffff7146ad4 in g_str_hash () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
(gdb) bt
#0  0x00007ffff7146ad4 in g_str_hash () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#1  0x00007ffff7145c5c in g_hash_table_contains () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#2  0x00007ffff70369e8 in gtk_at_spi_cache_remove_context () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#3  0x00007ffff70395c4 in gtk_at_spi_context_unrealize () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#4  0x00007ffff6d08f87 in gtk_at_context_unrealize () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#5  0x00007ffff6f7c7f9 in gtk_window_unmap () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#6  0x0000555555741304 in Gtk::Widget_Class::unmap_callback(_GtkWidget*) ()
#7  0x00007ffff7229abe in g_closure_invoke () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#8  0x00007ffff723fe39 in signal_emit_unlocked_R () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#9  0x00007ffff724cafd in g_signal_emit_valist () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#10 0x00007ffff724cfc3 in g_signal_emit () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#11 0x00007ffff6f6069a in gtk_widget_unmap () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#12 0x00007ffff6f7c869 in gtk_window_hide () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#13 0x00005555557417dd in Gtk::Widget_Class::hide_callback(_GtkWidget*) ()
#14 0x00007ffff7229abe in g_closure_invoke () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#15 0x00007ffff723fe39 in signal_emit_unlocked_R () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#16 0x00007ffff724cafd in g_signal_emit_valist () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#17 0x00007ffff724cfc3 in g_signal_emit () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#18 0x00007ffff6f6bbbc in gtk_widget_hide () from /root/programs/vcpkg//packages/gtk_x64-linux/lib/libgtk-4.so.1
#19 0x000055555572a064 in ExampleWindow::on_action_file_quit() ()
#20 0x000055555572d3ed in void std::__invoke_impl<void, void (ExampleWindow::* const&)(), ExampleWindow&>(std::__invoke_memfun_ref, void (ExampleWindow::* const&)(), ExampleWindow&) ()
#21 0x000055555572d0fc in std::__invoke_result<void (ExampleWindow::* const&)(), ExampleWindow&>::type std::__invoke<void (ExampleWindow::* const&)(), ExampleWindow&>(void (ExampleWindow::* const&)(), ExampleWindow&) ()

The issue is easily reproducible with any window and hide() function in Ubuntu. Also I'm seeing the following warnings with every gtkmm4 app in Ubuntu.

(gtkmmtes2:567918): GLib-GIO-CRITICAL **: 09:24:41.966: g_dbus_connection_emit_signal: assertion 'object_path != NULL && g_variant_is_object_path (object_path)' failed

Components installed with VCPKG

root@renju-ubuntu:~# vcpkg list
atk:x64-linux                                     2.38.0#3            GNOME Accessibility Toolkit
atkmm:x64-linux                                   2.36.1              atkmm is the official C++ interface for the ATK ...
brotli:x64-linux                                  1.0.9#3             a generic-purpose lossless compression algorithm...
bzip2:x64-linux                                   1.0.8#3             bzip2 is a freely available, patent free, high-q...
bzip2[tool]:x64-linux                                                 Builds bzip2 executable
cairo:x64-linux                                   1.17.6#4            Cairo is a 2D graphics library with support for ...
cairo[fontconfig]:x64-linux                                           build with fontconfig
cairo[freetype]:x64-linux                                             use the freetype font backend
cairo[gobject]:x64-linux                                              build gobject module
cairo[x11]:x64-linux                                                  build with x11 support
cairomm:x64-linux                                 1.16.2#1            A C++ wrapper for the cairo graphics library
dirent:x64-linux                                  1.23.2#1            Dirent is a C/C++ programming interface that all...
egl-registry:x64-linux                            2022-09-20          the EGL API and Extension Registry
expat:x64-linux                                   2.5.0#1             XML parser library written in C
fontconfig:x64-linux                              2.14.1              Library for configuring and customizing font acc...
freetype:x64-linux                                2.12.1#2            A library to render fonts.
freetype[brotli]:x64-linux                                            Support decompression of WOFF2 streams
freetype[bzip2]:x64-linux                                             Support bzip2 compressed fonts.
freetype[png]:x64-linux                                               Support PNG compressed OpenType embedded bitmaps.
freetype[zlib]:x64-linux                                              Use zlib instead of internal library for DEFLATE
fribidi:x64-linux                                 1.0.12              GNU FriBidi is an implementation of the Unicode ...
gdk-pixbuf:x64-linux                              2.42.9#3            Image loading library.
getopt:x64-linux                                  0#2                 The getopt and getopt_long functions automate so...
gettext:x64-linux                                 0.21#9              GNU gettext provides libintl and a set of tools ...
gettext[tools]:x64-linux                                              Build gettext tools
glib:x64-linux                                    2.74.1              Portable, general-purpose utility library.
glibmm:x64-linux                                  2.74.0              This is glibmm, a C++ API for parts of glib that...
gperf:x64-linux                                   3.1#4               GNU perfect hash function generator
graphene:x64-linux                                1.10.8              A thin layer of types for graphic libraries.
gtk:x64-linux                                     4.6.8               Portable library for creating graphical user int...
gtkmm:x64-linux                                   4.6.0               gtkmm is the official C++ interface for the popu...
harfbuzz:x64-linux                                5.0.1#3             HarfBuzz OpenType text shaping engine
libepoxy:x64-linux                                1.5.10#1            Epoxy is a library for handling OpenGL function ...
libffi:x64-linux                                  3.4.4               Portable, high level programming interface to va...
libiconv:x64-linux                                1.17                GNU Unicode text conversion
libjpeg-turbo:x64-linux                           2.1.4               libjpeg-turbo is a JPEG image codec that uses SI...
liblzma:x64-linux                                 5.2.5#6             Compression library with an API similar to that ...
libpng:x64-linux                                  1.6.38              libpng is a library implementing an interface fo...
libsass:x64-linux                                 3.6.5#1             LibSass - Sass compiler written in C++
libsigcpp-3:x64-linux                             3.0.3#1             Typesafe callback framework for C++
libsigcpp:x64-linux                               3.2.0               Typesafe callback framework for C++
libuuid:x64-linux                                 1.0.3#11            Universally unique id library
lzo:x64-linux                                     2.10#7              Lossless data compression library
pango:x64-linux                                   1.50.11             Text and font handling library.
pangomm:x64-linux                                 2.50.1              pangomm is the official C++ interface for the Pa...
pcre2:x64-linux                                   10.40#1             Regular Expression pattern matching using the sa...
pcre:x64-linux                                    8.45#5              Perl Compatible Regular Expressions
pixman:x64-linux                                  0.40.0#4            Pixman is a low-level software library for pixel...
pthread:x64-linux                                 3.0.0#1             empty package, linking to other port
pthreads:x64-linux                                3.0.0#12            Meta-package that provides PThreads4W on Windows...
sassc:x64-linux                                   3.6.2               SassC is a wrapper around libsass (http://github...
tiff:x64-linux                                    4.4.0#1             A library that supports the manipulation of TIFF...
tiff[jpeg]:x64-linux                                                  Support JPEG compression in TIFF image files
tiff[lzma]:x64-linux                                                  Support LZMA compression in TIFF image files
tiff[zip]:x64-linux                                                   Support ZIP/deflate compression in TIFF image files
vcpkg-cmake-config:x64-linux                      2022-02-06#1
vcpkg-cmake:x64-linux                             2022-10-30
vcpkg-tool-meson:x64-linux                        0.63                Meson build system
zlib:x64-linux                                    1.2.13              A compression library

0

There are 0 answers