-
-
Notifications
You must be signed in to change notification settings - Fork 12.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
openssh 9.3p1_1 segfaults when connecting to Azure DevOps repos #135200
Comments
Seems to be similar to openssl/openssl#18420 |
Not necessarily. While it is related as Azure DevOps uses an old Host-Key Algorithm, it doesn't explain the segfault. The config override was already necessary in earlier versions of openssh. What is even more dubious is the fact that this happens in combination with git, without git giving you even a hint what the problem is. It took me several hours to narrow down that the problem is in fact within openssh. Whatever this leads to it still should not segfault but instead show an error that is descriptive of the situation. |
Can you run this command with a debugger to see what is happening with the segfault? |
I'll see if I can find time to do so either tonight or tomorrow. Please give me some time. |
Thanks for the detailed steps for reproduction. I've been unable to reproduce the issue so far:
|
interesting |
I can reproduce a segfault using x86_64 bottle on Rosetta installation (though I didn't set up RSA key for Azure or SSH configs so can't guarantee exact same situation). I will note that I can't reproduce with ARM bottle installation though with same setup/configs.
Looking at recompiled symbols, in my case, |
I can reproduce this with the Ventura bottle but not the Monterey one. Using the Monterey bottle for now might be enough of a workaround:
|
We could try building with I think part of issue is OpenSSH's
Xcode 14.3.1 (Apple clang 14.0.3) is LLVM 15. Also, the version detection doesn't work with Apple Clang (nor with Homebrew LLVM's Clang) and returns:
The "Apple"/"Homebrew" in |
Trying out an inreplace hack in #135373. Didn't see any issue when attempted locally but haven't checked if this is the root cause of issue. |
openssh_9.3p1_2 bottle fixes the issue on my machine. |
Problem fixed for me as well, no more segfault. 👏🏼 |
brew gist-logs <formula>
link ORbrew config
ANDbrew doctor
outputbrew gist-logs openssh
Error: No logs.
brew config
brew doctor
Verification
brew doctor
output" saysYour system is ready to brew.
and am still able to reproduce my issue.brew update
and am still able to reproduce my issue.brew doctor
and that did not fix my problem.What were you trying to do (and why)?
git fetch from an Azure DevOps Repository
What happened (include all command output)?
What did you expect to happen?
data can be fetched from remote repository
However this fails
Doing a cross-test with ssh directly i was able to reproduce what is the problem: openssh segfaults
If i revert openssh to commit 2848b48 (openssh 9.3p1), install the formula and pin it. Everything works fine (both ssh test and git).
Step-by-step reproduction instructions (by running
brew
commands)git clone
or
git fetch (if the repo is already cloned locally)
will fail
If you do the crosstest with ssh (no Azure DevOps account required) it will segfault.
Unfortunately Azure Repos still uses an old ssh-rsa authentication so you need the following in your ~/.ssh/config (see: https://learn.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops)
The text was updated successfully, but these errors were encountered: