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 335688 - Hang when closing windows with SMB resources
Hang when closing windows with SMB resources
Status: RESOLVED OBSOLETE
Product: gnome-vfs
Classification: Deprecated
Component: Async operations
2.16.x
Other Linux
: Normal critical
: ---
Assigned To: gnome-vfs maintainers
gnome-vfs maintainers
Depends on:
Blocks:
 
 
Reported: 2006-03-23 15:34 UTC by Kjartan Maraas
Modified: 2009-09-01 08:47 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16



Description Kjartan Maraas 2006-03-23 15:34:05 UTC
I had opened a lot of folders on a Windows 2003 server and started closing them when this happened. It just hangs there and won't respond. Backtrace from gdb:

(gdb) bt

Comment 1 Kjartan Maraas 2006-05-30 10:48:49 UTC
Got a similar situation where nautilus crashed. I was presented with an authentication dialog along with the crash dialog:

(gdb) bt
  • #0 ??
  • #1 ??
    from /lib/libpthread.so.0
  • #2 libgnomeui_segv_handle
    at gnome-ui-init.c line 812
  • #3 <signal handler called>
  • #4 g_type_class_meta_marshal
    at gclosure.c line 565
  • #5 IA__g_closure_invoke
    at gclosure.c line 490
  • #6 signal_emit_unlocked_R
    at gsignal.c line 2368
  • #7 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #8 IA__g_signal_emit
    at gsignal.c line 2241
  • #9 handle_keys_changed
    at gtkwindow.c line 1372
  • #10 g_idle_dispatch
    at gmain.c line 3796
  • #11 IA__g_main_context_dispatch
    at gmain.c line 1916
  • #12 g_main_context_iterate
    at gmain.c line 2547
  • #13 IA__g_main_loop_run
    at gmain.c line 2751
  • #14 IA__gtk_dialog_run
    at gtkdialog.c line 996
  • #15 gnome_password_dialog_run_and_block
    at gnome-password-dialog.c line 502
  • #16 vfs_full_authentication_callback
    at gnome-authentication-manager.c line 372
  • #17 gnome_vfs_module_callback_invoke
    at gnome-vfs-module-callback.c line 891
  • #18 _gnome_vfs_module_callback_demarshal_invoke
    at gnome-vfs-module-callback-marshall.c line 876
  • #19 module_callback_invoke
    at gnome-vfs-client-call.c line 65
  • #20 _ORBIT_skel_small_GNOME_VFS_ClientCall_ModuleCallbackInvoke
    at GNOME_VFS_Daemon-common.c line 44
  • #21 ORBit_POAObject_invoke
    at poa.c line 1145
  • #22 ORBit_OAObject_invoke
    at orbit-adaptor.c line 336
  • #23 ORBit_small_invoke_adaptor
    at orbit-small.c line 835
  • #24 ORBit_POAObject_handle_request
    at poa.c line 1354
  • #25 ORBit_POAObject_invoke_incoming_request
    at poa.c line 1422
  • #26 giop_thread_queue_process
    at giop.c line 774
  • #27 giop_recv_buffer_get
    at giop-recv-buffer.c line 705
  • #28 ORBit_small_invoke_stub
    at orbit-small.c line 657
  • #29 ORBit_small_invoke_stub_n
    at orbit-small.c line 575
  • #30 ORBit_c_stub_invoke
    at poa.c line 2644
  • #31 GNOME_VFS_AsyncDaemon_GetFileInfo
    at GNOME_VFS_Daemon-stubs.c line 290
  • #32 do_get_file_info
    at gnome-vfs-daemon-method.c line 673
  • #33 gnome_vfs_get_file_info_uri_cancellable
    at gnome-vfs-cancellable-ops.c line 201
  • #34 gnome_vfs_get_file_info_uri
    at gnome-vfs-ops.c line 330
  • #35 _gnome_vfs_uri_resolve_all_symlinks_uri
    at gnome-vfs-utils.c line 1991
  • #36 gnome_vfs_find_directory_cancellable
    at gnome-vfs-cancellable-ops.c line 307
  • #37 gnome_vfs_find_directory
    at gnome-vfs-find-directory.c line 63
  • #38 eel_uri_is_in_trash
    at eel-vfs-extensions.c line 597
  • #39 nautilus_file_is_in_trash
    at nautilus-file.c line 5172
  • #40 bookmark_file_changed_callback
    at nautilus-bookmark.c line 364
  • #41 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #42 IA__g_closure_invoke
    at gclosure.c line 490
  • #43 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #44 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #45 IA__g_signal_emit
    at gsignal.c line 2241
  • #46 nautilus_file_emit_changed
    at nautilus-file.c line 5398
  • #47 nautilus_directory_emit_change_signals
    at nautilus-directory.c line 762
  • #48 nautilus_file_changed
    at nautilus-file.c line 5344
  • #49 nautilus_file_set_has_open_window
    at nautilus-file.c line 5628
  • #50 nautilus_window_set_viewed_file
    at nautilus-window.c line 1300
  • #51 nautilus_window_finalize
    at nautilus-window.c line 615
  • #52 IA__g_object_unref
    at gobject.c line 1762
  • #53 IA__gtk_propagate_event
    at gtkmain.c line 2201
  • #54 IA__gtk_main_do_event
    at gtkmain.c line 1420
  • #55 gdk_event_dispatch
    at gdkevents-x11.c line 2314
  • #56 IA__g_main_context_dispatch
  • #57 g_main_context_iterate
    at gmain.c line 2547
  • #58 IA__g_main_loop_run
    at gmain.c line 2751
  • #59 IA__gtk_main
    at gtkmain.c line 999
  • #60 main
    at nautilus-main.c line 356
  • #61 __libc_start_main
    at libc-start.c line 231
  • #62 _start

Comment 2 Nickolay V. Shmyrev 2006-06-01 13:41:28 UTC
*** Bug 343347 has been marked as a duplicate of this bug. ***
Comment 3 Nickolay V. Shmyrev 2006-06-01 13:42:39 UTC
Looks like strange things are happen when we are running a dialog while GDK_THREADS are locked. Probably it's gtk bug.
Comment 4 Nickolay V. Shmyrev 2006-06-01 14:17:24 UTC
Oh, forgot about it. The reason of evince bug was in missing gdk_threads_init (I suspect it was called somewere). After addtion of initialization call everything start working fine. 

Although it seems rather strange that gnome-vfs doesn't init gdk threads somewhere. They are used in gnome-vfs, why should I care about it?
Comment 5 Nickolay V. Shmyrev 2006-06-01 14:27:19 UTC
Btw, nautilus also doesn't initialize gdk threads. See bug 312894 for details.
Comment 6 Nickolay V. Shmyrev 2006-06-01 14:46:39 UTC
I've also filed bug 343601 against libgnomeui gnome_authentication_manager_init should init gdk threads
Comment 7 Alexander Larsson 2006-06-09 09:06:54 UTC
Gnome-vfs does not use gdk threads. Enabling gdk threads would force all apps that link to gnome-vfs to be threadsafe wrt the gdk lock, or things could deadlock. Doing that for no reason is very bad.

Looking at the backtraces for this bug it seems more likely that the corba communication with the vfs daemon is causing issues rather than the gdk lock.
Comment 8 Christian Neumair 2006-07-14 15:27:45 UTC
Changing version to 2.14 because we don't depend on CORBA anymore.
Comment 9 Kjartan Maraas 2006-09-12 12:04:48 UTC
This appears to happen with the dbus-using gnome-vfs too. I got a hanging nautilus today when closing a window that had been left open for a long time. It showed the (greyed out) auth dialog and hung. gdb gave me this backtrace:

(gdb) bt
  • #0 __kernel_vsyscall
  • #1 ??
    from /lib/libpthread.so.0
  • #2 dbus_g_object_path_get_g_type
    from /usr/lib/libdbus-glib-1.so.2
  • #3 _dbus_condvar_wait
    at dbus-threads.c line 241
  • #4 _dbus_connection_acquire_dispatch
    at dbus-connection.c line 3312
  • #5 dbus_connection_dispatch
    at dbus-connection.c line 3588
  • #6 _dbus_connection_read_write_dispatch
    at dbus-connection.c line 2931
  • #7 execute_operation
    at gnome-vfs-daemon-method.c line 635
  • #8 do_get_file_info
    at gnome-vfs-daemon-method.c line 1299
  • #9 gnome_vfs_get_file_info_uri_cancellable
    at gnome-vfs-cancellable-ops.c line 201
  • #10 gnome_vfs_get_file_info_uri
    at gnome-vfs-ops.c line 332
  • #11 _gnome_vfs_uri_resolve_all_symlinks_uri
    at gnome-vfs-utils.c line 1972
  • #12 gnome_vfs_find_directory_cancellable
    at gnome-vfs-cancellable-ops.c line 320
  • #13 gnome_vfs_find_directory
    at gnome-vfs-find-directory.c line 63
  • #14 eel_uri_is_in_trash
    at eel-vfs-extensions.c line 597
  • #15 nautilus_file_is_in_trash
    at nautilus-file.c line 5233
  • #16 showing_trash_directory
    at fm-directory-view.c line 7141
  • #17 real_supports_creating_files
    at fm-directory-view.c line 9278
  • #18 fm_directory_view_supports_creating_files
    at fm-directory-view.c line 9244
  • #19 real_update_menus
    at fm-directory-view.c line 7615
  • #20 fm_icon_view_update_menus
    at fm-icon-view.c line 1561
  • #21 fm_directory_view_update_menus
    at fm-directory-view.c line 9354
  • #22 update_menus_timeout_callback
    at fm-directory-view.c line 2925
  • #23 g_timeout_dispatch
    at gmain.c line 3422
  • #24 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #25 g_main_context_iterate
    at gmain.c line 2677
  • #26 IA__g_main_loop_run
    at gmain.c line 2881
  • #27 IA__gtk_dialog_run
    at gtkdialog.c line 996
  • #28 gnome_password_dialog_run_and_block
    at gnome-password-dialog.c line 502
  • #29 vfs_full_authentication_callback
    at gnome-authentication-manager.c line 372
  • #30 gnome_vfs_module_callback_invoke
    at gnome-vfs-module-callback.c line 891
  • #31 _gnome_vfs_module_callback_demarshal_invoke
  • #32 connection_message_func
    at gnome-vfs-daemon-method.c line 799
  • #33 _dbus_object_tree_dispatch_and_unlock
    at dbus-object-tree.c line 842
  • #34 dbus_connection_dispatch
    at dbus-connection.c line 3725
  • #35 _dbus_connection_read_write_dispatch
    at dbus-connection.c line 2931
  • #36 execute_operation
    at gnome-vfs-daemon-method.c line 635
  • #37 do_get_file_info
    at gnome-vfs-daemon-method.c line 1299
  • #38 gnome_vfs_get_file_info_uri_cancellable
    at gnome-vfs-cancellable-ops.c line 201
  • #39 gnome_vfs_get_file_info_uri
    at gnome-vfs-ops.c line 332
  • #40 _gnome_vfs_uri_resolve_all_symlinks_uri
    at gnome-vfs-utils.c line 1972
  • #41 gnome_vfs_find_directory_cancellable
    at gnome-vfs-cancellable-ops.c line 320
  • #42 gnome_vfs_find_directory
    at gnome-vfs-find-directory.c line 63
  • #43 eel_uri_is_in_trash
    at eel-vfs-extensions.c line 597
  • #44 nautilus_file_is_in_trash
    at nautilus-file.c line 5233
  • #45 bookmark_file_changed_callback
    at nautilus-bookmark.c line 364
  • #46 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #47 IA__g_closure_invoke
    at gclosure.c line 490
  • #48 signal_emit_unlocked_R
  • #49 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #50 IA__g_signal_emit
    at gsignal.c line 2241
  • #51 nautilus_file_emit_changed
    at nautilus-file.c line 5459
  • #52 nautilus_directory_emit_change_signals
    at nautilus-directory.c line 770
  • #53 corba_metafile_changed
    at nautilus-directory-metafile-monitor.c line 98
  • #54 ORBit_c_stub_invoke
    at poa.c line 2630
  • #55 Nautilus_MetafileMonitor_metafile_changed
    at nautilus-shell-interface-stubs.c line 12
  • #56 call_metafile_changed_for_one_file
    at nautilus-metafile.c line 841
  • #57 ORBit_c_stub_invoke
    at poa.c line 2630
  • #58 Nautilus_Metafile_set
    at nautilus-shell-interface-stubs.c line 56
  • #59 nautilus_directory_set_file_metadata
    at nautilus-directory-metafile.c line 311
  • #60 nautilus_file_set_metadata
    at nautilus-file.c line 2482
  • #61 nautilus_spatial_window_save_scroll_position
    at nautilus-spatial-window.c line 284
  • #62 real_window_close
    at nautilus-spatial-window.c line 455
  • #63 nautilus_window_close
    at nautilus-window.c line 692
  • #64 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #65 IA__g_closure_invoke
    at gclosure.c line 490
  • #66 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #67 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #68 IA__g_signal_emit
    at gsignal.c line 2241
  • #69 _gtk_action_emit_activate
    at gtkaction.c line 835
  • #70 closure_accel_activate
    at gtkaction.c line 1602
  • #71 IA__g_closure_invoke
  • #72 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #73 IA__g_signal_emit_valist
    at gsignal.c line 2207
  • #74 IA__g_signal_emit
    at gsignal.c line 2241
  • #75 IA__gtk_accel_group_activate
    at gtkaccelgroup.c line 736
  • #76 IA__gtk_accel_groups_activate
    at gtkaccelgroup.c line 774
  • #77 IA__gtk_window_activate_key
    at gtkwindow.c line 7704
  • #78 gtk_window_key_press_event
    at gtkwindow.c line 4697
  • #79 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 83
  • #80 g_type_class_meta_marshal
  • #81 IA__g_closure_invoke
    at gclosure.c line 490
  • #82 signal_emit_unlocked_R
    at gsignal.c line 2476
  • #83 IA__g_signal_emit_valist
    at gsignal.c line 2207
  • #84 IA__g_signal_emit
    at gsignal.c line 2241
  • #85 gtk_widget_event_internal
    at gtkwidget.c line 3901
  • #86 IA__gtk_propagate_event
    at gtkmain.c line 2162
  • #87 IA__gtk_main_do_event
    at gtkmain.c line 1422
  • #88 gdk_event_dispatch
    at gdkevents-x11.c line 2320
  • #89 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #90 g_main_context_iterate
    at gmain.c line 2677
  • #91 IA__g_main_loop_run
    at gmain.c line 2881
  • #92 IA__gtk_main
    at gtkmain.c line 1001
  • #93 main
    at nautilus-main.c line 371
  • #94 __libc_start_main
    at libc-start.c line 231
  • #95 _start

Comment 10 Kjartan Maraas 2009-09-01 08:47:47 UTC
Closing this as I have no way to test it anymore.