Closed davidak closed 5 years ago
I noticed this as well
I got it to work by running pkill gvfsd
.
I noticed that after I did that nautilus actually shows results under "Networks" when it didn't before... this is strange.
Since the upgrade to 18.09, I have added this logon script, and this has not been an issue for me. It's a little bit cleaner than pkill:
sleep 3 ; systemctl --user stop gvfs-daemon
For what it's worth I switched to KDE and the issue is mostly gone. So it must be related specifically to the Gnome setup.
Yeah, I believe KDE uses KIO rather than GVFS.
That's correct. I wonder if most NixOS users just use KDE. As it turns out I ended up really liking KDE, and now I'm switching all my computers over to that! haha.
@tdbgamer i don't like KDE, lol.
There are probably also many tiling window manager users.
How are you creating the mount point? Is Nautilus able to access it?
Whenever I connect to a network share in nautilus, nautilus should create a mount point inside of "/run/user/[UID]/gvfs/". This bug results in the mountpoint not being created. when the mountpoint is missing, only gvfs-aware programs (gedit, totem) can access the network share, and non-gvfs-aware programs (cat, vlc, vscode) cannot.
Hmm, can confirm the issue, will do more debugging.
$ gio mount --list
Drive(0): VirtIO Disk
Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
Drive(1): Floppy Drive
Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
Volume(0): Floppy Disk
Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
Drive(2): QEMU DVD-ROM
Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
Mount(0): jtojnar on localhost -> ftp://jtojnar@localhost/
Type: GDaemonMount
$ mount | grep gvfs
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=100)
$ ps aux | grep gvfs
jtojnar 1011 0.0 0.3 408312 7352 ? Ssl 13:48 0:00 /nix/store/siddx2x2qyq00fbx33hwjc85f5bmr46y-gvfs-1.38.1/libexec/gvfsd
jtojnar 1016 0.0 0.3 427784 7656 ? Sl 13:48 0:00 /nix/store/siddx2x2qyq00fbx33hwjc85f5bmr46y-gvfs-1.38.1/libexec/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
jtojnar 1098 0.0 0.5 446224 10760 ? Ssl 13:48 0:00 /nix/store/siddx2x2qyq00fbx33hwjc85f5bmr46y-gvfs-1.38.1/libexec/gvfs-udisks2-volume-monitor
jtojnar 1122 0.0 0.3 390272 6164 ? Ssl 13:48 0:00 /nix/store/siddx2x2qyq00fbx33hwjc85f5bmr46y-gvfs-1.38.1/libexec/gvfs-mtp-volume-monitor
jtojnar 1126 0.0 0.2 388192 5424 ? Ssl 13:48 0:00 /nix/store/siddx2x2qyq00fbx33hwjc85f5bmr46y-gvfs-1.38.1/libexec/gvfs-goa-volume-monitor
jtojnar 1130 0.0 0.3 403036 6432 ? Ssl 13:48 0:00 /nix/store/siddx2x2qyq00fbx33hwjc85f5bmr46y-gvfs-1.38.1/libexec/gvfs-gphoto2-volume-monitor
jtojnar 1134 0.0 0.3 490948 7276 ? Ssl 13:48 0:00 /nix/store/siddx2x2qyq00fbx33hwjc85f5bmr46y-gvfs-1.38.1/libexec/gvfs-afc-volume-monitor
jtojnar 1346 0.0 0.4 495808 9168 ? Sl 13:48 0:00 /nix/store/siddx2x2qyq00fbx33hwjc85f5bmr46y-gvfs-1.38.1/libexec/gvfsd-trash --spawner :1.3 /org/gtk/gvfs/exec_spaw/0
jtojnar 1555 0.0 0.4 495932 9096 ? Sl 13:49 0:00 /nix/store/siddx2x2qyq00fbx33hwjc85f5bmr46y-gvfs-1.38.1/libexec/gvfsd-network --spawner :1.3 /org/gtk/gvfs/exec_spaw/1
jtojnar 1573 0.0 0.6 683804 13244 ? Sl 13:49 0:00 /nix/store/siddx2x2qyq00fbx33hwjc85f5bmr46y-gvfs-1.38.1/libexec/gvfsd-ftp --spawner :1.3 /org/gtk/gvfs/exec_spaw/3
jtojnar 1630 0.0 0.1 133432 2220 pts/1 S+ 13:54 0:00 grep gvfs
$ ls -la /run/user/1000/gvfs
total 0
dr-x------ 2 jtojnar users 0 Feb 1 13:48 .
drwx------ 11 jtojnar users 280 Feb 1 13:48 ..
I guess this might have something to do with the issue:
$ journalctl -u gvfs-daemon --user -b
-- Logs begin at Sat 2019-01-19 01:26:34 UTC, end at Fri 2019-02-01 14:24:08 UTC. --
Feb 01 13:48:03 nixos systemd[968]: Starting Virtual filesystem service...
Feb 01 13:48:03 nixos systemd[968]: Started Virtual filesystem service.
Feb 01 13:48:03 nixos .gvfsd-fuse-wra[1016]: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
Feb 01 13:48:03 nixos .gvfsd-fuse-wra[1016]: g_volume_monitor_get_mounts: assertion 'G_IS_VOLUME_MONITOR (volume_monitor)' failed
Feb 01 13:48:03 nixos .gvfsd-fuse-wra[1016]: invalid (NULL) pointer instance
Feb 01 13:48:03 nixos .gvfsd-fuse-wra[1016]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 01 13:48:03 nixos .gvfsd-fuse-wra[1016]: invalid (NULL) pointer instance
Feb 01 13:48:03 nixos .gvfsd-fuse-wra[1016]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 01 14:21:29 nixos .gvfsd-fuse-wra[1016]: invalid (NULL) pointer instance
Feb 01 14:21:29 nixos .gvfsd-fuse-wra[1016]: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 01 14:21:29 nixos .gvfsd-fuse-wra[1016]: invalid (NULL) pointer instance
Feb 01 14:21:29 nixos .gvfsd-fuse-wra[1016]: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Feb 01 14:21:29 nixos .gvfsd-fuse-wra[1016]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Feb 01 14:23:03 nixos systemd[968]: Stopping Virtual filesystem service...
Feb 01 14:23:03 nixos systemd[968]: Stopped Virtual filesystem service.
Feb 01 14:23:11 nixos systemd[968]: Starting Virtual filesystem service...
Feb 01 14:23:11 nixos systemd[968]: Started Virtual filesystem service.
With the following configuration
{ pkgs, ... }: {
environment.systemPackages = with pkgs; [
gdb
];
services.xserver = {
enable = true;
displayManager.gdm.enable = true;
desktopManager.gnome3.enable = true;
};
systemd.coredump.enable = true;
systemd.user.services.gvfs-daemon.serviceConfig.Environment = [
"G_MESSAGES_DEBUG=all"
"G_DEBUG=fatal_warnings"
];
environment.enableDebugInfo = true;
nixpkgs.overlays = [
(self: super: {
gnome3 = super.gnome3.overrideScope' (gself: gsuper: {
gvfs = ((super.enableDebugging gsuper.gvfs).override {
glib = (super.enableDebugging super.glib).overrideAttrs (attrs: {
mesonBuildType = "debug";
});
fuse = super.enableDebugging super.fuse;
}).overrideAttrs (attrs: {
mesonBuildType = "debug";
});
});
})
];
}
I get
$ journalctl -u gvfs-daemon --user -b
-- Logs begin at Sat 2019-01-19 01:26:34 UTC, end at Fri 2019-02-01 14:46:04 UTC. --
Feb 01 14:40:32 nixos systemd[847]: Starting Virtual filesystem service...
Feb 01 14:40:32 nixos systemd[847]: Started Virtual filesystem service.
Feb 01 14:40:32 nixos .gvfsd-wrapped[1038]: posix_spawn avoided (automatic reaping requested)
Feb 01 14:40:32 nixos .gvfsd-fuse-wra[1043]: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
Feb 01 14:40:32 nixos systemd-coredump[1058]: Process 1043 (.gvfsd-fuse-wra) of user 1000 dumped core.
$ coredumpctl gdb
[…]
(gdb) bt
#0 _g_log_abort (breakpoint=breakpoint@entry=1) at ../glib/gmessages.c:557
#1 0x00007f77fbe2afef in g_logv (log_domain=0x7f77fc1372ef "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7f77fa05b8f0) at ../glib/gmessages.c:1371
#2 0x00007f77fbe2b1ed in g_log (log_domain=log_domain@entry=0x7f77fc1372ef "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f77fbe7b9e4 "%s: assertion '%s' failed")
at ../glib/gmessages.c:1413
#3 0x00007f77fbe2b831 in g_return_if_fail_warning (log_domain=log_domain@entry=0x7f77fc1372ef "GLib-GObject",
pretty_function=pretty_function@entry=0x7f77fc13aba0 <__FUNCTION__.14304> "g_object_new_with_properties", expression=expression@entry=0x7f77fc13a260 "G_TYPE_IS_OBJECT (object_type)")
at ../glib/gmessages.c:2762
#4 0x00007f77fc10e152 in g_object_new_with_properties (object_type=0, n_properties=0, names=names@entry=0x0, values=values@entry=0x0) at ../gobject/gobject.c:1935
#5 0x00007f77fc10ef51 in g_object_new (object_type=<optimized out>, first_property_name=first_property_name@entry=0x0) at ../gobject/gobject.c:1645
#6 0x0000000000404ed3 in vfs_init (conn=0x2443584) at ../client/gvfsfusedaemon.c:2457
#7 0x00007f77fc72115b in fuse_fs_init (fs=0x2443230, conn=0x2443584) at fuse.c:2654
#8 0x00007f77fc7252ae in do_init (req=0x7f77f4000cc0, nodeid=<optimized out>, inarg=0x7f77fcd81038) at fuse_lowlevel.c:1836
#9 0x00007f77fc7261d1 in fuse_ll_process_buf (data=0x24433f0, buf=0x7f77fa05bd70, ch=<optimized out>) at fuse_lowlevel.c:2443
#10 0x00007f77fc722e73 in fuse_do_work (data=0x2463790) at fuse_loop_mt.c:117
#11 0x00007f77fbbb9567 in start_thread (arg=0x7f77fa05c700) at pthread_create.c:463
#12 0x00007f77fb8f01ff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
I opened an issue upstream https://gitlab.gnome.org/GNOME/gvfs/issues/370
With Ondřej’s help, I have determined that it is indeed our packaging issue.
Unlike glib
’s setup hook
wrapGAppsHook
does not include package’s own GIO_EXTRA_MODULES
:
It probably should:
--- a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
+++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
@@ -30,6 +30,10 @@ wrapGAppsHook() {
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$prefix/share")
fi
+ if [ -d "$prefix/lib/gio/modules" ] && [ -n "$(ls -A $prefix/lib/gio/modules)" ] ; then
+ gappsWrapperArgs+=(--prefix GIO_EXTRA_MODULES : "$prefix/lib/gio/modules")
+ fi
+
for v in $wrapPrefixVariables GST_PLUGIN_SYSTEM_PATH_1_0 GI_TYPELIB_PATH GRL_PLUGIN_PATH; do
eval local dummy="\$$v"
gappsWrapperArgs+=(--prefix $v : "$dummy")
Issue description
I can't open files from gvfs mount with several programs.
VLC:
gnome-mpv:![screenshot from 2018-11-12 00-45-45](https://user-images.githubusercontent.com/91113/48319954-6e5b1f00-e614-11e8-9d9b-4ac66259c1ea.png)
When i drag and drop the file from GNOME Files app to pantheon-terminal, i get this path, but it is not accessible.
When i copy the file to my local disk i can open it.
Steps to reproduce
see above
Technical details
I'm using GNOME3 as DE, see complete config at https://github.com/davidak/nixos-config/blob/master/machines/thinkpad_X230/configuration.nix
"x86_64-linux"
Linux 4.14.76, NixOS, 18.09.932.09195057114 (Jellyfish)
yes
yes
nix-env (Nix) 2.1.1
""
"nixos-18.09.932.09195057114, nixos-hardware, nixos-unstable-19.03pre155751.45a419ab5a2"
/nix/var/nix/profiles/per-user/root/channels/nixos