Bug 268797 - Using nfs:// kio slave produces "Error: Connection to host An RPC error occurred. is broken."
Summary: Using nfs:// kio slave produces "Error: Connection to host An RPC error occur...
Status: RESOLVED FIXED
Alias: None
Product: kio
Classification: Frameworks and Libraries
Component: nfs (show other bugs)
Version: 4.6
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-18 01:49 UTC by Phil Rigby
Modified: 2014-10-16 10:18 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot of error. (73.12 KB, image/png)
2011-03-18 01:49 UTC, Phil Rigby
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Phil Rigby 2011-03-18 01:49:12 UTC
Created attachment 58131 [details]
Screenshot of error.

Version:           4.6 (using KDE 4.6.1) 
OS:                Linux

Using Krusader or Dolphin, copying a file to my NFS server (nfs://172.16.48.3/mnt/storage) produces an error dialog "Error: Connection to host An RPC error occurred. is broken."

Using a mount through bash works just fine.

Reproducible: Always

Steps to Reproduce:
In Dolphin or Krusader in the address bar, enter nfs://a.b.c.d/path then copy a file from /home (for example)

Actual Results:  
Error dialog with stated message.

Expected Results:  
Nothing, clear the error, carry on using app as normal except with no nfs kioslave.

Copied the selected file to the nfs location.  From a mount in bash it works so there is no issue with the nfs server.
Comment 1 Geert Lamers 2011-05-17 20:36:10 UTC
I'm seeing the same issue, KDE SC 4.6.3 on Gentoo Linux. 

When I booted my laptop from a Kubuntu 11.04 USB drive (KDE SC 4.6.2), I could access the NFS share on my desktop just fine, but from Gentoo it gives the error messages stated above, resulting in only an empty file on the server.
Comment 2 Geert Lamers 2011-05-31 02:06:59 UTC
I've found that the error leaves the following message in /var/log/messages:

RPC: multiple fragments per record not supported

When I thought I'd investigate further, and add the "-l" flag (for connection logging) to rpcbind, the NFS slave suddenly seemed to work properly.
Comment 3 Geert Lamers 2011-05-31 03:00:09 UTC
It seems that last comment was a bit premature. Lucky shot I suppose, after trying some more the RPC Error is back, and I can't seem to get any more verbosity out of rpcbind.
Comment 4 Przemysław Palacz 2011-08-23 16:06:06 UTC
For me copying small files under 3,8 KiB works. Copying anything bigger than that produces the RPC error.

System info:
Fedora 15, KDE 4.7 (bug also exist in clean f15)
Comment 5 Alberto Mattea 2011-10-10 18:13:57 UTC
Confirmed here on Kubuntu Natty amd64 with KDE 4.7.1. It seems to start creating empty files and then it stops.
Comment 6 Alberto Mattea 2012-01-17 22:16:42 UTC
I experimented a bit and I found out that the maximum size that works is exactly 3884 bytes. I dumped the output of a succeded (3884 b) and a failed (3885 b) copy with wireshark: when it succedes, I get 2 relevant nfs frames, of 2962 and 1170 bytes respectively.
When it fails, I get an additional frame of 74 bytes. I'm not really an expert of this though.
Comment 7 setti 2012-05-23 18:44:03 UTC
*** This bug has been confirmed by popular vote. ***
Comment 8 setti 2012-05-23 18:45:50 UTC
nobody uses kio for nfs? such an old bug and no news? what a pitty!
Comment 9 Ed Gray 2013-03-08 16:32:14 UTC
Hi,

I am able to re-produce this bug on one system running OpenSuSE 12.2 x64. However on another system I don't have the bug so I think its configuration related. 

I cannot see any package differences on the two systems in terms of KDE packages and libraries. However I am using Xvnc to connect to the machine that has the problem and FVWM2 instead of KDE4 with Dolphin.

My hardware details are as follows: OpenSuSE 12.2 x86_64 on an AMD Athlon X2 3800+ based system with 1.5GB DDR2 RAM and 500GB SATA Disk and using the following network card:

07:07.0 Network controller: Ralink corp. RT2760 Wireless 802.11n 1T/2R

CPU details:

processor       : 1
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 67
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
stepping        : 2
microcode       : 0x62
cpu MHz         : 2000.000
cache size      : 512 KB
physical id     : 0

I can mount the filesystem fine with Dolphin using nfs://server/mnt/vol/multimedia. I can create files and folders however attempts to copy large files fail.

I can mount the filesystem and copy large files normally using:

mount -t nfs server:/mnt/vol/multimedia /mnt/multimedia.

On the two systems mount returns different info regarding NFS mounts:

Broken system:
mount| grep nfs

Working system:
mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)

On both systems rpcbind is running:

rpcbind.service - RPC Bind
          Loaded: loaded (/lib/systemd/system/rpcbind.service; disabled)
          Active: active (running) since Fri, 08 Mar 2013 16:06:54 +0000; 22min ago
        Main PID: 31323 (rpcbind)
          CGroup: name=systemd:/system/rpcbind.service
                  └ 31323 /sbin/rpcbind -w -f

rpcbind.service - RPC Bind
          Loaded: loaded (/lib/systemd/system/rpcbind.service; enabled)
          Active: active (running) since Fri, 08 Mar 2013 15:25:27 +0000; 1h 3min ago
        Main PID: 5631 (rpcbind)
          CGroup: name=systemd:/system/rpcbind.service
                  └ 5631 /sbin/rpcbind -w -f

Not sure if this info will be useful but perhaps it will, I'm happy to supply more information.

Regards
Ed Gray
Comment 10 Leo Davis 2013-10-30 21:03:05 UTC
I'm seeing this also on Fedora 19.  I'm running a i586 version (32 bit) as a VirtualBox guest.  KDE/Dolphin version 4.11.2.

I'm experiencing problems like Alberto Mattea and przemal were seeing.  In my case a small file (108 bytes) transferred to the remote OK, but a larger file  (21628 bytes) created an empty file on the remote.  Interestingly, copying "larger" files from the remote seems to work OK. 

Mounting the remote via command line seems to copy files OK.
Comment 11 Mathias Tillman 2014-10-16 10:18:23 UTC
Git commit 1f13cf8b4c5ff5ac6a2c131a89c19c7e77c0194f by Mathias Tillman.
Committed on 16/10/2014 at 10:15.
Pushed by mathiastillman into branch 'master'.

Added support for NFSv3, major refactoring, fixed bugs.

REVIEW: 120343
Related: bug 309113

M  +1    -1    nfs/CMakeLists.txt
M  +2    -2    nfs/README
M  +0    -2    nfs/TODO
M  +576  -1324 nfs/kio_nfs.cpp
M  +169  -69   nfs/kio_nfs.h
D  +0    -353  nfs/mount_xdr.c
M  +4    -0    nfs/nfs.protocol
D  +0    -699  nfs/nfs_prot.h
D  +0    -886  nfs/nfs_prot_xdr.c
A  +1858 -0    nfs/nfsv2.cpp     [License: LGPL (v2+)]
A  +103  -0    nfs/nfsv2.h     [License: LGPL (v2+)]
A  +2195 -0    nfs/nfsv3.cpp     [License: LGPL (v2+)]
A  +114  -0    nfs/nfsv3.h     [License: LGPL (v2+)]
R  +71   -158  nfs/rpc_mnt2.h [from: nfs/mount.h - 051% similarity]
R  +0    -0    nfs/rpc_mnt2.x [from: nfs/mount.x - 100% similarity]
A  +277  -0    nfs/rpc_mnt2_xdr.c     [License: UNKNOWN]  *
A  +168  -0    nfs/rpc_mnt3.h     [License: UNKNOWN]  *
A  +147  -0    nfs/rpc_mnt3_xdr.c     [License: UNKNOWN]  *
A  +488  -0    nfs/rpc_nfs2_prot.h     [License: UNKNOWN]  *
R  +0    -0    nfs/rpc_nfs2_prot.x [from: nfs/nfs_prot.x - 100% similarity]
A  +699  -0    nfs/rpc_nfs2_prot_xdr.c     [License: UNKNOWN]  *
A  +1330 -0    nfs/rpc_nfs3_prot.h     [License: UNKNOWN]  *
A  +908  -0    nfs/rpc_nfs3_prot.x
A  +1908 -0    nfs/rpc_nfs3_prot_xdr.c     [License: UNKNOWN]  *

The files marked with a * at the end have a non valid license. Please read: http://techbase.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.


http://commits.kde.org/kio-extras/1f13cf8b4c5ff5ac6a2c131a89c19c7e77c0194f