Skip to content
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

bpo-36511 add arm32 buildbot diagnostic messages #14251

Merged
merged 3 commits into from
Jun 20, 2019

Conversation

paulmon
Copy link
Contributor

@paulmon paulmon commented Jun 19, 2019

I'm trying figure out why ssh.exe doesn't work on Windows when the buildbot worker is running.

The path includes C:\WINDOWS\System32\OpenSSH\ and the location of ssh.exe on my machine is C:\WINDOWS\System32\OpenSSH\ssh.exe

Previously the script had ssh.exe expecting to find it on the path. But at runtime there was this error message: 'ssh' is not recognized as an internal or external command

So I tried adding if "%SSH%"=="" if EXIST %WINDIR%\System32\OpenSSH\ssh.exe (set SSH=%WINDIR%\System32\OpenSSH\ssh.exe) and calling %SSH% in the script

Now it echos SSH = meaning that the test for EXIST failed. From the same console window that I'm launching the worker from ssh.exe is on the path and works fine.

Any ideas? @zware @zooba

EDIT: Steve pointed out in the comments of #13454 that it might be 32-bit vs 64-bit issue. I had 32-bit python installed and ssh.exe appears to be 64-bit only. Trying to update the worker to python 64-bit

https://bugs.python.org/issue36511

@paulmon
Copy link
Contributor Author

paulmon commented Jun 19, 2019

I tried skimming the buildbot documentation before posting this at https://devguide.python.org/buildworker/ and https://docs.buildbot.net/current/manual/index.html and I don't see anything obvious that needs to be configured to allow calling ssh.exe

@zooba
Copy link
Member

zooba commented Jun 19, 2019

It looks like C:\Windows\System32\OpenSSH exists, but not C:\Windows\SysWOW64\OpenSSH, which means if you hit 32-bit file system redirection then it's not going to find it by that path.

Maybe add fallback checks for C:\Windows\SysNative\OpenSSH. You can probably also simplify the code a bit by just extending PATH with both of these and then assuming that ssh and scp are available.

@zooba
Copy link
Member

zooba commented Jun 19, 2019

You can test this by launching C:\Windows\SysWOW64\cmd.exe explicitly and running from there. That'll give you the 32-bit command prompt

@paulmon
Copy link
Contributor Author

paulmon commented Jun 19, 2019

still testing these changes on the buildbot worker machine

@@ -2,6 +2,7 @@
rem Used by the buildbot "remotedeploy" step.
setlocal

set PATH=%PATH%;%SystemRoot%\SysNative\OpenSSH
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, SysNative only works in 32-bit command prompt. Add both SysNative and System32 here to ensure it works even if we switch to a 64-bit process one day.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

System32\OpenSSH is always on the path right now, whether I run C:\Windows\SysWOW64\cmd.exe or C:\Windows\System32\cmd.exe. I can add it again, but it seemed redundant

@miss-islington
Copy link
Contributor

Thanks @paulmon for the PR, and @zooba for merging it 🌮🎉.. I'm working now to backport this PR to: 3.8.
🐍🍒⛏🤖

@miss-islington
Copy link
Contributor

Sorry, @paulmon and @zooba, I could not cleanly backport this to 3.8 due to a conflict.
Please backport using cherry_picker on command line.
cherry_picker a1952122a3a20272e4db9e3c6205009a91c73ccf 3.8

zooba pushed a commit to zooba/cpython that referenced this pull request Jun 20, 2019
@bedevere-bot
Copy link

GH-14279 is a backport of this pull request to the 3.8 branch.

CuriousLearner added a commit to CuriousLearner/cpython that referenced this pull request Jun 21, 2019
* master: (599 commits)
  Docs: Improved phrasing (pythonGH-14069)
  Remove redundant if check from optional argument function in argparse. (pythonGH-8766)
  bpo-37289: Add a test for if with ifexpr in the peephole optimiser to detect regressions (pythonGH-14127)
  Update What's New in Python 3.9 (pythonGH-14253)
  bpo-36511: Improve ARM32 buildbot scripts (pythonGH-14251)
  bpo-37151: remove _PyCFunction_FastCallDict (pythonGH-14269)
  Fix typo, 'widger' -> 'widget', in idlelib/tree.py (pythonGH-14263)
  Fix bpo number in News file. (pythonGH-14260)
  bpo-37342: Fix the incorrect nb_index's type in typeobj documentation (pythonGH-14241)
  Update What's New in Python 3.8 (pythonGH-14239)
  bpo-36710: Use tstate in pylifecycle.c (pythonGH-14249)
  Add missing single quote in io.TextIOWrapper.reconfigure documentation (pythonGH-14246)
  bpo-36511: Add buildbot scripts and fix tests for Windows ARM32 buildbot (pythonGH-13454)
  bpo-37333: Ensure IncludeTkinter has a value (pythonGH-14240)
  bpo-37331: Clarify format of socket handler messages in the documentation. (pythonGH-14234)
  bpo-37258: Not a bug, but added a unit test and updated documentation. (pythonGH-14229)
  bpo-36710: Remove PyImport_Cleanup() function (pythonGH-14221)
  Fix name of '\0'. (pythonGH-14222)
  bpo-36710: Add tstate parameter in import.c (pythonGH-14218)
  Document typing.ForwardRef (pythonGH-14216)
  ...
lisroach pushed a commit to lisroach/cpython that referenced this pull request Sep 10, 2019
DinoV pushed a commit to DinoV/cpython that referenced this pull request Jan 14, 2020
@paulmon paulmon mannequin mentioned this pull request May 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants