Hi,
This indicates the presence of a** lock
file within ~/.gnupg
or its subfolders, likely located within the \~/.gnupg/public-keys.d
directory, which shouldn't be there. It needs to be removed. For example: \~/.gnupg/public-keys.d/pubring.db.lock
. If you run cat
on the lock
file, you'll find a PID
inside the error message removing stale lockfile (created by 17297)
or in my case **gpg: Note: database\_open 134217901 waiting for lock (held by 7) ...
.
Here are some other approaches to prevent this error:
- Docker:
When creating your Docker image, include the** **public-keys.d
folder like this:
RUN mkdir -p \~/.gnupg/public-keys.d
before importing keys. - On a local machine:
If the folder** **~/.gnupg/public-keys.d
doesn't exist, create it before importing keys.
568718040f3d:/# ls -al ~/.gnupg/public-keys.d/ total 84 drwxr-x--- 2 root root 4096 Mar 16 02:34 . -rw-r--r-- 2 root root 27 Mar 16 02:34 .#lk0x00007ff8c7261aa0.buildkitsandbox.7 drwx------ 4 root root 4096 Mar 16 02:34 .. -rw-r--r-- 1 root root 65536 Mar 16 02:34 pubring.db -rw-r--r-- 2 root root 27 Mar 16 02:34 pubring.db.lock 568718040f3d:/# cat ~/.gnupg/public-keys.d/pubring.db.lock 7 buildkitsandbox 568718040f3d:/# gpg --list-keys gpg: Note: database_open 134217901 waiting for lock (held by 7) ... gpg: Note: database_open 134217901 waiting for lock (held by 7) ... gpg: Note: database_open 134217901 waiting for lock (held by 7) ... gpg: Note: database_open 134217901 waiting for lock (held by 7) ... gpg: Note: database_open 134217901 waiting for lock (held by 7) ... gpg: keydb_search_first failed: Operation timed out 568718040f3d:/# rm -f ~/.gnupg/public-keys.d/pubring.db.lock 568718040f3d:/# gpg --list-keys [keyboxd] --------- pub rsa**** 2024-03-15 [SC] B7244*******5341455F5D5*******1F96D uid [ unknown] GitLab ***** (032024) <c*******d@gitlab.com> sub rsa**** 2024-03-15 [E] 568718040f3d:/#
Hope this helps!