jpilot has locking problems over nfs4 and bind mount
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
jpilot (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: jpilot
I run jpilot (or I try to!) over a nfs4 mount followed by a bind mount.
I.e. the .jpilot directory is bind mounted from /import/big and
/import/big is nfs4 mounted from a Debian linux machine.
I get lots of errors that seem to be related to locking.
This may be related to http://
which seems to refer to a change in the semantics of flock(). Apparently,
flock() over NFS raises an error.
$ jpilot
locking jpilot.rc failed: Input/output error
locking jpilot.plugins failed: Input/output error
locking ToDoDB.pdb failed: Input/output error
Error opening file: ToDoDB.pdb
locking DatebookDB.pdb failed: Input/output error
Error opening file: DatebookDB.pdb
locking DatebookDB.pdb failed: Input/output error
Error opening file: DatebookDB.pdb
locking jpilot.alarms failed: Input/output error
Unable to open jpilot.alarms file
locking DatebookDB.pc3 failed: Input/output error
locking AddressDB.pc3 failed: Input/output error
locking ToDoDB.pc3 failed: Input/output error
locking MemoDB.pc3 failed: Input/output error
locking Memo32DB.pc3 failed: Input/output error
$
However, if I look at the .jpilot directory, it looks OK:
$ ls -l .jpilot
total 352
-rw-rw---- 1 gpk home 24180 2009-06-03 22:01 AddressDB.pc3
-rw-rw---- 1 pribble home 103934 2008-03-01 16:10 AddressDB.pdb
-rw-rw---- 1 gpk home 378 1970-01-01 01:00 CalendarDB-PDat.pdb
-rw-rw---- 1 gpk home 1172 1970-01-01 01:00 ContactsDB-PAdd.pdb
-rw-rw---- 1 gpk home 1335 2008-04-28 20:41 DatebookDB.pc3
-rw-rw---- 1 gpk home 138402 2007-04-07 12:42 DatebookDB.pdb
-rw-rw---- 1 gpk home 0 2008-06-15 11:36 ExpenseDB.pc3
-rw-rw---- 1 pribble home 473 1970-01-01 01:00 ExpenseDB.pdb
-rw-rw---- 1 pribble home 126 2009-06-09 21:42 jpilot.alarms
-rw-rw---- 1 gpk home 664 2009-06-09 22:40 jpilot.log
...
Permissions are OK. I can cat the files and I can edit/save jpilot.rc with an editor.
$ lsb_release -rd
Description: Ubuntu 9.04
Release: 9.04
$
$ apt-cache policy jpilot
jpilot:
Installed: 1.6.0-1
Candidate: 1.6.0-1
Version table:
*** 1.6.0-1 0
500 http://
100 /var/lib/
$
jpilot (if not configured with --with-flock) should use fcntl() instead of flock(). I don't remember when this option was added.
Can you try to rebuild the Debian unstable version (1.6.2.4-1) and check the problem is still present?
Or try to use strace(1) to know why the locking fails.