I am using different git repositories for source code versioning cloned from different upstream origins (e.g. GitHub.com, gitlab.com, self-hosted gitlab etc.), all with SSH key access. git pull
always works, but after I create a new commit using
touch test && git add . && git commit -a -m "Test"
git push
will always time out, on all repositories with all upstream origins. After that, all other git operations involving the remote (git clone
, git pull
, ...) will time out as well, even on other repositories with different usptreams.
However, I am using gpg signed commits by default. If I disable that by setting
git config --global commit.gpgsign false
delete my local repositories with new commits, clone them again and create new unsigned commits, pushing works.
So it seems to be some kind related to the commit signing. Any ideas? On my other machine, which is configured the same way (same software versions, same configs), pushing signed commits works.
EDIT: As supposed in the commits, I've tested this issue with commits that are unencrypted but have large commit messages, and interestingly got failures for commit messages around 4KB. So maybe this issue is related to the size of the commit messages?
EDIT 2: It is strangely connected to the MTU of my network interface, if I lower it from 1500 to 500, everything works fine. A Wireshark dump of a failing git push
session with MTU 1500 looks like this:
Any ideas?