Bug 93117 - LibreOffice freezes when trying to access/open/read/write documents on NFS mounts
Summary: LibreOffice freezes when trying to access/open/read/write documents on NFS mo...
Status: RESOLVED INSUFFICIENTDATA
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
4.3.3.2 release
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Network
  Show dependency treegraph
 
Reported: 2015-08-04 11:32 UTC by Basic Six
Modified: 2023-04-30 08:31 UTC (History)
8 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Basic Six 2015-08-04 11:32:31 UTC
LibreOffice is unable to access files on NFS mounts (at least NFSv3).
When trying to open a remote (odt) file, the splash screen freezes. The process has to be killed (SIGKILL). Opening a file in read-only mode appears to work.
Same thing when trying to save a file on an NFS mount. The window freezes, it's not even possible to select and copy the text to the clipboard, it's gone. I lost a document because I forgot to copy everything to the clipboard before saving - in case LibreOffice crashes.
Interestingly, the file was created (but it's empty), along with a LibreOffice lock file (".~lock...").

This basically makes LibreOffice impossible to work with, on a central NFS storage, at least by default. Given that a central storage for all data is a very common setup, this is a significant bug. When trying to save, this can even cause data loss. The safe workaround is copying the file to the local system, edit it locally and then move it back to the storage.

Using the default LibreOffice from the Arch repository:
LibreOffice 4.3.3.2 430m0(Build:2)
NFSv3 is used (hard - nolock option is *not* used)

It's frustrating that some people seem to suggest using the nolock mount option, or even worse, migrating everything to NFSv4. Besides certain issues like NFSv4 sometimes having issues when NFSv3 works perfectly fine, it's not a proper solution to migrate NFS because of LibreOffice.
The Arch documentation recommends modifying the LibreOffice wrapper script /usr/lib/libreoffice/program/soffice:
https://wiki.archlinux.org/index.php/LibreOffice#Hanging_when_using_NFSv3_shares
However, none of this is limited to one distribution (like Arch) and no regular person will/should edit a shell script in order to make LibreOffice work. (And what happens when updating, the script might be replaced.)
Again, telling an end user to hack in shell scripts has nothing to do with a solution. If the locking feature isn't working by default, maybe it should be disabled by default?

I have found similar bugs regarding this issue, but no actual solution so far. For example, there is an old OpenOffice bug which was closed (without solution) because "Go_oo does not exist anymore". There are similar LibreOffice bugs, but there are differences, some describe a problem when opening only but not when saving, others describe error messages (there's no error message here).
Comment 1 j.rios 2016-05-17 16:43:18 UTC
I do confirm having theses exact same glitches under archlinux and my server mount using NFSv3, hangs even loading an existing file from the nfs mountpoint.

Thanks for the solution Basic Six x)
Comment 2 Buovjaga 2016-05-25 19:18:10 UTC
NEW per comment 1
Comment 3 QA Administrators 2018-05-30 02:38:43 UTC Comment hidden (obsolete)
Comment 4 Cédric Bellegarde 2019-09-19 08:34:39 UTC
Can confirm the bug always happen with last LibreOffice release.
Comment 5 Olfried Joergensen 2020-03-05 16:37:42 UTC
Using LibreOffice
Version: 6.0.7.3
Build ID: 1:6.0.7-0ubuntu0.18.04.10
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; 
Locale: en-US (en_US.UTF-8); Calc: group
on my Laptop.
Try to save a text document on my nfs4 share on the server.
As I can copy save and delete, the right are set valid.

When saving, a file will be saved, but this is empty. It takes some time
and then an errormessage pops up
Error saving the document NAME:
Error during shared access to PATH/NAME
Thanks in advance
Comment 6 Stephan Walker 2020-03-24 16:49:32 UTC
Confirmed on Debian 10, LibreOffice Version: 6.1.5.2
Build-ID: 1:6.1.5-3+deb10


NFSv3: 
Disabling File-Lock in the wrapper-script /usr/lib/libreoffice/program/soffice resolves the issue but (evidently) does not tackle the problem. 

NFSv4.2: 
problem does not occur
NFS4 export options: rw,crossmnt,no_subtree_check,sync
Comment 7 rhardy 2020-04-03 18:00:20 UTC
This still happens with Libreoffice 6.3 on Ubuntu 19.10 and Ubuntu 18.04.

Please consider converting this into an enhancement request to make debugging of this issue easier. The error messages in this case really should be improved to help figure out what the heck is going on i.e. check permissions where you are trying to save; Check NFS locking is working and how to do that; Try the file locally to see if issue goes away.

This isn't an issue that an Unknown User has the file locked. It is an issue that Libreoffice was unable to do locking at all where the file was being written. This can quickly be found by copying the document you are trying to open to a local volume say /tmp and seeing if you can open it there.

The "solution" where people turn off file locking is going to break a lot of things and should NOT be recommended. Switching to NFSv4 is overkill and not needed. I suspect differences in how locking is done on NFSv4 were why this helped some users. 

The solution here is straight forward but not obvious unless you can see the server logs. I could create my lock file manually for example .~lock.document.odt. I was not having permission problems. 
What I was having was NFS locking issues. 
I eventually found on my server when I looked at dmesg I had entries like:
[67667.828919] lockd: cannot monitor ClientHostName

The solution was on client and on server I had to enable rpc-statd as root:
#  systemctl enable rpc-statd; systemctl start rpc-statd

That was enough to end the lockd errors and Libreoffice just worked as expected.
Comment 8 QA Administrators 2022-04-04 03:31:17 UTC Comment hidden (obsolete)
Comment 9 Julien Nabet 2022-06-29 20:33:10 UTC
On pc Debian x86-64 with master sources updated today, I did this:

1) create dirs "nfs_local" and "nfs_remote" in my home directory + create a file test.txt in "nfs_remote"

2) Install nfs server by following https://guide.ubuntu-fr.org/server/network-file-system.html
Package: nfs-kernel-server
Source: nfs-utils
Version: 1:2.6.1-2
Installed-Size: 636
Maintainer: Debian kernel team <debian-kernel@lists.debian.org>
Architecture: amd64

3) /etc/exports contains:
/home/julien/nfs_remote localhost(rw,sync,no_subtree_check)

4) mount localhost:/home/julien/nfs_remote /home/julien/nfs_local

5) I opened "nfs_local" dir and opened "test.txt" to modify it, no pb.

6) I created a brand new file test.odt in "nfs_local", no pb too.

Could someone give a new try with 7.3.4? (unless I missed something?)
Comment 10 QA Administrators 2023-03-30 03:25:45 UTC Comment hidden (obsolete)
Comment 11 QA Administrators 2023-04-30 03:22:53 UTC Comment hidden (obsolete)
Comment 12 Buovjaga 2023-04-30 08:31:07 UTC
Many people who confirmed this earlier were not in the Cc of this report. I am now adding them. All: can you please test this again? This was closed automatically after Julien could not reproduce with the steps below and nobody reacted:

(In reply to Julien Nabet from comment #9)
> On pc Debian x86-64 with master sources updated today, I did this:
> 
> 1) create dirs "nfs_local" and "nfs_remote" in my home directory + create a
> file test.txt in "nfs_remote"
> 
> 2) Install nfs server by following
> https://guide.ubuntu-fr.org/server/network-file-system.html
> Package: nfs-kernel-server
> Source: nfs-utils
> Version: 1:2.6.1-2
> Installed-Size: 636
> Maintainer: Debian kernel team <debian-kernel@lists.debian.org>
> Architecture: amd64
> 
> 3) /etc/exports contains:
> /home/julien/nfs_remote localhost(rw,sync,no_subtree_check)
> 
> 4) mount localhost:/home/julien/nfs_remote /home/julien/nfs_local
> 
> 5) I opened "nfs_local" dir and opened "test.txt" to modify it, no pb.
> 
> 6) I created a brand new file test.odt in "nfs_local", no pb too.
> 
> Could someone give a new try with 7.3.4? (unless I missed something?)