Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NFD GTK3 dialog always crashes #84

Closed
slajerek opened this issue May 26, 2020 · 2 comments
Closed

NFD GTK3 dialog always crashes #84

slajerek opened this issue May 26, 2020 · 2 comments

Comments

@slajerek
Copy link

slajerek commented May 26, 2020

Compilation Environment

  • OS (eg: OSX 10.14, Ubuntu 18.04):

Debian GNU/Linux 8 (jessie), but crashes on newer versions

  • Compiler (eg: GCC, Clang):
    GCC

  • Compiler Version (eg: MSVC 2017):

gcc version 4.9.2 (Debian 4.9.2-10)

  • Build directory used (eg: build/gmake_linux:

My own

  • Have I attempted to reproduce the problem on the devel branch?

No

Describe the bug

The problem happens in GTK3 while calling gtk_file_chooser_new(). A short while after dialog is displayed the NFD crashes because GTK3 is raising assertion.

The NFD GTK3 works fine on older GTK3s (i.e. Debian GNU/Linux 8 (jessie)), but crashes on newer versions.

GTK3 raises assertion:
Bail out! Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/oxygen/base/16x16/status/image-missing.png: Impossibile allocare memoria per caricare file PNG (gdk-pixbuf-error-quark, 1)

The file exists in the location. The problem may be related to missing GMainLoop or something else.

#0 0x00007ffff68d87bb in __GI_raise (sig=sig@entry=6)
at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff68c3535 in __GI_abort () at abort.c:79
#2 0x00007ffff72cadc3 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff7324e1e in g_assertion_message_error ()
at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007ffff7ab68e5 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#5 0x00007ffff7ab6fe5 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#6 0x00007ffff7ab70a4 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#7 0x00007ffff7ab7288 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#8 0x00007ffff7aca70d in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#9 0x00007ffff7a288d3 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#10 0x00007ffff7a2ca51 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#11 0x00007ffff7acaed3 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#12 0x00007ffff7b87c81 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#13 0x00007ffff7b884b0 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#14 0x00007ffff7b8859e in gtk_widget_get_preferred_width ()
at /lib/x86_64-linux-gnu/libgtk-3.so.0
#15 0x00007ffff79d78df in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#16 0x00007ffff7a288d3 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#17 0x00007ffff7a2ca51 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#18 0x00007ffff79d83c3 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#19 0x00007ffff7b87c81 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
--Type for more, q to quit, c to continue without paging--c
#20 0x00007ffff7b884b0 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#21 0x00007ffff7b8859e in gtk_widget_get_preferred_width () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#22 0x00007ffff7b87c81 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#23 0x00007ffff7b884b0 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#24 0x00007ffff7b8859e in gtk_widget_get_preferred_width () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#25 0x00007ffff79d2841 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#26 0x00007ffff7b64396 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#27 0x00007ffff7b87c81 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#28 0x00007ffff7b884b0 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#29 0x00007ffff7b8859e in gtk_widget_get_preferred_width () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#30 0x00007ffff7a288d3 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#31 0x00007ffff7a2ca51 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#32 0x00007ffff7ae44c7 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#33 0x00007ffff7b87c81 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#34 0x00007ffff7b884b0 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#35 0x00007ffff7b8859e in gtk_widget_get_preferred_width () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#36 0x00007ffff7ae41dd in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#37 0x00007ffff7a288d3 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#38 0x00007ffff7a2ca51 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#39 0x00007ffff7ae4350 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#40 0x00007ffff7a288d3 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#41 0x00007ffff7a2ca51 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#42 0x00007ffff7ae446a in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#43 0x00007ffff7b87d4b in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#44 0x00007ffff7b884b0 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#45 0x00007ffff7b879b1 in gtk_widget_get_preferred_height () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#46 0x00007ffff7c29adf in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#47 0x00007ffff7c2a075 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#48 0x00007ffff73e6ecb in g_object_set_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#49 0x00007ffff73e779c in g_object_set () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#50 0x00007ffff7b725e0 in gtk_scrolled_window_set_hadjustment () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#51 0x00007ffff73e48f9 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#52 0x00007ffff73e5fad in g_object_newv () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#53 0x00007ffff79df0c2 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#54 0x00007ffff79e1b93 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#55 0x00007ffff7300553 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#56 0x00007ffff730163d in g_markup_parse_context_parse () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#57 0x00007ffff79e2576 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#58 0x00007ffff79dd3e4 in gtk_builder_extend_with_template () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#59 0x00007ffff7c3ed07 in gtk_widget_init_template () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#60 0x00007ffff7a85c9b in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#61 0x00007ffff7402107 in g_type_create_instance () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#62 0x00007ffff73e4548 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#63 0x00007ffff73e5fad in g_object_newv () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#64 0x00007ffff79df0c2 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#65 0x00007ffff79e06b5 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#66 0x00007ffff79e215d in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#67 0x00007ffff73006b2 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#68 0x00007ffff73017f6 in g_markup_parse_context_parse () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#69 0x00007ffff79e2576 in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#70 0x00007ffff79dd3e4 in gtk_builder_extend_with_template () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#71 0x00007ffff7c3ed07 in gtk_widget_init_template () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#72 0x00007ffff7a7d3ce in () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#73 0x00007ffff7402107 in g_type_create_instance () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#74 0x00007ffff73e4548 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#75 0x00007ffff73e63d4 in g_object_new_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#76 0x00007ffff73e6709 in g_object_new () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#77 0x00007ffff7a7dea4 in gtk_file_chooser_dialog_new () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#78 0x0000555555af5fef in NFD_OpenDialog ()

Compilation output

Additional context

Discussion here: https://csdb.dk/forums/?roomid=12&topicid=142527#142706

User Description

Individual, open source project:
https://sourceforge.net/projects/c64-debugger/

@mlabbe
Copy link
Owner

mlabbe commented Jan 7, 2021

This appears to be a problem that involves a specific gtk version, but no gtk version is given and no clear steps on how to reproduce. Please share a repo with an isolated repro case and explain how to get the crashing gtk version installed.

@mlabbe mlabbe closed this as completed Jan 8, 2021
@mmuman
Copy link

mmuman commented Jan 8, 2021

Btw, when putting logs you'll want to use a code block (3 ` before and 3 after) so as not to inadvertently mention each and every project issue like you did :-D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants