Inspectopedia Help

Lock acquired but not safely unlocked

Reports java.util.concurrent.locks.Lock resources that are not acquired in front of a try block or not unlocked in the corresponding finally block. Such resources may be inadvertently leaked if an exception is thrown before the resource is closed.

Example:

lock.lock(); // will be reported since the 'finally' block is missing try { doSmthWithLock(); } catch (IOException e) { throw new UncheckedIOException(e); } lock.unlock();

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023