After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 689515 - Crashes if directory changes while showing file dialog (`gtk_file_system_model_sort: assertion failed: (r == n_visible_rows)`)
Crashes if directory changes while showing file dialog (`gtk_file_system_mode...
Status: RESOLVED DUPLICATE of bug 687196
Product: gtk+
Classification: Platform
Component: Widget: GtkFileChooser
3.4.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
Federico Mena Quintero
Depends on:
Blocks:
 
 
Reported: 2012-12-03 09:42 UTC by Paul Menzel
Modified: 2013-05-22 07:20 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Paul Menzel 2012-12-03 09:42:37 UTC
Using Debian Sid/unstable and wanting to save a file in Evolution 3.4.4 and GTK+ 3.4.2-4.1, Evolution crashed.

Core was generated by `evolution'.
Program terminated with signal 6, Aborted.

(gdb) bt full

Thread 1 (Thread 0xb550f890 (LWP 4828))

  • #0 __kernel_vsyscall
  • #1 *__GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #2 *__GI_abort
    at abort.c line 92
  • #3 g_assertion_message
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./glib/gtestutils.c line 1861
  • #4 g_assertion_message_expr
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./glib/gtestutils.c line 1872
  • #5 gtk_file_system_model_sort
    at /src/gtk+/./gtk/gtkfilesystemmodel.c line 732
  • #6 gtk_file_system_model_sort
    at /src/gtk+/./gtk/gtkfilesystemmodel.c line 706
  • #7 _gtk_file_system_model_update_file
    at /src/gtk+/./gtk/gtkfilesystemmodel.c line 1816
  • #8 gtk_file_system_model_query_done
    at /src/gtk+/./gtk/gtkfilesystemmodel.c line 1160
  • #9 g_simple_async_result_complete
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gio/gsimpleasyncresult.c line 767
  • #10 complete_in_idle_cb_for_thread
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gio/gsimpleasyncresult.c line 835
  • #11 g_idle_dispatch
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 4657
  • #12 g_main_dispatch
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 2539
  • #13 g_main_context_dispatch
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3075
  • #14 g_main_context_iterate
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3146
  • #15 g_main_loop_run
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3340
  • #16 gtk_dialog_run
    at /src/gtk+/./gtk/gtkdialog.c line 1110
  • #17 e_attachment_store_run_save_dialog
    at e-attachment-store.c line 529
  • #18 action_save_as_cb
    at e-attachment-view.c line 309
  • #19 g_cclosure_marshal_VOID__VOID
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gmarshal.c line 85
  • #20 g_closure_invoke
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gclosure.c line 777
  • #21 signal_emit_unlocked_R
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3551
  • #22 g_signal_emit_valist
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3300
  • #23 g_signal_emit
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3356
  • #24 _gtk_action_emit_activate
    at /src/gtk+/./gtk/gtkaction.c line 800
  • #25 gtk_action_activate
    at /src/gtk+/./gtk/gtkaction.c line 830
  • #26 gtk_real_menu_item_activate
    at /src/gtk+/./gtk/gtkmenuitem.c line 1760
  • #27 g_cclosure_marshal_VOID__VOIDv
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gmarshal.c line 115
  • #28 g_type_class_meta_marshalv
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gclosure.c line 997
  • #29 _g_closure_invoke_va
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gclosure.c line 840
  • #30 g_signal_emit_valist
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3211
  • #31 g_signal_emit
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3356
  • #32 gtk_widget_activate
    at /src/gtk+/./gtk/gtkwidget.c line 6411
  • #33 gtk_menu_shell_activate_item
    at /src/gtk+/./gtk/gtkmenushell.c line 1429
  • #34 gtk_menu_shell_button_release
    at /src/gtk+/./gtk/gtkmenushell.c line 830
  • #35 gtk_menu_button_release
    at /src/gtk+/./gtk/gtkmenu.c line 3424
  • #36 gtk_menu_button_release
    at /src/gtk+/./gtk/gtkmenu.c line 3393
  • #37 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #38 g_type_class_meta_marshalv
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gclosure.c line 997
  • #39 _g_closure_invoke_va
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gclosure.c line 840
  • #40 g_signal_emit_valist
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3211
  • #41 g_signal_emit
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3356
  • #42 gtk_widget_event_internal
    at /src/gtk+/./gtk/gtkwidget.c line 6380
  • #43 gtk_widget_event
    at /src/gtk+/./gtk/gtkwidget.c line 6037
  • #44 propagate_event_up
    at /src/gtk+/./gtk/gtkmain.c line 2390
  • #45 propagate_event
    at /src/gtk+/./gtk/gtkmain.c line 2490
  • #46 gtk_main_do_event
    at /src/gtk+/./gtk/gtkmain.c line 1713
  • #47 _gdk_event_emit
    at /src/gtk+/./gdk/gdkevents.c line 69
  • #48 gdk_event_source_dispatch
    at /src/gtk+/./gdk/x11/gdkeventsource.c line 358
  • #49 g_main_dispatch
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 2539
  • #50 g_main_context_dispatch
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3075
  • #51 g_main_context_iterate
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3146
  • #52 g_main_loop_run
    at /build/buildd-glib2.0_2.33.12+really2.32.4-3-i386-Z8T5T2/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3340
  • #53 gtk_main
    at /src/gtk+/./gtk/gtkmain.c line 1161
  • #54 main
    at main.c line 696

Comment 1 Paul Menzel 2012-12-03 09:43:59 UTC
This is similar to bug 615576 [1], which is closed though and the patch is included in the version I use.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=615576
Comment 2 Paul Menzel 2012-12-03 09:44:52 UTC
In the Debian BTS this issue is tracked as 671594 [2] and a lot of people are able to reproduce it.

[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=671594
Comment 3 Paul Menzel 2012-12-03 09:47:39 UTC
Searching for the assertion, Michael Meeks reported that too to gtk-devel-list [1][2], but the commit supposed to fix this

commit e274dbbdced7f3f8e6349bdfadcd743326cfa799
Author: Alexander Larsson <alexl@redhat.com>
Date:   Fri Mar 25 10:53:05 2011 +0100

    Ensure we always grab the gdk lock in async callbacks
    
    Async callbacks are delivered in idles, so we need to make sure
    we get the gdk lock before calling any gdk/gtk stuff. This was
    missing in a few places.

is contained in GTK+ 3.4.2, I am using

$ git tag --contains e274dbbd
[…]
3.4.0
3.4.1
3.4.2
3.4.3
3.4.4
[…]

So maybe there was some kind of regression?

[1] https://mail.gnome.org/archives/gtk-devel-list/2011-March/msg00101.html
[2] http://comments.gmane.org/gmane.comp.gnome.gtk%2B.devel.general/20714
Comment 4 Paul Menzel 2012-12-03 09:49:35 UTC
RedHat/Fedora users also seem to hit this issue as of June 2012 [1].

[1] https://bugzilla.redhat.com/show_bug.cgi?id=603781
Comment 5 Timothy Arceri 2013-05-22 07:20:28 UTC

*** This bug has been marked as a duplicate of bug 687196 ***