acquireServerLock caught every open failure as if the lock were held:
EACCES/EROFS/ENOENT surfaced as phantom "another process holds the lock"
(null return, no diagnostics), and a failed stale-lock read or unlink was
swallowed the same way. Each failure class now logs a coded, pathed
diagnostic: non-EEXIST open errors, holder-PID read errors (ENOENT retries
the acquire — the holder released between open and read), and stale-lock
unlink errors. Four-case unit test included.
Closes#1084.
Contributed by @jbetala7 (PR #1725); same fix independently by
@JiayuuWang (PR #1097).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>