MacOSでGPGがハングする

MacOSでGPGがハングする

キーにアクセスしようとすると、GPGは中断されます。既存のソリューションではKillを提案しましたが、gpg-agentこれは役に立ちませんでした。デバッグロギングを試みましたが(以下を参照)、何も取得できませんでした。

私のオペレーティングシステムはMacOS Sonomaで、Homebrewのgpg 2.4.3を実行しています。

$ pkill -9 gpg-agent

~
$ gpg --version
gpg (GnuPG) 2.4.3
libgcrypt 1.10.2
Copyright (C) 2023 g10 Code GmbH
License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /Users/mporkola/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

~
$ gpg --list-secret-keys --keyid-format=long --debug-level guru
gpg: enabled debug flags: packet mpi crypto filter iobuf memory cache memstat trust hashing ipc clock lookup extprog
gpg: enabled compatibility flags:
gpg: DBG: [no clock] start
gpg: using pgp trust model

答え1

いいね、2日前、macOSのインストールが中断された後にランダムにこの問題が発生しました。私はmacOS Sonoma 14.2.1を実行しています。何が起こっているのかよく分からない。find-file

私のEmacsを停止するコマンドは次のとおりです。

/usr/local/bin/gpg --with-colons --no-greeting --batch --with-fingerprint --with-fingerprint --fixed-list-mode --list-keys "Frederick"

解決策

確実な解決策(gpgダウングレード)

Doom Emacsリポジトリから見た目には関係がないように見えるこの問題に対応して、Arch Linuxユーザーはgpgファイルを保存すると中断が発生することを報告しました。彼らの解決策は、[email protected]最新バージョンに問題があるようでインストールすることです2.4.3[domemacs/domemacs] epaで暗号化された組織の.gpgファイルを保存できません#7589

彼らの解決策はにダウングレードすることだったので、[email protected]私も同じアプローチを試みると思いました。次のコマンドを実行しているようですただ仕事だ:

brew uninstall --ignore-dependencies gnupg; # uninstall gpg
brew install [email protected]; # install [email protected]
brew link [email protected]; # link the new version of gpg to /usr/local/bin

このコマンドを実行すると、すべてが次のようになります。ただ仕事だ。上記のコマンドはもはや中断されません。

gpg v2.4.3仕事を始める

ワーキングバージョンのインストールプロセスをすべて進める前に[email protected]初めてhang命令を実行したときにロックを取得できませんでした~/.gnupg。アクティビティモニタを見ると、多数のgpgプロセスが実行されていることがわかります。killall gpgプロセスを非常に迅速に終了します。

のロックファイルを削除しました~/.gnupg/gnupg_spawn_keyboxd_sentinel.lock。役に立たない。これは私がインストールを始めたときの話です[email protected]

しかし、後で見るとそんなことがあった。その他ファイルをロックします。つまり、~/.gnupg/public-keys.d/pubring.db.lock.最初はこのロックファイルを削除しませんでした。

だから。最新のものを再インストールしようgnupg...それ以前は、そのロックファイルを削除していませんでした。

  • 注文する:
    brew uninstall --ignore-dependencies [email protected];
    brew install gnupg;
    
  • gpgついていることを確認してください。
    /usr/local/bin/gpg --with-colons --no-greeting --batch --with-fingerprint --with-fingerprint --fixed-list-mode --list-keys "Frederick"
    
    ギイ! (?) まだ詰まっています。

~/.gnupg/gnupg_spawn_keyboxd_sentinel.lock今やからロックファイルを削除すると、上記のコマンドが~/.gnupg/public-keys.d/pubring.db.lock機能するようです!

まだいくつかの質問があります。

  • 上記の@Kusalanandaのコメントに関しては、設定にGnuPGキーがあるかどうかわかりません。たぶん私はそうでしたか?しかし、パッケージについては[email protected]gnupg一度動作させた後)、次のメッセージを受け取りました。

    gpg: error reading key: No public key
    

    うーん…面白いですね。

  • しかし、これが起こるのはなぜですか?

    • これは良い質問です。 Emacsはうまくいきましたが、停電が発生して動作が停止しました(停止のためgpg)。
    • gnupg2.4.3作成時点に基づいて約9ヶ月前に更新されました。だからアップグレードの問題ではないと思います。停電が発生した後にそのdb.lockファイルを処理し、インストール[email protected]にこの問題が発生しなかったことを考慮すると、dbファイルを尊重する.lock何かが導入された可能性があります。推測だけしてみると…
  • 失われた鍵に関する上記の説明とこれらのメッセージを受け取ったという事実を判断すると、おそらくこれが関連しているはずです。鍵を持っていましたが、破損しているのかどうかはわかりません。どちらにしてもこれは本当ではないようです[email protected]

私はもともとDoom Emacs Githubの問題トラッカーの他の問題に私の問題を投稿しました。ユーザーが停電を経験してファイルを開くことはできません。停電が私たちが経験している問題に関連しているかどうか疑問に思いますgpg。何の問題も報告していませんが、gpgデバッグ情報をあまり公開していないようです。

[domemacs/domemacs] MacOS Venturaをクリーンインストールすると、ファイルを開くときに停止します。#7289

関連情報