Re: RFH: stale (f)lock in /proc/locks - process no longer exists

From: Philipp Hahn
Date: Wed Oct 14 2015 - 04:54:07 EST


To answer my own question:

Am 14.10.2015 um 10:30 schrieb Philipp Hahn:
> I have several shell scripts using "/usr/bin/flock -x
> /run/lock/jenkins-ip.lock" to acquiring the exclusive lock. Today they
> hang, while the lock is owned by a process which no longer exists:
...
> 1. How can this happen?
> My understanding is, that all files are closed on process exit and
> that all locks are released then. Did I miss something.

I used "{ flock -x 9 } 9<>/var/lock/jenkins-ip.lock": The shell opens
the file, but flock runs in a sub-process; after doing the locking the
process exits and is no longer available, but the locking for the still
opened file persist.

My shell script then received some signals, invoked its trap handler,
which then did some recursive locking.

> 2. How can I release that lock?

Killed the recursive "flock -x" call.

Philipp
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/