Christian Smith wrote:
> Max Barry uttered:
> 
>     My database is permanently locked, and I've spent two fruitless days
>     trying to unlock it.
> 
> You haven't said what sort of box this is. I guess a generic Unix. If Linux, 
> you'll probably have fuser installed. Run fuser against the database file, 
> and it'll tell you the PID of any process that has the file open. I'm not 
> sure if other Unix have fuser installed by default.

Sorry, yes: it's a Linux box with a 2.4.32 kernel.

> If the file is owned by a trac processs, you can kill it using "fuser -k", 
> assuming you have permission.

Unfortunately fuser doesn't show any process holding a lock, and I've
already tried killing every process I have permission to.

I suspect that fuser might not show me the answer because I'm non-root.
Certainly ps, top, etc, only show processes I own. I've asked the box
owner to run 'fuser' for me and see if that shows something.

drh wrote:
> Is the database on an NFS filesystem.  The locking is busted
> on some (many?) implementations of NFS, resulting in behavior
> like shown above.

Yep, it's NFS. The line from /etc/fstab is:

10.3.100.108:/vol/boot/spunky/maitland  /home/.maitland nfs
defaults,intr,vers=3,bg,rsize=8192,wsize=8192   0 0

> Your work-around is to copy the database to a local filesystem
> that actually supports posix advisory locks.

Ah. Except I don't think I can do that, because I don't have root on
this box.

I discovered I could make a copy of the trac.db file and edit my
trac.ini file to make point to that instead ("database =
sqlite:db/trac2.db"). Ta da, no more lock! So at least my site is usable
again.

But it sounds like this will happen again with my current configuration.
Is there anything I can do as non-root, or do I need to just be prepared
for lots of db copying?

Thanks very much to drh and Christian for the fast replies!

Max.


-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to