Getting started with 1Password for your growing team, or refining your setup? Our Secured Success quickstart guide is for you.
Forum Discussion
robertodr
3 years agoOccasional Contributor
Git commit signing fails with `error: failed to fill whole buffer`
I've updated to Git 2.40.1 and it seems that broke commit signing. Prepending GIT_TRACE=2
to git commit
gives as last message:
20:09:00.367459 run-command.c:655 trace: run_command: op-ssh-sign -Y sign -n git -f /tmp/.git_signing_key_tmpe1dbw6 -U /tmp/.git_signing_buffer_tmp0t7i5W
and after working on it for a bit, this gives:
```
error: failed to fill whole buffer
fatal: failed to write commit object
```
1Password Version: 8.10.6
Extension Version: 2.10.0
OS Version: NixOS 23.05.20230520.3005f20
Browser:_ Brave
27 Replies
- robertodrOccasional Contributor
Installing the latest version of 1Password fixed it for me!
I'm now running 1Password 8.10.8, Git 2.41.0 and OpenSSH_9.3p1, OpenSSL 3.0.9 30 May 2023
- Former Member
I am receiving the same error in the same situation. Is there a remedy for this problem yet?
- asportnoyOccasional Contributor
I get this occasionally with the VSCode Git integration, though if I try again after it fails it usually works. I don't use the Git CLI very much but I don't think I've had the issue there, but could be wrong.
I am on macOS Ventura with 1Password for Mac 8.10.7 (81007041).
Git version: 2.41.0
OpenSSH version: OpenSSH_9.0p1, LibreSSL 3.3.6 - robertodrOccasional Contributor
Correct.
op-ssh-sign
gives thatwhole buffer
error. - floris_1P
1Password Team
And the error message you're getting with
op-ssh-sign
, is thaterror: failed to fill whole buffer
as well? - robertodrOccasional Contributor
git version 2.40.1
OpenSSH_9.3p1, OpenSSL 3.0.9 30 May 2023
- floris_1P
1Password Team
Which versions of Git and OpenSSH are you using?
git --version && ssh -V
- robertodrOccasional Contributor
Running this:
SSH_AUTH_SOCK=~/.1password/agent.sock ssh-add -L | grep "$(git config user.signingkey)"
returns nothing, even though the output ofSSH_AUTH_SOCK=~/.1password/agent.sock ssh-add -L
:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAeqrr+kvXVWD+BdrP49t8ul/wvKQyXQ/bavjT5JJoLK JumpCloud
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIODV5S21+jV0900ubPoYvdHol/xfbJjVhxayuMEFuPKo GitHub signing key
clearly contains the output of"$(git config user.signingkey)"
:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIODV5S21+jV0900ubPoYvdHol/xfbJjVhxayuMEFuPKo
And with the shim forssh-keygen
:
```
git commit --allow-empty -m "foo" -Serror: Signing file /tmp/.git_signing_buffer_tmpNpihD5
Couldn't sign message (signer): communication with agent failed?
Signing /tmp/.git_signing_buffer_tmpNpihD5 failed: communication with agent failed?fatal: failed to write commit object
``` - floris_1P
1Password Team
Just checking to make sure: does this command return your signing key?
SSH_AUTH_SOCK=~/.1password/agent.sock ssh-add -L | grep "$(git config user.signingkey)"
And it could be useful to get your
ssh-keygen -v
logs. To add the-v
flag, I believe you'll have to create a shim for thessh-keygen
command:
```!/bin/sh
ssh-keygen -v "$@"
```And run:
chmod +x /path/to/shim
git config gpg.ssh.program /path/to/shim
- robertodrOccasional Contributor
Yes,
SSH_AUTH_SOCK
is set. I can't see anything related to this in the logs, unfortunately...