GNOME Bugzilla – Bug 773300
Error when clicking to see recent files and folders
Last modified: 2017-04-13 11:08:23 UTC
Hello, I've found a problem in Nautilus. It's very annoying to me. It's not critical but I don't like it. The bug it's when opening recent files. It says "Message recipient disconnected message bus without replying". Log: Oct 20 08:55:01 filipe-desktop nautilus[7219]: g_dbus_interface_skeleton_unexport: assertion 'interface_->priv->connections != NULL' failed Oct 20 08:55:01 filipe-desktop nautilus[7219]: g_dbus_interface_skeleton_unexport: assertion 'interface_->priv->connections != NULL' failed Oct 20 08:55:03 filipe-desktop gvfsd-recent[7227]: cannot open display: Oct 20 08:55:03 filipe-desktop gvfsd[1399]: dbus_mount_reply: Error from org.gtk.vfs.Mountable.mount(): Message recipient disconnected from message bus without replying Oct 20 08:55:03 filipe-desktop gvfsd-recent[7233]: cannot open display: Oct 20 08:55:03 filipe-desktop gvfsd[1399]: dbus_mount_reply: Error from org.gtk.vfs.Mountable.mount(): Message recipient disconnected from message bus without replying I know how to program well, but I don't understand how can I do it in Linux/Ubuntu? I use Eclipse? How to compile? And how to debug and test? Thank you. Filipe
Thanks for your bug report. It sounds like gvfsd-recent crashed from some reason, so maybe it is rather bug in GVfs. What versions of nautilus and gvfs do you have? Do you see similar messages when you run the following: gvfs-ls -a "standard::display-name" recent:/// We need some more data if gvfsd-recent really crashes for you. I think that you can use Aport for it in Ubuntu: https://wiki.ubuntu.com/Apport
(In reply to Ondrej Holy from comment #1) > Thanks for your bug report. It sounds like gvfsd-recent crashed from some > reason, so maybe it is rather bug in GVfs. > > What versions of nautilus and gvfs do you have? > > Do you see similar messages when you run the following: > gvfs-ls -a "standard::display-name" recent:/// > > We need some more data if gvfsd-recent really crashes for you. I think that > you can use Aport for it in Ubuntu: > https://wiki.ubuntu.com/Apport When I put the following command: gvfs-ls -a "standard::display-name" recent:/// I receive: Error: Fail auto mounting: Message recipient disconnected from message bus without replying So it must be a problem in GVfs. But how can I send you the Apport report if it didn't crashed. It only opens a warning window. I send you a more information from syslog: Oct 21 09:19:52 filipe-desktop gvfsd-network[8523]: Couldn't create directory monitor on smb://x-gnome-default-workgroup/. Error: Operação não é suportada pelo motor Oct 21 09:20:31 filipe-desktop gvfsd[1458]: Failed to connect to Mir: Failed to connect to server socket: Ficheiro ou directoria inexistente Oct 21 09:20:31 filipe-desktop gvfsd[1458]: Unable to init server: impossível ligar: Ligação recusada Oct 21 09:20:31 filipe-desktop gvfsd-recent[8566]: cannot open display: Oct 21 09:20:31 filipe-desktop gvfsd[1458]: dbus_mount_reply: Error from org.gtk.vfs.Mountable.mount(): Message recipient disconnected from message bus without replying Oct 21 09:20:31 filipe-desktop gvfsd[1458]: Failed to connect to Mir: Failed to connect to server socket: Ficheiro ou directoria inexistente Oct 21 09:20:31 filipe-desktop gvfsd[1458]: Unable to init server: impossível ligar: Ligação recusada Oct 21 09:20:31 filipe-desktop gvfsd-recent[8572]: cannot open display: Oct 21 09:20:31 filipe-desktop gvfsd[1458]: dbus_mount_reply: Error from org.gtk.vfs.Mountable.mount(): Message recipient disconnected from message bus without replying I've nautilus - -version: GNOME nautilus 3.20.3 (nautilus:8308): GLib-GIO-CRITICAL **: g_dbus_interface_skeleton_unexport: assertion 'interface_->priv->connections != NULL' failed (nautilus:8308): GLib-GIO-CRITICAL **: g_dbus_interface_skeleton_unexport: assertion 'interface_->priv->connections != NULL' failed __________________________________________ gvfs versions?? deja-dup-backend-gvfs 34.2-0ubuntu3 gvfs:amd64 1.28.2-1ubuntu2 gvfs-backends 1.28.2-1ubuntu2 gvfs-bin 1.28.2-1ubuntu2 gvfs-common 1.28.2-1ubuntu2 gvfs-daemons 1.28.2-1ubuntu2 gvfs-fuse 1.28.2-1ubuntu2 gvfs-libs:amd64 1.28.2-1ubuntu2
Created attachment 338168 [details] Error
Mir? Are you running Unity 8 or so?
Thanks for the info. Nautilus, nor gvfs-ls did not crash, but I suppose that gvfsd-recent crashed. So, it should be automatically detected by Apport if you enable it... What happens if you run gvfsd-recent directly? pkill gvfsd-recent; GVFS_DEBUG=1 /usr/lib/gvfs/gvfsd-recent (I hope that the path is ok for Ubuntu)
(In reply to Ondrej Holy from comment #5) > Thanks for the info. Nautilus, nor gvfs-ls did not crash, but I suppose that > gvfsd-recent crashed. So, it should be automatically detected by Apport if > you enable it... > > What happens if you run gvfsd-recent directly? > pkill gvfsd-recent; GVFS_DEBUG=1 /usr/lib/gvfs/gvfsd-recent > (I hope that the path is ok for Ubuntu) I'm not running Unity 8 but I've tested it. Could it be that caused this problem? Great, if I do this command and click recent it opens OK. It appears all the recents files. I send you the terminal info. It gives error in GVfsJobPull: pkill gvfsd-recent; GVFS_DEBUG=1 /usr/lib/gvfs/gvfsd-recent Added new job source 0x55fee2c01870 (GVfsBackendRecent) Queued new job 0x55fee2c7b320 (GVfsJobMount) send_reply(0x55fee2c7b320), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:QueryInfo Queued new job 0x55fee2c41840 (GVfsJobQueryInfo) send_reply(0x55fee2c41840), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:CreateDirectoryMonitor Queued new job 0x55fee2e5f860 (GVfsJobCreateMonitor) send_reply(0x55fee2e5f860), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:QueryFilesystemInfo Queued new job 0x55fee2e5faa0 (GVfsJobQueryFsInfo) send_reply(0x55fee2e5faa0), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:Enumerate Queued new job 0x55fee2c90f10 (GVfsJobEnumerate) send_reply(0x55fee2c90f10), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:QueryInfo Queued new job 0x55fee2c41980 (GVfsJobQueryInfo) send_reply(0x55fee2c41980), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:QueryInfo Queued new job 0x55fee2c41a20 (GVfsJobQueryInfo) send_reply(0x55fee2c41a20), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:QueryInfo Queued new job 0x55fee2c41b60 (GVfsJobQueryInfo) send_reply(0x55fee2c41b60), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:OpenForRead Queued new job 0x55fee2c41b60 (GVfsJobOpenForRead) send_reply(0x55fee2c41b60), failed=0 () Added new job source 0x55fee2c01950 (GVfsReadChannel) Queued new job 0x55fee2e5fbc0 (GVfsJobRead) send_reply(0x55fee2e5fbc0), bytes=4096, failed=0 () Queued new job 0x55fee2e5fb30 (GVfsJobRead) send_reply(0x55fee2e5fb30), bytes=8192, failed=0 () Queued new job 0x55fee2e5faa0 (GVfsJobRead) send_reply(0x55fee2e5faa0), bytes=4191, failed=0 () Queued new job 0x55fee2e5f860 (GVfsJobRead) send_reply(0x55fee2e5f860), bytes=0, failed=0 () Queued new job 0x55fee2e5f860 (GVfsJobRead) send_reply(0x55fee2e5f860), bytes=0, failed=0 () Queued new job 0x7fd62800d1a0 (GVfsJobCloseRead) send_reply(0x7fd62800d1a0), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:QueryInfo Queued new job 0x55fee2c41ac0 (GVfsJobQueryInfo) send_reply(0x55fee2c41ac0), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:Enumerate Queued new job 0x55fee2db8ae0 (GVfsJobEnumerate) send_reply(0x55fee2db8ae0), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:Pull Remove Source: false Queued new job 0x55fee2c019a0 (GVfsJobPull) send_reply(0x55fee2c019a0), failed=1 (Operação não é suportada pelo motor) backend_dbus_handler org.gtk.vfs.Mount:QueryInfo Queued new job 0x55fee2c41980 (GVfsJobQueryInfo) send_reply(0x55fee2c41980), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:OpenForRead Queued new job 0x55fee2beff30 (GVfsJobOpenForRead) send_reply(0x55fee2beff30), failed=0 () Added new job source 0x55fee2c01ad0 (GVfsReadChannel) Queued new job 0x55fee2e5f860 (GVfsJobQueryInfoRead) Queued new job 0x55fee2e5f860 (GVfsJobRead) send_reply(0x55fee2e5f860), bytes=65536, failed=0 () Queued new job 0x55fee2e5f860 (GVfsJobRead) send_reply(0x55fee2e5f860), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=16384, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=65536, failed=0 () Queued new job 0x55fee2e5ff20 (GVfsJobRead) send_reply(0x55fee2e5ff20), bytes=65536, failed=0 () Queued new job 0x55fee2d57050 (GVfsJobRead) send_reply(0x55fee2d57050), bytes=65536, failed=0 () Queued new job 0x55fee2d570e0 (GVfsJobRead) send_reply(0x55fee2d570e0), bytes=65536, failed=0 () Queued new job 0x55fee2d57170 (GVfsJobRead) send_reply(0x55fee2d57170), bytes=65536, failed=0 () Queued new job 0x55fee2d57200 (GVfsJobRead) send_reply(0x55fee2d57200), bytes=65536, failed=0 () Queued new job 0x55fee2d57290 (GVfsJobRead) send_reply(0x55fee2d57290), bytes=65536, failed=0 () Queued new job 0x55fee2d57320 (GVfsJobRead) send_reply(0x55fee2d57320), bytes=65536, failed=0 () Queued new job 0x55fee2d573b0 (GVfsJobRead) send_reply(0x55fee2d573b0), bytes=65536, failed=0 () Queued new job 0x55fee2d57440 (GVfsJobRead) send_reply(0x55fee2d57440), bytes=65536, failed=0 () Queued new job 0x55fee2d573b0 (GVfsJobRead) send_reply(0x55fee2d573b0), bytes=65536, failed=0 () Queued new job 0x55fee2d57320 (GVfsJobRead) send_reply(0x55fee2d57320), bytes=65536, failed=0 () Queued new job 0x55fee2d57290 (GVfsJobRead) send_reply(0x55fee2d57290), bytes=65536, failed=0 () Queued new job 0x55fee2d57200 (GVfsJobRead) send_reply(0x55fee2d57200), bytes=65536, failed=0 () Queued new job 0x55fee2d57170 (GVfsJobRead) send_reply(0x55fee2d57170), bytes=65536, failed=0 () Queued new job 0x55fee2d570e0 (GVfsJobRead) send_reply(0x55fee2d570e0), bytes=65536, failed=0 () Queued new job 0x55fee2d57050 (GVfsJobRead) send_reply(0x55fee2d57050), bytes=65536, failed=0 () Queued new job 0x55fee2e5ff20 (GVfsJobRead) send_reply(0x55fee2e5ff20), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=65536, failed=0 () Queued new job 0x55fee2e5f860 (GVfsJobRead) send_reply(0x55fee2e5f860), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=65536, failed=0 () Queued new job 0x55fee2e5ff20 (GVfsJobRead) send_reply(0x55fee2e5ff20), bytes=65536, failed=0 () Queued new job 0x55fee2d57050 (GVfsJobRead) send_reply(0x55fee2d57050), bytes=65536, failed=0 () Queued new job 0x55fee2d570e0 (GVfsJobRead) send_reply(0x55fee2d570e0), bytes=65536, failed=0 () Queued new job 0x55fee2d57170 (GVfsJobRead) send_reply(0x55fee2d57170), bytes=65536, failed=0 () Queued new job 0x55fee2d57200 (GVfsJobRead) send_reply(0x55fee2d57200), bytes=65536, failed=0 () Queued new job 0x55fee2d57290 (GVfsJobRead) send_reply(0x55fee2d57290), bytes=65536, failed=0 () Queued new job 0x55fee2d57320 (GVfsJobRead) send_reply(0x55fee2d57320), bytes=65536, failed=0 () Queued new job 0x55fee2d573b0 (GVfsJobRead) send_reply(0x55fee2d573b0), bytes=65536, failed=0 () Queued new job 0x55fee2d57440 (GVfsJobRead) send_reply(0x55fee2d57440), bytes=65536, failed=0 () Queued new job 0x55fee2d573b0 (GVfsJobRead) send_reply(0x55fee2d573b0), bytes=65536, failed=0 () Queued new job 0x55fee2d57320 (GVfsJobRead) send_reply(0x55fee2d57320), bytes=65536, failed=0 () Queued new job 0x55fee2d57290 (GVfsJobRead) send_reply(0x55fee2d57290), bytes=65536, failed=0 () Queued new job 0x55fee2d57200 (GVfsJobRead) send_reply(0x55fee2d57200), bytes=65536, failed=0 () Queued new job 0x55fee2d57170 (GVfsJobRead) send_reply(0x55fee2d57170), bytes=65536, failed=0 () Queued new job 0x55fee2d570e0 (GVfsJobRead) send_reply(0x55fee2d570e0), bytes=65536, failed=0 () Queued new job 0x55fee2d57050 (GVfsJobRead) send_reply(0x55fee2d57050), bytes=65536, failed=0 () Queued new job 0x55fee2e5ff20 (GVfsJobRead) send_reply(0x55fee2e5ff20), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=65536, failed=0 () Queued new job 0x55fee2e5f860 (GVfsJobRead) send_reply(0x55fee2e5f860), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=65536, failed=0 () Queued new job 0x55fee2e5ff20 (GVfsJobRead) send_reply(0x55fee2e5ff20), bytes=65536, failed=0 () Queued new job 0x55fee2d57050 (GVfsJobRead) send_reply(0x55fee2d57050), bytes=65536, failed=0 () Queued new job 0x55fee2d570e0 (GVfsJobRead) send_reply(0x55fee2d570e0), bytes=65536, failed=0 () Queued new job 0x55fee2d57170 (GVfsJobRead) send_reply(0x55fee2d57170), bytes=65536, failed=0 () Queued new job 0x55fee2d57200 (GVfsJobRead) send_reply(0x55fee2d57200), bytes=65536, failed=0 () Queued new job 0x55fee2d57290 (GVfsJobRead) send_reply(0x55fee2d57290), bytes=65536, failed=0 () Queued new job 0x55fee2d57320 (GVfsJobRead) send_reply(0x55fee2d57320), bytes=65536, failed=0 () Queued new job 0x55fee2d573b0 (GVfsJobRead) send_reply(0x55fee2d573b0), bytes=65536, failed=0 () Queued new job 0x55fee2d57440 (GVfsJobRead) send_reply(0x55fee2d57440), bytes=65536, failed=0 () Queued new job 0x55fee2d573b0 (GVfsJobRead) send_reply(0x55fee2d573b0), bytes=65536, failed=0 () Queued new job 0x55fee2d57320 (GVfsJobRead) send_reply(0x55fee2d57320), bytes=65536, failed=0 () Queued new job 0x55fee2d57290 (GVfsJobRead) send_reply(0x55fee2d57290), bytes=65536, failed=0 () Queued new job 0x55fee2d57200 (GVfsJobRead) send_reply(0x55fee2d57200), bytes=65536, failed=0 () Queued new job 0x55fee2d57170 (GVfsJobRead) send_reply(0x55fee2d57170), bytes=65536, failed=0 () Queued new job 0x55fee2d570e0 (GVfsJobRead) send_reply(0x55fee2d570e0), bytes=65536, failed=0 () Queued new job 0x55fee2d57050 (GVfsJobRead) send_reply(0x55fee2d57050), bytes=65536, failed=0 () Queued new job 0x55fee2e5ff20 (GVfsJobRead) send_reply(0x55fee2e5ff20), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=65536, failed=0 () Queued new job 0x55fee2e5f860 (GVfsJobRead) send_reply(0x55fee2e5f860), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=65536, failed=0 () Queued new job 0x55fee2e5ff20 (GVfsJobRead) send_reply(0x55fee2e5ff20), bytes=65536, failed=0 () Queued new job 0x55fee2d57050 (GVfsJobRead) send_reply(0x55fee2d57050), bytes=65536, failed=0 () Queued new job 0x55fee2d570e0 (GVfsJobRead) send_reply(0x55fee2d570e0), bytes=65536, failed=0 () Queued new job 0x55fee2d57170 (GVfsJobRead) send_reply(0x55fee2d57170), bytes=65536, failed=0 () Queued new job 0x55fee2d57200 (GVfsJobRead) send_reply(0x55fee2d57200), bytes=65536, failed=0 () Queued new job 0x55fee2d57290 (GVfsJobRead) send_reply(0x55fee2d57290), bytes=65536, failed=0 () Queued new job 0x55fee2d57320 (GVfsJobRead) send_reply(0x55fee2d57320), bytes=65536, failed=0 () Queued new job 0x55fee2d573b0 (GVfsJobRead) send_reply(0x55fee2d573b0), bytes=65536, failed=0 () Queued new job 0x55fee2d57440 (GVfsJobRead) send_reply(0x55fee2d57440), bytes=65536, failed=0 () Queued new job 0x55fee2d573b0 (GVfsJobRead) send_reply(0x55fee2d573b0), bytes=65536, failed=0 () Queued new job 0x55fee2d57320 (GVfsJobRead) send_reply(0x55fee2d57320), bytes=65536, failed=0 () Queued new job 0x55fee2d57290 (GVfsJobRead) send_reply(0x55fee2d57290), bytes=65536, failed=0 () Queued new job 0x55fee2d57200 (GVfsJobRead) send_reply(0x55fee2d57200), bytes=65536, failed=0 () Queued new job 0x55fee2d57170 (GVfsJobRead) send_reply(0x55fee2d57170), bytes=65536, failed=0 () Queued new job 0x55fee2d570e0 (GVfsJobRead) send_reply(0x55fee2d570e0), bytes=65536, failed=0 () Queued new job 0x55fee2d57050 (GVfsJobRead) send_reply(0x55fee2d57050), bytes=65536, failed=0 () Queued new job 0x55fee2e5ff20 (GVfsJobRead) send_reply(0x55fee2e5ff20), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=65536, failed=0 () Queued new job 0x55fee2e5f860 (GVfsJobRead) send_reply(0x55fee2e5f860), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=65536, failed=0 () Queued new job 0x55fee2e5ff20 (GVfsJobRead) send_reply(0x55fee2e5ff20), bytes=65536, failed=0 () Queued new job 0x55fee2d57050 (GVfsJobRead) send_reply(0x55fee2d57050), bytes=65536, failed=0 () Queued new job 0x55fee2d570e0 (GVfsJobRead) send_reply(0x55fee2d570e0), bytes=65536, failed=0 () Queued new job 0x55fee2d57170 (GVfsJobRead) send_reply(0x55fee2d57170), bytes=65536, failed=0 () Queued new job 0x55fee2d57200 (GVfsJobRead) send_reply(0x55fee2d57200), bytes=65536, failed=0 () Queued new job 0x55fee2d57290 (GVfsJobRead) send_reply(0x55fee2d57290), bytes=65536, failed=0 () Queued new job 0x55fee2d57320 (GVfsJobRead) send_reply(0x55fee2d57320), bytes=65536, failed=0 () Queued new job 0x55fee2d573b0 (GVfsJobRead) send_reply(0x55fee2d573b0), bytes=65536, failed=0 () Queued new job 0x55fee2d57440 (GVfsJobRead) send_reply(0x55fee2d57440), bytes=65536, failed=0 () Queued new job 0x55fee2d573b0 (GVfsJobRead) send_reply(0x55fee2d573b0), bytes=65536, failed=0 () Queued new job 0x55fee2d57320 (GVfsJobRead) send_reply(0x55fee2d57320), bytes=65536, failed=0 () Queued new job 0x55fee2d57290 (GVfsJobRead) send_reply(0x55fee2d57290), bytes=65536, failed=0 () Queued new job 0x55fee2d57200 (GVfsJobRead) send_reply(0x55fee2d57200), bytes=65536, failed=0 () Queued new job 0x55fee2d57170 (GVfsJobRead) send_reply(0x55fee2d57170), bytes=65536, failed=0 () Queued new job 0x55fee2d570e0 (GVfsJobRead) send_reply(0x55fee2d570e0), bytes=65536, failed=0 () Queued new job 0x55fee2d57050 (GVfsJobRead) send_reply(0x55fee2d57050), bytes=65536, failed=0 () Queued new job 0x55fee2e5ff20 (GVfsJobRead) send_reply(0x55fee2e5ff20), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=65536, failed=0 () Queued new job 0x55fee2e5f860 (GVfsJobRead) send_reply(0x55fee2e5f860), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=65536, failed=0 () Queued new job 0x55fee2e5ff20 (GVfsJobRead) send_reply(0x55fee2e5ff20), bytes=65536, failed=0 () Queued new job 0x55fee2d57050 (GVfsJobRead) send_reply(0x55fee2d57050), bytes=65536, failed=0 () Queued new job 0x55fee2d570e0 (GVfsJobRead) send_reply(0x55fee2d570e0), bytes=65536, failed=0 () Queued new job 0x55fee2d57170 (GVfsJobRead) send_reply(0x55fee2d57170), bytes=65536, failed=0 () Queued new job 0x55fee2d57200 (GVfsJobRead) send_reply(0x55fee2d57200), bytes=65536, failed=0 () Queued new job 0x55fee2d57290 (GVfsJobRead) send_reply(0x55fee2d57290), bytes=65536, failed=0 () Queued new job 0x55fee2d57320 (GVfsJobRead) send_reply(0x55fee2d57320), bytes=65536, failed=0 () Queued new job 0x55fee2d573b0 (GVfsJobRead) send_reply(0x55fee2d573b0), bytes=65536, failed=0 () Queued new job 0x55fee2d57440 (GVfsJobRead) send_reply(0x55fee2d57440), bytes=65536, failed=0 () Queued new job 0x55fee2d573b0 (GVfsJobRead) send_reply(0x55fee2d573b0), bytes=65536, failed=0 () Queued new job 0x55fee2d57320 (GVfsJobRead) send_reply(0x55fee2d57320), bytes=65536, failed=0 () Queued new job 0x55fee2d57290 (GVfsJobRead) send_reply(0x55fee2d57290), bytes=65536, failed=0 () Queued new job 0x55fee2d57200 (GVfsJobRead) send_reply(0x55fee2d57200), bytes=65536, failed=0 () Queued new job 0x55fee2d57170 (GVfsJobRead) send_reply(0x55fee2d57170), bytes=65536, failed=0 () Queued new job 0x55fee2d570e0 (GVfsJobRead) send_reply(0x55fee2d570e0), bytes=65536, failed=0 () Queued new job 0x55fee2d57050 (GVfsJobRead) send_reply(0x55fee2d57050), bytes=65536, failed=0 () Queued new job 0x55fee2e5ff20 (GVfsJobRead) send_reply(0x55fee2e5ff20), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=65536, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=65536, failed=0 () Queued new job 0x55fee2e5f860 (GVfsJobRead) send_reply(0x55fee2e5f860), bytes=48198, failed=0 () Queued new job 0x55fee2e5fe00 (GVfsJobRead) send_reply(0x55fee2e5fe00), bytes=0, failed=0 () Queued new job 0x55fee2e5fe90 (GVfsJobRead) send_reply(0x55fee2e5fe90), bytes=0, failed=0 () Queued new job 0x7fd62800d050 (GVfsJobCloseRead) send_reply(0x7fd62800d050), failed=0 () backend_dbus_handler org.gtk.vfs.Mount:QueryInfo Queued new job 0x55fee2c418e0 (GVfsJobQueryInfo) send_reply(0x55fee2c418e0), failed=0 ()
Thanks. Please attach such a long outputs as attachments next time. The error is expected for pull. Hmm, there is some problem with spawning the backend than. It seems you are not the only one: https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/1633162 The following points to some problem with display server: Oct 20 08:55:03 filipe-desktop gvfsd-recent[7227]: cannot open display: But I don't think it relates to Mir. There was also bug report for Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=1350503 It happened after upgrade in both cases, but not sure what was wrong on Fedora. There were some troubles with SELinux initially, but AFAIK SELinux is not used in Ubuntu, so don't know...
I believe the Mir session uses systemd to launch session services, so it's likely that the display variable isn't correctly propagated. CC:ing Martin.
Bastien, it seems you are right. It can be reproduced also with Ubuntu 16.10 live and it works correctly if I add "Environment=DISPLAY=:0" in the service file: /usr/lib/systemd/user/gvfs-daemon.service
Bastien, don't you have an idea what needs to be done in order to fix it properly?
Don't think anything is needed on our end, this is a problem with the session manager.
Adding "Environment=DISPLAY=:0" in the service file: /usr/lib/systemd/user/gvfs-daemon.service, solves it. Thanks. I like very much to have recents back! It's a good feature! Luis
*** Bug 773534 has been marked as a duplicate of this bug. ***
This isn't related to MIR. This seems to be a consequence of moving towards an user D-Bus session with systemd units. gvfs now ships systemd user units (e. g. /usr/lib/systemd/user/gvfs-daemon.service) and thus it runs *outside* of the logind session and thus also the graphical session. So you cannot generally expect to have session specific environment variables ($DISPLAY, $XDG_SESSION_ID, etc.) in gvfs. Our session mangement does call dbus-update-activation-environment --systemd for $DISPLAY, but this wouldn't help if gvfs was already running at the time the graphical session starts. In other words, if gvfsd-recent is specific to the graphical session, it can *not* be a generic systemd user service, as it wouldn't apply to ssh/VT sessions (gvfs in general certainly does work there). At least we would need to kill and restart it when starting a graphical session.
I saw this issue recently in f25 in a newly created user.
Simon, don't you have any ideas on this, please?
I wonder why GtkRecentManager is not part of GLib and needs DISPLAY... ...gtk_init doesn't work with spurious DISPLAY, however, it seems that gtk_init doesn't have to be called at all... so it should work without DISPLAY, will double check tomorrow. Matthias, can't you confirm it?
I think it's because GtkRecentManager predates GIO in glib, and nobody ever needed to move the API. You could probably move all that API to GIO, and reimplement GtkRecentManager as as stub that calls the GRecentManager APIs, or mark it as obsolete in GTK+.
Created attachment 341860 [details] [review] recent: Fix crashes when DISPLAY is not set Recent backend is based on GtkRecentManager and calls gtk_init. Unfortunatelly, gtk_init aborts with "cannot open display: " warning if DISPLAY variable is not set. It happens e.g. when recent backend is spawned from a terminal without a graphical session. Systemd user units make this even worse and this happens also in graphical session if gvfs was running before the graphical session starts... Let's remove gtk_init call. It seems that GtkRecentManager works properly without it, because the display isn't really needed for it.
It can be simply reproduced by the following on X11 (not sure how to reproduce it on Wayland): $ unset DISPLAY; /usr/libexec/gvfsd-recent
Review of attachment 341860 [details] [review]: oholy mclasen: Hey, is it possible to use GtkRecentManager without gtk_init() (without graphical session)? ebassi No oholy it seems it works properly per my testing ... ebassi oholy: That's not really intended ... ebassi oholy: 1. it's using GDK resources internally; 2. without a main loop, async internals won't work oholy so, don't you have any idea how to solve the bug I mentioned? ebassi oholy: Use GBookmarkFile from GLib instead of GtkRecentManager? ... ebassi oholy: GtkRecentManager is a wrapper around GBookmarkFile that deals with GTK integration and settings ebassi oholy: GtkRecentManager is meant to be used by GTK applications, not user daemons ebassi oholy: For that, GBookmarkFile is the API you want
Created attachment 341965 [details] [review] recent: Port from GtkRecentManager to GBookmarkFile Recent backend is based on GtkRecentManager and calls gtk_init. Unfortunatelly, gtk_init aborts with "cannot open display: " warning if DISPLAY variable is not set. It happens e.g. when recent backend is spawned from a terminal without a graphical session. Systemd user units make this even worse and this happens also in graphical session if gvfsd is started before the graphical session... GtkRecentManager is just wrapper for GBookmarkFile intended for GTK+ applications only. Let's port the backend to use GBookmarkFile instead of GtkRecentManager and remove the unwanted GTK+ dependency.
ebassi oholy: I'm all for having a "GRecentFileManager" in GIO, with a GFile implementation for recent files, btw; but: a) the settings to control things like recent files age and count limits live in GTK, currently; b) I'm pretty sure 99% of the recent files API should just be deprecated and the file chooser should always save the files it opens, unless there's a desktop-wide "incognito mode" setting that disables it ebassi oholy: Basically all the decisions that led to the current recent files API happened because GIO did not exist, back then, and GTK could not depend on gnome-vfs
So, the ideal solution is creation GRecentFileManger and usage of it... but I am looking for something what we can push for stable to fix this issue. I've proposed patch to use GBookmarkFile instead of GtkRecentManager, but still I am not sure it is a good idea for stable...
By the way, the following patch for GTK+ was pushed in order to allow running GtkRecentManager without gtk_init: https://git.gnome.org/browse/gtk+/commit/?id=4bc3f02 https://bugzilla.gnome.org/show_bug.cgi?id=705582 So GVfs is not obviously the only project which tries to use GtkRecentManager for such task and it apparently works...
I am still about to push the attachment 341860 [details] [review] for stable and attachment 341965 [details] [review] (or something like that) for master. I see that GtkRecentManager is not intended to be used by user daemons and without gtk_init, however, recent backend is here several years already and works nicely so far (apart from this bug)... Emmanuele, what do you think?
From a compatibility standpoint, I think the patch for bug 705582 is wrong; just because something happens to work and some application developer decides not to care on undefined behaviour until their precious app breaks on a change it doesn't mean it's okay. We've always been pretty explicit on the fact that that calling gtk_* API depends on gtk_init() being called first. Having said that, for GTK+ 3.x compat I think attachment 341860 [details] [review] is fine. For the future, not using GtkRecentManager from a user daemon is a good plan. If, at some point, we get a GRecentFileManager and a GRecentFile implementation inside GIO then it'd be an even better solution.
Comment on attachment 341860 [details] [review] recent: Fix crashes when DISPLAY is not set Thanks Emmanuele, so I pushed the attachment 341860 [details] [review] in to the master and stable branches. Letting this bug open in order to find better solution...
Created attachment 349788 [details] [review] recent: Port from GtkRecentManager to GBookmarkFile Rebased to master.
Attachment 349788 [details] pushed as dff1328 - recent: Port from GtkRecentManager to GBookmarkFile Pushed to get rid of the GTK+ dependency from GVfs...