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 351666 - Assertion failed (crash) in gtk_file_chooser_default_should_respond
Assertion failed (crash) in gtk_file_chooser_default_should_respond
Status: RESOLVED DUPLICATE of bug 350988
Product: gtk+
Classification: Platform
Component: Widget: GtkFileChooser
2.10.x
Other All
: High critical
: ---
Assigned To: gtk-bugs
Federico Mena Quintero
: 375177 375430 375630 404813 404869 404882 405258 406308 406375 407401 408246 410151 413450 418252 420455 424803 427439 427904 428713 428971 430581 431263 431351 436736 448244 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-08-16 20:11 UTC by Timothy Brownawell
Modified: 2011-02-04 16:10 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16



Description Timothy Brownawell 2006-08-16 20:11:16 UTC
What were you doing when the application crashed?
Saving a blank new file.
^s -> "folder /tmp/something does not exist", and the save as dialog had a blank folder select box (didn't look what was in the dropdown)
type "~/documents/", hit enter -> pauses, probably waiting for disk
click cancel -> still waiting, then after a bit the crash dialog comes up


Distribution: Ubuntu 6.10 (edgy)
Gnome Release: 2.15.91 2006-08-08 (Ubuntu)
BugBuddy Version: 2.15.90

Memory status: size: 126423040 vsize: 0 resident: 126423040 share: 0 rss: 44957696 rss_rlim: 0
CPU usage: start_time: 1155333141 rtime: 0 utime: 98856 stime: 0 cutime:94873 cstime: 0 timeout: 3983 it_real_value: 0 frequency: 0

Backtrace was generated from '/usr/bin/gedit'

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1226499904 (LWP 15759)]
[New Thread -1263137888 (LWP 15924)]
(no debugging symbols found)
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1226499904 (LWP 15759))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 gnome_gtk_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 __kernel_vsyscall
  • #5 *__GI_raise
    from /lib/tls/i686/cmov/libc.so.6
  • #6 *__GI_abort
    from /lib/tls/i686/cmov/libc.so.6
  • #7 g_logv
    from /usr/lib/libglib-2.0.so.0
  • #8 g_log
    from /usr/lib/libglib-2.0.so.0
  • #9 g_assert_warning
    from /usr/lib/libglib-2.0.so.0
  • #10 _gtk_file_chooser_default_new
    from /usr/lib/libgtk-x11-2.0.so.0
  • #11 _gtk_file_chooser_embed_should_respond
    from /usr/lib/libgtk-x11-2.0.so.0
  • #12 _gtk_file_chooser_embed_set_delegate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #13 _gtk_file_chooser_embed_should_respond
    from /usr/lib/libgtk-x11-2.0.so.0
  • #14 gtk_file_chooser_dialog_new
    from /usr/lib/libgtk-x11-2.0.so.0
  • #15 g_cclosure_marshal_VOID
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_chain_from_overridden
    from /usr/lib/libgobject-2.0.so.0
  • #18 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #19 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #20 gtk_dialog_response
    from /usr/lib/libgtk-x11-2.0.so.0
  • #21 gtk_dialog_response
    from /usr/lib/libgtk-x11-2.0.so.0
  • #22 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_chain_from_overridden
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #26 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #27 gtk_button_clicked
    from /usr/lib/libgtk-x11-2.0.so.0
  • #28 gtk_button_set_alignment
    from /usr/lib/libgtk-x11-2.0.so.0
  • #29 gtk_button_set_alignment
    from /usr/lib/libgtk-x11-2.0.so.0
  • #30 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #31 g_value_set_boxed
    from /usr/lib/libgobject-2.0.so.0
  • #32 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #33 g_signal_chain_from_overridden
    from /usr/lib/libgobject-2.0.so.0
  • #34 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #35 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #36 gtk_widget_get_default_style
    from /usr/lib/libgtk-x11-2.0.so.0
  • #37 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #38 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #39 _gdk_events_init
    from /usr/lib/libgdk-x11-2.0.so.0
  • #40 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #41 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #42 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #43 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #44 main
  • #0 __kernel_vsyscall

Comment 1 Paolo Maggi 2006-08-18 15:43:49 UTC
Thanks for taking the time to report this bug.

It seems a crash in the file chooser so I'm going to move this bug to gtk+.

The steps to reproduce the crash are not very clear to me. In particular it is  not clear to me how you got the "folder /tmp/something does not exist" message.

Unfortunately, that stack trace is not very useful in determining the cause of the crash. Can you get us one with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so.
Comment 2 Timothy Brownawell 2006-08-18 16:46:48 UTC
steps to reproduce:

$ mkdir /tmp/foo
$ touch /tmp/foo/bar
$ gedit /tmp/foo/bar &

<wait for gedit window to open>
[whether you close the "bar" tab here doesn't matter]

$ rm -r /tmp/foo

<In gedit window, ^n ^s to open and save a new file>
   "The folder contents could not be displayed"
   "error accessing 'file:///tmp/foo': File not found"
<click "ok">
[the "save in folder" bar is blank, leave it like that]
<type *anything* in the "name" field (ex: foo, /tmp/foo, ~/bar, ~/bar/) >
<press enter or click "save">
**crash**


***************************************************************************

Backtrace with some -dbg libraries: libglib2.0-0-dbg libgtk2.0-0-dbg libgnomeui-0-dbg . I don't seem to have a -dbg package for gedit itself.


Backtrace was generated from '/usr/bin/gedit'

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1226266432 (LWP 24521)]
[New Thread -1263572064 (LWP 24528)]
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1226266432 (LWP 24521))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 libgnomeui_segv_handle
    at gnome-ui-init.c line 871
  • #3 <signal handler called>
  • #4 __kernel_vsyscall
  • #5 *__GI_raise
    from /lib/tls/i686/cmov/libc.so.6
  • #6 *__GI_abort
    from /lib/tls/i686/cmov/libc.so.6
  • #7 IA__g_logv
  • #8 IA__g_log
  • #9 IA__g_assert_warning
    at gmessages.c line 552
  • #10 gtk_file_chooser_default_should_respond
    at gtkfilechooserdefault.c line 7500
  • #11 _gtk_file_chooser_embed_should_respond
    at gtkfilechooserembed.c line 200
  • #12 delegate_should_respond
    at gtkfilechooserembed.c line 111
  • #13 _gtk_file_chooser_embed_should_respond
    at gtkfilechooserembed.c line 200
  • #14 response_cb
    at gtkfilechooserdialog.c line 550
  • #15 IA__g_cclosure_marshal_VOID__INT
    at gmarshal.c line 216
  • #16 IA__g_closure_invoke
    at gclosure.c line 490
  • #17 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #18 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #19 IA__g_signal_emit
    at gsignal.c line 2241
  • #20 IA__gtk_dialog_response
    at gtkdialog.c line 835
  • #21 action_widget_activated
    at gtkdialog.c line 534
  • #22 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #23 IA__g_closure_invoke
    at gclosure.c line 490
  • #24 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #25 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #26 IA__g_signal_emit
    at gsignal.c line 2241
  • #27 IA__gtk_button_clicked
    at gtkbutton.c line 889
  • #28 gtk_button_finish_activate
    at gtkbutton.c line 1557
  • #29 gtk_button_key_release
    at gtkbutton.c line 1414
  • #30 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 83
  • #31 g_type_class_meta_marshal
    at gclosure.c line 567
  • #32 IA__g_closure_invoke
    at gclosure.c line 490
  • #33 signal_emit_unlocked_R
    at gsignal.c line 2476
  • #34 IA__g_signal_emit_valist
    at gsignal.c line 2207
  • #35 IA__g_signal_emit
    at gsignal.c line 2241
  • #36 gtk_widget_event_internal
    at gtkwidget.c line 3901
  • #37 IA__gtk_propagate_event
    at gtkmain.c line 2176
  • #38 IA__gtk_main_do_event
    at gtkmain.c line 1444
  • #39 gdk_event_dispatch
    at gdkevents-x11.c line 2320
  • #40 IA__g_main_context_dispatch
    at gmain.c line 2043
  • #41 g_main_context_iterate
    at gmain.c line 2675
  • #42 IA__g_main_loop_run
    at gmain.c line 2879
  • #43 IA__gtk_main
    at gtkmain.c line 1023
  • #44 main
  • #0 __kernel_vsyscall

Comment 3 Paolo Maggi 2006-08-18 17:02:34 UTC
Thanks for the great reply.
I can reproduce the crash now.

On the stack trace I get:

Gtk-ERROR **: file gtkfilechooserdefault.c: line 7570 (gtk_file_chooser_default_should_respond): assertion failed: (path != NULL)


Here a stacktrace with all the debugging symbols (using gedit and gtk+ from CVS HEAD):

Backtrace was generated from '/opt/gnome/gnome-216/INSTALL/bin/gedit'

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1224603968 (LWP 2033)]
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1224603968 (LWP 2033))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 libgnomeui_segv_handle
    at gnome-ui-init.c line 867
  • #3 <signal handler called>
  • #4 __kernel_vsyscall
  • #5 raise
    from /lib/tls/i686/cmov/libc.so.6
  • #6 abort
    from /lib/tls/i686/cmov/libc.so.6
  • #7 IA__g_logv
  • #8 IA__g_log
    at gmessages.c line 517
  • #9 IA__g_assert_warning
    at gmessages.c line 552
  • #10 gtk_file_chooser_default_should_respond
    at gtkfilechooserdefault.c line 7500
  • #11 _gtk_file_chooser_embed_should_respond
    at gtkfilechooserembed.c line 200
  • #12 delegate_should_respond
    at gtkfilechooserembed.c line 111
  • #13 _gtk_file_chooser_embed_should_respond
    at gtkfilechooserembed.c line 200
  • #14 response_cb
    at gtkfilechooserdialog.c line 550
  • #15 IA__g_cclosure_marshal_VOID__INT
    at gmarshal.c line 216
  • #16 IA__g_closure_invoke
    at gclosure.c line 490
  • #17 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #18 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #19 IA__g_signal_emit
    at gsignal.c line 2241
  • #20 IA__gtk_dialog_response
    at gtkdialog.c line 835
  • #21 action_widget_activated
    at gtkdialog.c line 534
  • #22 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #23 IA__g_closure_invoke
    at gclosure.c line 490
  • #24 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #25 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #26 IA__g_signal_emit
    at gsignal.c line 2241
  • #27 IA__gtk_button_clicked
    at gtkbutton.c line 889
  • #28 gtk_real_button_released
    at gtkbutton.c line 1484
  • #29 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #30 g_type_class_meta_marshal
    at gclosure.c line 567
  • #31 IA__g_closure_invoke
    at gclosure.c line 490
  • #32 signal_emit_unlocked_R
    at gsignal.c line 2368
  • #33 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #34 IA__g_signal_emit
    at gsignal.c line 2241
  • #35 IA__gtk_button_released
    at gtkbutton.c line 881
  • #36 gtk_button_button_release
    at gtkbutton.c line 1377
  • #37 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 83
  • #38 g_type_class_meta_marshal
    at gclosure.c line 567
  • #39 IA__g_closure_invoke
    at gclosure.c line 490
  • #40 signal_emit_unlocked_R
    at gsignal.c line 2476
  • #41 IA__g_signal_emit_valist
    at gsignal.c line 2207
  • #42 IA__g_signal_emit
    at gsignal.c line 2241
  • #43 gtk_widget_event_internal
    at gtkwidget.c line 3901
  • #44 IA__gtk_propagate_event
    at gtkmain.c line 2187
  • #45 IA__gtk_main_do_event
    at gtkmain.c line 1421
  • #46 gdk_event_dispatch
    at gdkevents-x11.c line 2320
  • #47 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #48 g_main_context_iterate
    at gmain.c line 2677
  • #49 IA__g_main_loop_run
    at gmain.c line 2881
  • #50 IA__gtk_main
    at gtkmain.c line 1000
  • #51 main
    at gedit.c line 566
  • #0 __kernel_vsyscall

Comment 4 Kristian Rietveld 2006-08-22 20:23:31 UTC
This seems to happen because:
 1. gedit sets a current folder (which starts an async operation to verify whether the folder exists)
 2. Meanwhile gtk_file_chooser_default_map() is called and notices that a current folder verification is in progress (usually the map function sets the current folder to the current working directory if there's no folder given to display)
 3. The operation started in 1) is done, and the folder doesn't exist.  The file chooser appears without a current folder and pressing save causes the assert to be triggered.


One solution might be to have update_current_folder_get_info_cb() set the current folder to the current working directory if the folder which we were requested to set doesn't exist and if no current folder is currently set.  Is this a nice solution?  (It does sound reasonable to me and I tried it locally, and it fixes the problem).
Comment 5 Pascal Terjan 2006-08-23 10:06:49 UTC
I think this is a duplicate of #350988
Comment 6 Federico Mena Quintero 2006-08-30 15:57:02 UTC

*** This bug has been marked as a duplicate of 350988 ***
Comment 7 André Klapper 2006-11-16 00:56:37 UTC
*** Bug 375430 has been marked as a duplicate of this bug. ***
Comment 8 André Klapper 2006-11-16 00:57:25 UTC
*** Bug 375177 has been marked as a duplicate of this bug. ***
Comment 9 André Klapper 2006-11-16 00:57:32 UTC
*** Bug 375630 has been marked as a duplicate of this bug. ***
Comment 10 Paolo Borelli 2007-02-06 08:42:22 UTC
*** Bug 404813 has been marked as a duplicate of this bug. ***
Comment 11 Paolo Borelli 2007-02-06 08:42:42 UTC
*** Bug 404869 has been marked as a duplicate of this bug. ***
Comment 12 palfrey 2007-02-06 17:45:53 UTC
*** Bug 404882 has been marked as a duplicate of this bug. ***
Comment 13 palfrey 2007-02-07 23:56:07 UTC
*** Bug 405258 has been marked as a duplicate of this bug. ***
Comment 14 palfrey 2007-02-10 15:10:24 UTC
*** Bug 406375 has been marked as a duplicate of this bug. ***
Comment 15 palfrey 2007-02-10 15:10:30 UTC
*** Bug 406308 has been marked as a duplicate of this bug. ***
Comment 16 Susana 2007-02-13 10:20:36 UTC
*** Bug 407401 has been marked as a duplicate of this bug. ***
Comment 17 Claudio Saavedra 2007-02-15 14:42:20 UTC
*** Bug 408246 has been marked as a duplicate of this bug. ***
Comment 18 Susana 2007-02-21 08:21:41 UTC
*** Bug 410151 has been marked as a duplicate of this bug. ***
Comment 19 Pedro Villavicencio 2007-03-01 15:43:58 UTC
*** Bug 413450 has been marked as a duplicate of this bug. ***
Comment 20 Pedro Villavicencio 2007-03-15 02:35:59 UTC
*** Bug 418252 has been marked as a duplicate of this bug. ***
Comment 21 Susana 2007-03-22 17:24:13 UTC
*** Bug 420455 has been marked as a duplicate of this bug. ***
Comment 22 Pedro Villavicencio 2007-03-31 13:31:11 UTC
*** Bug 424803 has been marked as a duplicate of this bug. ***
Comment 23 Pedro Villavicencio 2007-04-07 23:38:59 UTC
*** Bug 427439 has been marked as a duplicate of this bug. ***
Comment 24 Pedro Villavicencio 2007-04-09 16:37:28 UTC
*** Bug 427904 has been marked as a duplicate of this bug. ***
Comment 25 Pedro Villavicencio 2007-04-12 13:38:44 UTC
*** Bug 428971 has been marked as a duplicate of this bug. ***
Comment 26 André Klapper 2007-04-12 22:23:47 UTC
*** Bug 428713 has been marked as a duplicate of this bug. ***
Comment 27 Pedro Villavicencio 2007-04-18 02:16:37 UTC
*** Bug 430581 has been marked as a duplicate of this bug. ***
Comment 28 Pedro Villavicencio 2007-04-20 01:12:53 UTC
*** Bug 431351 has been marked as a duplicate of this bug. ***
Comment 29 Pedro Villavicencio 2007-04-20 01:25:24 UTC
*** Bug 431263 has been marked as a duplicate of this bug. ***
Comment 30 Pedro Villavicencio 2007-05-08 00:57:06 UTC
*** Bug 436736 has been marked as a duplicate of this bug. ***
Comment 31 Pedro Villavicencio 2007-06-17 15:16:32 UTC
*** Bug 448244 has been marked as a duplicate of this bug. ***