Inspired by BloodyIron's comments above, I investigated this issue and was able to develop a patch that solves this problem for my use case: browsing NAS devices running TrueNAS and OpenMediaVault. It appears that the gvfsd-smb-browse process is left in a bad state after attempting to mount a workgroup, which occurs either when attempting to open an URL like smb://WORKGROUP/ or during network discovery in gvfsd- network. My patch simply disables workgroup discovery/browsing functionality, leaving *browsing* functionality intact for servers that are *discovered* via DNS-SD (mDNS). This does not address the issue of discovering Windows 10 servers that advertise themselves only via WS- Discovery, but appears to work fine for devices that advertise themselves using mDNS, allowing those devices to be successfully browsed.
I note that workgroups are an obsolete concept in a post-NT1 (post-SMB1) world, so the offending code should eventually just be yanked out, along with the addition of support for WS-Discovery in Linux. My patch does not address the root cause, as whatever is going wrong while attempting to mount a workgroup should result in a recoverable error. I traced gvfsbackendsmbbrowse.c:do_mount() up to the point at which smbc_opendir() is called without any surprises, whereupon things went south. I did not investigate any further, but if I were to do so, I'd be inclined to take a look for an unreleased lock. ** Patch added: "Disable broken workgroup discovery/browsing" https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/1828107/+attachment/5639041/+files/smb-browse-patch.diff -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to gvfs in Ubuntu. https://bugs.launchpad.net/bugs/1828107 Title: gvfs can't list shares from smb servers that disabled SMB1 Status in gvfs: New Status in gvfs package in Ubuntu: Triaged Bug description: After bug #1778322 is fixed (just needs a gvfs rebuild with newer samba), samba machines will start to show up again in the "windows network" tab in nautilus. But if a server has disabled the SMB1 protocol, nautilus will show an error when that server is clicked on, instead of showing the shares list. Even with SMB1 disabled, it should still be technically possible to get a share list, since smbclient can do it: andreas@nsnx:~$ nmblookup -A 192.168.122.101 Looking up status of 192.168.122.101 D-NO-SMB1 <00> - B <ACTIVE> D-NO-SMB1 <03> - B <ACTIVE> D-NO-SMB1 <20> - B <ACTIVE> ..__MSBROWSE__. <01> - <GROUP> B <ACTIVE> WORKGROUP <00> - <GROUP> B <ACTIVE> WORKGROUP <1d> - B <ACTIVE> WORKGROUP <1e> - <GROUP> B <ACTIVE> MAC Address = 00-00-00-00-00-00 andreas@nsnx:~$ smbclient -L 192.168.122.101 -N WARNING: The "syslog" option is deprecated Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers pub_no_smb1 Disk IPC$ IPC IPC Service (d-no-smb1 server (Samba, Ubuntu)) Reconnecting with SMB1 for workgroup listing. protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE Failed to connect with SMB1 -- no workgroup available andreas@nsnx:~$ smbclient //192.168.122.101/pub_no_smb1 -U ubuntu%ubuntu -m NT1 WARNING: The "syslog" option is deprecated protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE andreas@nsnx:~$ smbclient //192.168.122.101/pub_no_smb1 -U ubuntu%ubuntu -m SMB2 WARNING: The "syslog" option is deprecated Try "help" to get a list of possible commands. smb: \> dir . D 0 Fri May 3 18:16:38 2019 .. D 0 Fri May 3 18:15:24 2019 hello.txt N 21 Fri May 3 18:16:12 2019 hello-from-nsnx.txt A 9 Fri May 3 18:16:38 2019 20509264 blocks of size 1024. 13121800 blocks available To manage notifications about this bug go to: https://bugs.launchpad.net/gvfs/+bug/1828107/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp