GNOME Bugzilla – Bug 680628
GTK+3 Applications crash with GtkFileChooser dialog displayed
Last modified: 2013-05-20 04:58:22 UTC
Created attachment 219669 [details] The bug present in gedit, some python script and shotwell ALL Gtk+3.X.x applications crash when you have a GtkFileChooser dialog opened and some other application creates, removes, renames, etc... files from the same folder that is displayed. All of them print this to the console: Gtk:ERROR:gtkfilesystemmodel.c:751:gtk_file_system_model_sort: assertion failed: (r == n_visible_rows) Aborted (core dumped) Or this: Gtk-CRITICAL **: gtk_tree_model_filter_convert_iter_to_child_iter: assertion `valid == TRUE' failed Gtk-CRITICAL **: gtk_file_system_model_get_value: assertion `ITER_IS_VALID (model, iter)' failed GLib-GObject-WARNING **: gtype.c:4206: type id `0' is invalid GLib-GObject-WARNING **: can't peek value table for type `<invalid>' which is not currently referenced Segmentation fault (core dumped) And this, when you select (just focus) any other file in the dialog, once the bug has been 'triggered': GLib-GObject-WARNING **: gsignal.c:2534: handler `####' of instance `0x#######' is not blocked (Where the "#"s are some random numers, they depend of the application. I must mention that 'instance' is always the same number for the application the bug is present) An example of every case is attached. Example #1: The bug in gedit Example #2: The bug in the Python-Gtk+ Tutorial, FileChooserDialog sample Example #3: The bug in shotwell This has happened to me with ALL applications that use Gtk+3.X.x. Every single one of them (for example: brasero, rhythmbox, gedit, totem, transmission, and many other...). This is not present in Gtk+2.X.x Thank You!
Please run the applications in gdb: gdb gedit run (make it crash) thread apply all bt and paste the output here. Which exact version of GTK+ is this about? Which distribution is this about?
Well, I don't really know which version of GTK+ all those programs use, but I'm pretty sure they are GTK+3 and above... I'm currently running fedora 17 x86 (i686) with linux kernel 3.3.4-5.fc17.i686 and Gnome 3.4.2 (thats what the system monitor said)... Okay, this is all the output (from the execution, to the last prompt), in the case #1 (when it crashes creating a file): [ariel@hawk ~]$ gdb gedit GNU gdb (GDB) Fedora (7.4.50.20120120-49.fc17) Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/gedit...(no debugging symbols found)...done. Missing separate debuginfos, use: debuginfo-install gedit-3.4.2-1.fc17.i686 (gdb) run Starting program: /usr/bin/gedit [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". [New Thread 0xb7d80b40 (LWP 2530)] [New Thread 0xb73ffb40 (LWP 2531)] [New Thread 0xb69ffb40 (LWP 2532)] Detaching after fork from child process 2533. (gedit:2527): GtkSourceView-WARNING **: no color named 'aluminium4' (gedit:2527): GtkSourceView-WARNING **: no color named 'aluminium5' [New Thread 0xb0fc6b40 (LWP 2539)] [New Thread 0xb07c5b40 (LWP 2540)] [New Thread 0xaffc4b40 (LWP 2541)] [Thread 0xb07c5b40 (LWP 2540) exited] [Thread 0xb7d80b40 (LWP 2530) exited] [Thread 0xb0fc6b40 (LWP 2539) exited] [New Thread 0xb0fc6b40 (LWP 2542)] [New Thread 0xb7d80b40 (LWP 2543)] [Thread 0xb7d80b40 (LWP 2543) exited] [Thread 0xaffc4b40 (LWP 2541) exited] ** Gtk:ERROR:gtkfilesystemmodel.c:751:gtk_file_system_model_sort: assertion failed: (r == n_visible_rows) Program received signal SIGABRT, Aborted. 0x00111416 in __kernel_vsyscall () (gdb) thread apply all bt
+ Trace 230592
Thread 1 (Thread 0xb7fde880 (LWP 2692))
The crash is also triggered when you open a FileChooserDialog (Or at least such object exists), and the files on the folder that's currently being displayed change (create, remove, rename, etc...), like, if I create an instance of such class, run it (run() method) and then hide it (hide() method), if I make changes on the filesystem (after "hiding" the dialog), the bug still occurs, unless I destroy (destroy() method) the object. Is there something else I can do?
Thanks for the trace. Unfortunately, that stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Can you get us a stack trace with debugging symbols by installing gedit-debuginfo, gtk3-debuginfo and glib2-debuginfo? Please see http://live.gnome.org/GettingTraces for more information on how to do so and paste it in this bug report. Thanks in advance!
Okay, here's the stack trace with the debuinfo tools installed: Case #1 (SIGSEGV):
+ Trace 230603
Thread 1 (Thread 0xb7fdd880 (LWP 2550))
I hope this helps!
Looks like glib2-debuginfo is missing, or something went wrong...
I tried to look for glib2-debuginfo in the fedora (17) rpm repositories (through yum) but I only found glibc-debuginfo, any ideas on how to install that package?
In Fedora 16 its name is glib2-debuginfo-2.30.3-1.fc16.i686
Well, I couldn't find it on fedora 17 through yum, so I installed it via RPMFind, hope this helps: Trace #1 (gedit):
+ Trace 230608
Thread 1 (Thread 0xb7fdd880 (LWP 15988))
Are there any news? Is there something else I can help with?
Hi everybody, I face the same annoying bug in gedit since months under 32 bit and 64 bit Ubuntu 12.04 LTS. Since gedit is one of my most important tools, this bug starts driving me crazy. Nearly every time I try to open a file in gedit, my gedit crashes and prints the following message: ** Gtk:ERROR:/build/buildd/gtk+3.0-3.4.2/./gtk/gtkfilesystemmodel.c:751:gtk_file_system_model_sort: assertion failed: (r == n_visible_rows) Program received signal SIGABRT, Aborted. 0x00007ffff4579425 in raise () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) bt
+ Trace 231242
Hope that helps, Steffen
Steffen: Please provide a stacktrace with debug packages installed for libglib-2 and libgtk-3.
Hi André, yes. I hope that helps: [...] [Thread 0xac9f4b40 (LWP 13816) exited] [New Thread 0xac9f4b40 (LWP 13974)] [New Thread 0xac1f3b40 (LWP 13975)] [New Thread 0xad528b40 (LWP 13976)] [New Thread 0xb54ffb40 (LWP 13977)] ** Gtk:ERROR:/build/buildd/gtk+3.0-3.4.2/./gtk/gtkfilesystemmodel.c:751:gtk_file_system_model_sort: assertion failed: (r == n_visible_rows) Program received signal SIGABRT, Aborted. 0xb7fdd424 in __kernel_vsyscall () (gdb) bt
+ Trace 231390
With best regards, Steffen Wendzel
Looks like this was fixed in 3.6 *** This bug has been marked as a duplicate of bug 687196 ***