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 761209 - FileChooser crashes when invoked from FileChooserButton
FileChooser crashes when invoked from FileChooserButton
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkFileChooser
3.18.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
Federico Mena Quintero
Depends on:
Blocks:
 
 
Reported: 2016-01-27 22:56 UTC by Lukas
Modified: 2016-01-31 04:12 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Lukas 2016-01-27 22:56:28 UTC
How to reproduce:
 1.  open the widget factory
 2.  click on file chooser button
 3.  select any file, hit 'Open'
 4.  click on file chooser button again
 5.  go to 'Recent'
 6a. close the file chooser dialog by pressing ESC, or closing it from the window
     manager

Instead of 6a. :
 6b. hit the 'Close' button, click on file chooser button again

Result:
Gtk:ERROR:gtkfilechooserwidget.c:4517:show_and_select_files: assertion failed: (fsmodel == priv->browse_files_model)

This also is a bug in master as of 27. Jan 23:54:33 CET 2016.
Comment 1 Ben 2016-01-27 22:57:46 UTC
The steps are a bit different in git master, you have to mess around with it a bit.

Stack trace from git master:

  • #0 raise
    from /usr/lib/libc.so.6
  • #1 abort
    from /usr/lib/libc.so.6
  • #2 g_assertion_message
    at gtestutils.c line 2429
  • #3 g_assertion_message_expr
    at gtestutils.c line 2452
  • #4 show_and_select_files
    at gtkfilechooserwidget.c line 4522
  • #5 gtk_file_chooser_widget_select_file
    at gtkfilechooserwidget.c line 5655
  • #6 gtk_file_chooser_select_file
    at gtkfilechooser.c line 1368
  • #7 delegate_select_file
    at gtkfilechooserutils.c line 210
  • #8 gtk_file_chooser_select_file
    at gtkfilechooser.c line 1368
  • #9 gtk_file_chooser_native_select_file
    at gtkfilechoosernative.c line 526
  • #10 gtk_file_chooser_select_file
    at gtkfilechooser.c line 1368
  • #11 restore_inactive_state
    at gtkfilechooserbutton.c line 2644
  • #12 common_response_cb
    at gtkfilechooserbutton.c line 2908
  • #13 native_response_cb
    at gtkfilechooserbutton.c line 2949
  • #14 g_cclosure_marshal_VOID__INTv
    at gmarshal.c line 1200
  • #15 _g_closure_invoke_va
    at gclosure.c line 867
  • #16 g_signal_emit_valist
    at gsignal.c line 3294
  • #17 g_signal_emit
    at gsignal.c line 3441
  • #18 _gtk_native_dialog_emit_response
    at gtknativedialog.c line 396
  • #19 dialog_response_cb
    at gtkfilechoosernative.c line 436
  • #20 g_closure_invoke
    at gclosure.c line 804
  • #21 signal_emit_unlocked_R
    at gsignal.c line 3629
  • #22 g_signal_emit_valist
    at gsignal.c line 3385
  • #23 g_signal_emit
    at gsignal.c line 3441
  • #24 gtk_dialog_response
    at gtkdialog.c line 1235
  • #25 action_widget_activated
    at gtkdialog.c line 319
  • #26 _g_closure_invoke_va
    at gclosure.c line 867
  • #27 g_signal_emit_valist
    at gsignal.c line 3294
  • #28 g_signal_emit
    at gsignal.c line 3441
  • #29 gtk_button_clicked
    at gtkbutton.c line 1538
  • #30 gtk_button_do_release
    at gtkbutton.c line 1842
  • #31 gtk_real_button_released
    at gtkbutton.c line 1960
  • #32 _g_closure_invoke_va
    at gclosure.c line 867
  • #33 g_signal_emit_valist
    at gsignal.c line 3294
  • #34 g_signal_emit
    at gsignal.c line 3441
  • #35 multipress_released_cb
    at gtkbutton.c line 665
  • #36 ffi_call_unix64
    from /usr/lib/libffi.so.6
  • #37 ffi_call
    from /usr/lib/libffi.so.6
  • #38 g_cclosure_marshal_generic_va
    at gclosure.c line 1604
  • #39 _g_closure_invoke_va
    at gclosure.c line 867
  • #40 g_signal_emit_valist
    at gsignal.c line 3294
  • #41 g_signal_emit
    at gsignal.c line 3441
  • #42 gtk_gesture_multi_press_end
    at gtkgesturemultipress.c line 273
  • #43 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1950
  • #44 _g_closure_invoke_va
    at gclosure.c line 867
  • #45 g_signal_emit_valist
    at gsignal.c line 3294
  • #46 g_signal_emit
    at gsignal.c line 3441
  • #47 _gtk_gesture_set_recognized
    at gtkgesture.c line 345
  • #48 _gtk_gesture_check_recognized
    at gtkgesture.c line 386
  • #49 gtk_gesture_handle_event
    at gtkgesture.c line 777
  • #50 gtk_gesture_single_handle_event
    at gtkgesturesingle.c line 221
  • #51 gtk_event_controller_handle_event
    at gtkeventcontroller.c line 230
  • #52 _gtk_widget_run_controllers
    at gtkwidget.c line 7329
  • #53 gtk_widget_real_button_event
    at gtkwidget.c line 7104
  • #54 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #55 _g_closure_invoke_va
    at gclosure.c line 867
  • #56 g_signal_emit_valist
    at gsignal.c line 3294
  • #57 g_signal_emit
    at gsignal.c line 3441
  • #58 gtk_widget_event_internal
    at gtkwidget.c line 7704
  • #59 gtk_widget_event
    at gtkwidget.c line 7264
  • #60 propagate_event_up
    at gtkmain.c line 2518
  • #61 propagate_event
    at gtkmain.c line 2621
  • #62 gtk_propagate_event
    at gtkmain.c line 2655
  • #63 gtk_main_do_event
    at gtkmain.c line 1851
  • #64 _gdk_event_emit
    at gdkevents.c line 73
  • #65 gdk_event_source_dispatch
    at gdkeventsource.c line 364
  • #66 g_main_dispatch
    at gmain.c line 3154
  • #67 g_main_context_dispatch
    at gmain.c line 3769
  • #68 g_main_context_iterate
    at gmain.c line 3840
  • #69 g_main_context_iteration
    at gmain.c line 3901
  • #70 g_application_run
    at gapplication.c line 2363
  • #71 main
    at widget-factory.c line 1781

Comment 2 Lukas 2016-01-27 23:03:17 UTC
I tried some older version that were still in my package manager's cache:

Last version without bug: 3.16.7
First version with bug:   3.18.1
Comment 3 Lukas 2016-01-31 03:25:26 UTC
I did some bisecting and found out that this commit introduced the bug:
https://git.gnome.org/browse/gtk+/commit/?id=39c2d12330b6d4405ca8a5599c12017c58626fcf