NFS: Commit failed with NFS3ERR_ROFS(-30)

For a long time (years) I’ve noticed that my kodi log is full of errors like this one:

2021-01-05 12:07:24.180 T:1499459808 ERROR: Failed to close(media/sde/Audio/Prokofiev, S/Romeo and Juliet (excerpts); B Philharmoniker; Abd (1997)/CDImage.flac) - close call failed with "NFS: Commit failed with NFS3ERR_ROFS(-30)

My music collection is in a NAS with read-only NFS share. This setup (the NFS share) has been in use for almost 10 years with various clients; with the RPi/OSMC as a client, for some 3-4 years at least. The file server currently runs ubuntu 20.04 and uses the default nfs server.

I have been ignoring the log errors because I never connected them to any day to day issue however I have noticed over the last few months that Kodi segfaults randomly every few days and now I wonder if this error could be a contributor to that.

This issue is confirmed on RPi3b running the latest OSMC (but as I said the NFS3ERR_ROFS messages have been there for years.

I found this on kodi’s github:

…where this error is attributed to libnfs3 missing a patch that kodi uses, that they specify here:

 You need to patch libnfs 3.0.0 (as I type this the current release) and cherry pick/apply sahlberg/libnfs@38b62bc to it. Build and use the resulting package on your system.

Apparently the perm fix comes in Kodi 19 that will use libnfs4 but in the interim, patching libnfs3 would do. My question to OSMC devs, is there any chance that the above libnfs patch could be included in kodi as shipped by osmc.

I don’t know if this is related to the kodi segfaults I occassionally see from however it would be nice to clean this up either way.

Hi,

The current osmc release (Novemeber), I believe will be last release with kodi 18. More details can be found here:

https://osmc.tv/2020/11/osmcs-november-update-is-here-with-kodi-v18-9/

So this issue should be fixed in next release.

Thanks Tom.

Hi

The version of libNFS in Debian seems to now be mature enough that when we moved to Buster, we started using the upstream version instead of packaging an OSMC version downstream.

If this issue still persist after the release of Kodi v19, then this would be one to report to the Debian package maintainer.

I’d be surprised if this is causing crashes – as there will be many people using Kodi’s built in NFS implementation to access their content. Some further logs might provide clues as to why Kodi is crashing.

Sam

Thanks Sam, I agree it looks strange that this would be libNFS but I do see the kodi log full of the NFS3ERR errors. My music collection is a bit different from the average so maybe that’s why other people are not impacted. All my my collection are single-file Flacs per album and I see this error with every song change.

One thing I thought about trying is autofs to mount the NFS share instead of using Kodi’s client, but knowing that kodi19 comes with the new library integrated and it seems to be around the corner, I’ll just wait a few more months.

The build is usable as is, it’s just annoying that every few days, sometimes every week or two, kodi will crash - the only thing I am sure is that it crashes while playing back music, it never crashes while it’s idle. The journal doesn’t show anything and I’m a bit wary of activating debug logs on kodi because the issue can take days or a week or two to appear. I monitor the Pi memory and CPU continuously and there is nothing there.

If the issue shows in kodi 19 then I will debug deeper. Looking forward to the kodi19 release! and hoping it will come with kernel 5.10 too

@sam_nazarko finally I took the leap and upgraded OSMC to buster (fresh install on a new RPi4). So far so good (touch wood), no crashes. I do see though the log plastered with "close call failed with “NFS: Commit failed with NFS3ERR_ROFS(-30)” pretty much after every song (and when doing a library scan, after every album). I was wondering if you are using upstream’s libnfs or changed back to a custom version. Question - is mediacenter/kodi19 built using libnfs4 now?

Hi @htpcero

I moved to using Debian’s version of libnfs as it’s good enough and it’s one less thing for us to track upstream. If things diverge enough, we can reintroduce downstream support.

libnfs in Debian seems to still be v3.

We’ll start the Bullseye migration soon-ish, but v19 needs to go out the door first this Summer

Cheers

Sam

@sam_nazarko

Just to add that I see this on read only NFS shares while running OSMC 19.1 on a Vero4k

This still happens on 19.4.

Have you tested under Debian Bullseye?