[upstream] NFS / lock problem with LibreOffice wth 13.04

Bug #1232872 reported by Christophe Lyon on 2013-09-29
28
This bug affects 6 people
Affects Status Importance Assigned to Milestone
LibreOffice
Confirmed
Medium
libreoffice (Ubuntu)
Undecided
Unassigned

Bug Description

Hi all,

I have a problem very similar to what is exposed in question #234375.

Since I upgraded to Ubuntu 13.04 (host x86_64), I have trouble accessing documents via NFS with LibreOffice.
The slash screen display for about 30s, then there is a popup warning saying that another user has opened the file, and offering to open a copy, open as readonly or cancel.

The point is, no other user has opened that file (being the only user on my personal PC, but storing my documents on NAS).

So I tried the suggestion about adding "noauto" in /etc/fstab and changing /etc/rc.local, with no luck.

But the modification of /usr/lib/libreoffice/program/soffice:
##################

#
STAR_PROFILE_LOCKING_DISABLED=1
export STAR_PROFILE_LOCKING_DISABLED
#

# file locking now enabled by default
#SAL_ENABLE_FILE_LOCKING=1 # <<- if set to 0 ; same trouble ...
#export SAL_ENABLE_FILE_LOCKING
#######################################

(That is, uncomment the first 2 lines, and commenting the other 2)
This works OK.

If this is the official way of fixing things, then I guess LibreOffice deserves an update on Ubuntu at least.

Thanks.

Revision history for this message
Christophe Lyon (christophe-lyon) wrote :

Hi,

After upgrading to 13.10, I had to apply the same "fix" again.

I am still not convinced this is the right way of fixing the problem, since LibreOffice should use locks when accessing files over NFS.

I guess the question is more to understand who is guilty?
- my NAS server (Synology)
- my Ubuntu install

Apart from making sure lockd is running on my client Ubuntu machine, is there anything else I should do?

Revision history for this message
In , Patrick Smits (batavist) wrote :

Created attachment 94709
(Dutch) screenshot with error

Problem description:

Steps to reproduce:
1. User 1 creates a shared document and saves it on a network share.
2. User 2 edits the documents and saves it.
3. User 1 tries to reopen it, which results in the error in the (Dutch) screenshot. The buttons translate as Open Read-only, Open copy, Cancel.

Current behavior:
Document is locked by User 2, so User 1 can't edit it

Expected behavior:
File system lock is released, so User 1 can edit the document.

Operating System: All
Version: 4.2.0.4 release

Revision history for this message
In , Cno (cno) wrote :

Hi p,

thanks for the report.
Can you pls give details on the network, for people that want to reproduce the issue?

Best,
Cor

Revision history for this message
In , Patrick Smits (batavist) wrote :

Yep, Documents are shared via a Synology NAS. We use Windows clients.

If we use ODS as exchange format it just works. The problem occurs only with XLS.

Revision history for this message
In , Cno (cno) wrote :

thanks,
Looks like Bug 36852, Bug 63995 are closely related.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in libreoffice (Ubuntu):
status: New → Confirmed
Revision history for this message
In , Raal (raal) wrote :

I can reproduce with following configuration

LO 4.3.3, Ubuntu
LO 4.3.2, Win7 in virtualbox on the same machine
shared /tmp between Linux and Windows

When shared file is XLS, then error message appears:
        Document file 'file.xls' is locked for editing by

When shared file is XLSX, then error message is:
 This document was last saved by Excel. Some formula cells may produce different results when recalculated.
 Do you want to recalculate all formula cells now? <YES>
 This spreadsheet is no longer in shared mode.
 Save your spreadsheet to a separate file and merge your changes to the shared spreadsheet manually.

Revision history for this message
In , Barta-c (barta-c) wrote :

(In reply to raal from comment #4)
> I can reproduce with following configuration
>
> LO 4.3.3, Ubuntu
> LO 4.3.2, Win7 in virtualbox on the same machine
> shared /tmp between Linux and Windows
>
> ...

I set status to NEW because of this confirmation.
did you try with 4.4.3.2? is the bug still present ?

Revision history for this message
In , Patrick Smits (batavist) wrote :

Yep, behavior is still the same with 4.4.3.2. However I also noticed something else.

If the shared xls is created and saved, as soon as you close the document, it no longer is shared. So even user 1 can't open the document as shared xls document anymore.

Revision history for this message
In , Christophelyon+libreoffice (christophelyon+libreoffice) wrote :

I was about to file a new bug report for a similar problem, so I'm updating this one instead.

I've noticed locking problems when I want to open LO files stored on my Synology NAS, exported via NFS. I ran LO from Linux Ubuntu clients (15.10).

When trying to open a file on the NFS server, LO shows an error message (after about 30 seconds, probably a timeout) and proposes to open the file read-only or to open a copy.

I "solved" the problem by rebooting the NAS, but it re-occurs after some time.

I've just given a quick look at LO sources, and noticed that in sal/osl/unx/file.cxx (openFilePath), locks are acquired using fcntl(F_WRLCK), but I couldn't find code to unlock the file.

There is support to unlock files in sal/osl/unx/profile.cxx (OslProfile_lockFile), but I don't know if it's actually used.

My assumption is that LO could keep acquiring locks, never releasing them, until the NAS is out of resources.

Is that plausible?

Revision history for this message
In , Christophelyon+libreoffice (christophelyon+libreoffice) wrote :

Actually I just ran
$ strace -f soffice /path/to/nfs/file |& grep LK
[pid 19093] fcntl(14, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
[pid 19093] fcntl(14, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
[pid 19093] fcntl(29, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0} <unfinished ...>
[pid 19093] fcntl(35, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
[pid 19093] fcntl(35, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
[pid 19093] fcntl(35, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
[pid 19093] fcntl(42, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
[pid 19093] fcntl(42, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
[pid 19096] fcntl(43, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
[pid 19107] fcntl(14, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0

I only opened the file, then quit libreoffice.

As you can see several locks are acquired, but none is released.

Revision history for this message
In , Qa-admin-q (qa-admin-q) wrote :

** Please read this message in its entirety before responding **

To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year.

There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present.

If you have time, please do the following:

Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/

If the bug is present, please leave a comment that includes the information from Help - About LibreOffice.

If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice.

Please DO NOT

Update the version field
Reply via email (please reply directly on the bug tracker)
Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not
appropriate in this case)

If you want to do more to help you can test to see if your issue is a REGRESSION. To do so:
1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from http://downloadarchive.documentfoundation.org/libreoffice/old/

2. Test your bug
3
. Leave a comment with your results.
4a. If the bug was present with 3.3 - set version to 'inherited from OOo';
4b. If the bug was not present in 3.3 - add 'regression' to keyword

Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa

Thank you for helping us make LibreOffice even better for everyone!

Warm Regards,
QA Team

MassPing-UntouchedBug

Revision history for this message
In , Christophelyon+libreoffice (christophelyon+libreoffice) wrote :

I've just run the same command as in comment #8:
$ Actually I just ran
$ strace -f soffice /path/to/nfs/file |& grep LK
[pid 19070] fcntl(15, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(15, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(24, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0} <unfinished ...>
[pid 19073] fcntl(25, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(27, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(33, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(33, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(39, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19096] fcntl(37, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(24, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(24, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19099] fcntl(16, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(16, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(16, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(16, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(16, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(16, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(16, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(16, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(16, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(16, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(16, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 19070] fcntl(16, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0

So, as expected nothing has changed here.
This time, I used version 1:5.4.2-0ubuntu0.17.10.1 from Ubuntu 17.10

Is anyone actually looking at bug reports?

Revision history for this message
In , Beluga (beluga) wrote :

*** Bug 94152 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Qa-admin-q (qa-admin-q) wrote :

** Please read this message in its entirety before responding **

To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year.

There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present.

If you have time, please do the following:

Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/

If the bug is present, please leave a comment that includes the information from Help - About LibreOffice.

If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice.

Please DO NOT

Update the version field
Reply via email (please reply directly on the bug tracker)
Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not
appropriate in this case)

If you want to do more to help you can test to see if your issue is a REGRESSION. To do so:
1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from http://downloadarchive.documentfoundation.org/libreoffice/old/

2. Test your bug
3
. Leave a comment with your results.
4a. If the bug was present with 3.3 - set version to 'inherited from OOo';
4b. If the bug was not present in 3.3 - add 'regression' to keyword

Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa

Thank you for helping us make LibreOffice even better for everyone!

Warm Regards,
QA Team

MassPing-UntouchedBug

Revision history for this message
In , Christophelyon+libreoffice (christophelyon+libreoffice) wrote :

Hello,

Just re-tested with libreoffice from my Ubuntu-18.04.1 machine.

Version: 6.0.7.3
Build ID: 1:6.0.7-0ubuntu0.18.04.2
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3;
Locale: en-US (en_US.UTF-8); Calc: group

Same command as in comment #8, same issue.

Revision history for this message
Marcus Tomlinson (marcustomlinson) wrote :

This release of Ubuntu is no longer receiving maintenance updates. If this is still an issue on a maintained version of Ubuntu please let us know.

Changed in libreoffice (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Christophe Lyon (christophe-lyon) wrote :

I had traced this down to a problem with LibreOffice apparently not releasing the locks.

I added comments to https://bugs.documentfoundation.org/show_bug.cgi?id=75488

So, the problem is still here, but no one seems to care upstream.

Changed in df-libreoffice:
importance: Unknown → Medium
status: Unknown → Confirmed
Revision history for this message
Marcus Tomlinson (marcustomlinson) wrote : Re: NFS / lock problem with LibreOffice wth 13.04

Synchronising bug status with upstream.

Changed in libreoffice (Ubuntu):
status: Incomplete → Confirmed
summary: - NFS / lock problem with LibreOffice wth 13.04
+ [upstream] NFS / lock problem with LibreOffice wth 13.04
Revision history for this message
In , Qa-admin-q (qa-admin-q) wrote :

Dear Patrick Smits,

To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year.

There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present.

If you have time, please do the following:

Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/

If the bug is present, please leave a comment that includes the information from Help - About LibreOffice.

If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice.

Please DO NOT

Update the version field
Reply via email (please reply directly on the bug tracker)
Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not
appropriate in this case)

If you want to do more to help you can test to see if your issue is a REGRESSION. To do so:
1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/

2. Test your bug
3
. Leave a comment with your results.
4a. If the bug was present with 3.3 - set version to 'inherited from OOo';
4b. If the bug was not present in 3.3 - add 'regression' to keyword

Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa

Thank you for helping us make LibreOffice even better for everyone!

Warm Regards,
QA Team

MassPing-UntouchedBug

Revision history for this message
In , Patrick Smits (batavist) wrote :

Hi all, I can't verify this, since I don't have access to a NAS anymore, but I expect nothing has changed in the last two year.

Perhaps someone else can verify?

Revision history for this message
In , Christophelyon+libreoffice (christophelyon+libreoffice) wrote :

Hello,

Just re-tested with libreoffice from my Ubuntu-20.04.1 machine.

Version: 6.4.6.2
Build ID: 1:6.4.6-0ubuntu0.20.04.1
CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: gtk3;
Locale: fr-FR (en_US.UTF-8); UI-Language: en-US
Calc: threaded

Same command as in comment #8, same issue.

Revision history for this message
In , Christophelyon+libreoffice (christophelyon+libreoffice) wrote :
Download full text (6.4 KiB)

Hello,

I've just downloaded libre office 7.0.4 from https://www.libreoffice.org/download/download/

Version: 7.0.4.2
Build: dcf040e67528d9187c66b2379df5ea4407429775
CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: gtk3;
Locale: fr-FR (en_US.UTF-8); UI-Language: en-US
Calc: threaded

Same command as in comment #8, different trace, where we now can see many uses of UNLCK.
However when the trace reaches the point marked with '***', opening the document stalls for a long while (about 30 seconds I guess), then resumes, and we see another use of l_type=F_WRLCK.
When quiting Libre Office, we can see 6 uses of l_type=F_WRLCK:

[pid 11281] fcntl(15, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 11281] fcntl(15, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 11281] fcntl(19, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 11281] fcntl(19, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 11281] fcntl(20, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 11281] fcntl(20, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 11281] fcntl(20, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 11281] fcntl(20, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 11287] fcntl(20, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0} <unfinished ...>
[pid 11281] fcntl(20, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 11281] fcntl(3, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 11281] fcntl(21, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=1}) = 0
[pid 11281] fcntl(21, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = 0
[pid 11281] fcntl(21, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=1}) = 0
[pid 11281] fcntl(21, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741825, l_len=1}) = 0
[pid 11281] fcntl(21, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=1}) = 0
[pid 11281] fcntl(21, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = 0
[pid 11281] fcntl(21, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = 0
[pid 11281] fcntl(21, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=2}) = 0
[pid 11281] fcntl(21, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
[pid 11281] fcntl(22, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=1}) = 0
[pid 11281] fcntl(22, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = 0
[pid 11281] fcntl(22, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=1}) = 0
[pid 11281] fcntl(22, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741825, l_len=1}) = 0
[pid 11281] fcntl(22, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741824, l_len=1}) = 0
[pid 11281] fcntl(22, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=1073741826, l_len=510}) = 0
[pid 11281] fcntl(22, F_S...

Read more...

Revision history for this message
In , Christophelyon+libreoffice (christophelyon+libreoffice) wrote :

Removing the strace -f command also avoids the stall (which is much longer than 30 seconds, about 80 seconds in my last attempt)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.