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

Remote execution fails during Find interpreter for constraints: CPython==3.11.* #21747

Open
riebecj opened this issue Dec 11, 2024 · 15 comments
Open
Labels

Comments

@riebecj
Copy link

riebecj commented Dec 11, 2024

Describe the bug
The remote BuildGrid server is configured with a remote path of /home/ssm-user/caches and it has write access. The pants.toml has the configuration remote_execution_append_only_caches_base_path = "/home/ssm-user/caches", which seems to work, as it created pex_root and python_build_standalone directories in it. However, when I attempt to run a remote build pants package ..., I get the following output:

[2024-12-11T20:02:53Z DEBUG pantsd] Looking for pantsd metadata in /home/cjriebe/devbox/GenesisAPI/.pants.d/pids as specified by [GLOBAL] pants_subprocessdir = .pants.d/pids via Default.
[2024-12-11T20:02:53Z DEBUG pantsd] Parsed port 38065 from /home/cjriebe/devbox/GenesisAPI/.pants.d/pids/393dfc9db323/pantsd/socket.
[2024-12-11T20:02:53Z DEBUG pantsd] Parsed pid 10522 from /home/cjriebe/devbox/GenesisAPI/.pants.d/pids/393dfc9db323/pantsd/pid.
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Argument("--python-repos-find-links=-[]"))
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Argument("-ldebug"))
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Argument("package"))
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Argument(":genesis-api.whl"))
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "WSL_DISTRO_NAME", val: "Ubuntu-20.04" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "SCIE_ARGV0", val: "/home/cjriebe/.local/bin/pants" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "LESSOPEN", val: "| /usr/bin/lesspipe %s" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "PS1", val: "\\[\u{1b}]633;A\u{7}\\](python-default.pex) \\[\\e]0;\\u@\\h: \\w\\a\\]${debian_chroot:+($debian_chroot)}\\[\\033[01;32m\\]\\u@\\h\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]\\$ \\[\u{1b}]633;B\u{7}\\]" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "COLORTERM", val: "truecolor" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "WSL2_GUI_APPS_ENABLED", val: "1" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "PANTS_DEBUG", val: "" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "VIRTUAL_ENV", val: "/home/cjriebe/.cache/pants/named_caches/pex_root/venvs/339ddd89a5c407a308a9f1d4fc26c89b84038c3e/73c7d7c618fac01449fa6e57a21210c0eb8a8f21" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "HOME", val: "/home/cjriebe" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "NAME", val: "GILR-147S2F3" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "WSL_INTEROP", val: "/run/WSL/13108_interop" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "WAYLAND_DISPLAY", val: "wayland-0" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "DISPLAY", val: "172.23.144.1:0.0" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "NVM_DIR", val: "/home/cjriebe/.nvm" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "USER", val: "cjriebe" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "NVM_BIN", val: "/home/cjriebe/.nvm/versions/node/v18.17.1/bin" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "_PANTS_SERVER_EXE", val: "/home/cjriebe/.cache/nce/29319df9a6ca02e838617675b5b8dd7e5b18a393c27e74979823158b85c015d9/bindings/venvs/2.23.0/bin/pants" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "VSCODE_GIT_ASKPASS_NODE", val: "/home/cjriebe/.vscode-server/bin/f1a4fb101478ce6ec82fe9627c43efbf9e98c813/node" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "LESSCLOSE", val: "/usr/bin/lesspipe %s %s" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "OLDPWD", val: "/" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "BUN_INSTALL", val: "/home/cjriebe/.local/share/reflex/bun" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "LOGNAME", val: "cjriebe" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "VSCODE_GIT_ASKPASS_MAIN", val: "/home/cjriebe/.vscode-server/bin/f1a4fb101478ce6ec82fe9627c43efbf9e98c813/extensions/git/dist/askpass-main.js" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "PWD", val: "/home/cjriebe/devbox/GenesisAPI" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "_", val: "/home/cjriebe/.local/bin/pants" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "LANG", val: "C.UTF-8" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "SHLVL", val: "1" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "XDG_RUNTIME_DIR", val: "/mnt/wslg/runtime-dir" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "XDG_DATA_DIRS", val: "/usr/local/share:/usr/share:/var/lib/snapd/desktop" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "NVM_INC", val: "/home/cjriebe/.nvm/versions/node/v18.17.1/include/node" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "LS_COLORS", val: "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "WSLENV", val: "VSCODE_WSL_EXT_LOCATION/up" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "TERM_PROGRAM", val: "vscode" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "TERM_PROGRAM_VERSION", val: "1.95.3" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "PANTS_BUILDROOT_OVERRIDE", val: "/home/cjriebe/devbox/GenesisAPI" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "VSCODE_GIT_ASKPASS_EXTRA_ARGS", val: "" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "GIT_ASKPASS", val: "/home/cjriebe/.vscode-server/bin/f1a4fb101478ce6ec82fe9627c43efbf9e98c813/extensions/git/dist/askpass.sh" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "SSL_CERT_FILE", val: "/etc/ssl/certs/ca-certificates.crt" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "HOSTTYPE", val: "x86_64" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "TERM", val: "xterm-256color" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "VIRTUAL_ENV_PROMPT", val: "(python-default.pex) " })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "PATH", val: "/home/cjriebe/.vscode-server/extensions/ms-python.python-2024.20.0/python_files/deactivate/bash:/home/cjriebe/.cache/pants/named_caches/pex_root/venvs/339ddd89a5c407a308a9f1d4fc26c89b84038c3e/73c7d7c618fac01449fa6e57a21210c0eb8a8f21/bin:/home/cjriebe/.local/share/reflex/bun/bin:/home/cjriebe/.vscode-server/extensions/ms-python.python-2024.20.0/python_files/deactivate/bash:/home/cjriebe/.cache/pants/named_caches/pex_root/venvs/339ddd89a5c407a308a9f1d4fc26c89b84038c3e/73c7d7c618fac01449fa6e57a21210c0eb8a8f21/bin:/home/cjriebe/.vscode-server/bin/f1a4fb101478ce6ec82fe9627c43efbf9e98c813/bin/remote-cli:/home/cjriebe/.local/bin:/home/cjriebe/.local/share/reflex/bun/bin:/home/cjriebe/.nvm/versions/node/v18.17.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Python311/Scripts/:/mnt/c/Python311/:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/usbipd-win/:/mnt/c/Program Files/dotnet/:/mnt/c/Users/cjriebe/AppData/Roaming/Python/Python311/Scripts:/mnt/c/Program Files/Amazon/AWSCLIV2/:/mnt/c/Program Files/Amazon/SessionManagerPlugin/bin/:/mnt/c/Users/cjriebe/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/cjriebe/AppData/Local/JetBrains/IntelliJ IDEA 2023.2/bin:/mnt/c/Users/cjriebe/AppData/Local/Programs/Microsoft VS Code/bin:/snap/bin:/home/cjriebe/.local/bin:/home/cjriebe/.local/bin" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "SCIE_PANTS_VERSION", val: "0.10.6" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "VSCODE_GIT_IPC_HANDLE", val: "/mnt/wslg/runtime-dir/vscode-git-9ad16a7112.sock" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "PANTS_CA_CERTS_PATH", val: "/etc/ssl/certs/ca-certificates.crt" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "NVM_CD_FLAGS", val: "" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "PULSE_SERVER", val: "unix:/mnt/wslg/PulseServer" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "VSCODE_IPC_HOOK_CLI", val: "/mnt/wslg/runtime-dir/vscode-ipc-adf0b15d-f0d9-46c6-a259-b83915002a28.sock" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "PANTS_BIN_NAME", val: "pants" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "PANTS_VERSION", val: "2.23.0" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "SCIE", val: "/home/cjriebe/.local/bin/pants" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "SHELL", val: "/bin/bash" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "PANTSD_RUNTRACKER_CLIENT_START_TIME", val: "1733947373.9372733" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "PANTSD_REQUEST_TIMEOUT_LIMIT", val: "60" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "NAILGUN_TTY_PATH_0", val: "/dev/pts/5" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "NAILGUN_TTY_PATH_1", val: "/dev/pts/5" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Environment { key: "NAILGUN_TTY_PATH_2", val: "/dev/pts/5" })
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(WorkingDir("/home/cjriebe/devbox/GenesisAPI"))
[2024-12-11T20:02:53Z DEBUG nails::client] nails client sending initialization chunk Ok(Command("/home/cjriebe/.cache/nce/29319df9a6ca02e838617675b5b8dd7e5b18a393c27e74979823158b85c015d9/bindings/venvs/2.23.0/lib/python3.9/site-packages/pants/bin/native_client"))
14:02:53.94 [DEBUG] Connected to pantsd
14:02:53.94 [DEBUG] work dir: /home/cjriebe/devbox/GenesisAPI
14:02:53.95 [DEBUG] Found BuildRoot("/home/cjriebe/devbox/GenesisAPI") starting search from /home/cjriebe/devbox/GenesisAPI.
14:02:53.97 [DEBUG] Found BuildRoot("/home/cjriebe/devbox/GenesisAPI") starting search from /home/cjriebe/devbox/GenesisAPI.
14:02:54.00 [DEBUG] Launching 1 roots (poll=false).
14:02:54.00 [DEBUG] Dependency SessionValues of Some("@rule(pants.engine.intrinsics.session_values())") changed.
14:02:54.00 [DEBUG] Dependency @rule(pants.engine.intrinsics.session_values()) of Some("@rule(pants.engine.internals.options_parsing.parse_options())") changed.
14:02:54.00 [DEBUG] Found BuildRoot("/home/cjriebe/devbox/GenesisAPI") starting search from /home/cjriebe/devbox/GenesisAPI.
14:02:54.03 [DEBUG] Dependency @rule(pants.engine.internals.options_parsing.parse_options()) of Some("@rule(pants.engine.internals.options_parsing.scope_options())") changed.
14:02:54.04 [DEBUG] computed 1 nodes in 0.035261 seconds. there are 14 total nodes.
14:02:54.04 [DEBUG] Launching 1 roots (poll=false).
14:02:54.04 [DEBUG] Dependency @rule(pants.engine.internals.options_parsing.parse_options()) of Some("@rule(pants.engine.internals.options_parsing.scope_options())") changed.
14:02:54.04 [DEBUG] Dependency @rule(pants.engine.internals.options_parsing.scope_options()) of Some("@rule(construct_scope_())") changed.
14:02:54.04 [DEBUG] Dependency @rule(construct_scope_()) of Some("@rule(pants.init.plugin_resolver.resolve_plugins())") changed.
14:02:54.04 [DEBUG] computed 1 nodes in 0.001101 seconds. there are 14 total nodes.
14:02:54.17 [DEBUG] Found BuildRoot("/home/cjriebe/devbox/GenesisAPI") starting search from /home/cjriebe/devbox/GenesisAPI.
14:02:54.21 [INFO] Initialization options changed: reinitializing scheduler...
14:02:54.21 [DEBUG] terminating pantsd service: <pants.pantsd.service.scheduler_service.SchedulerService object at 0x7ef366c14820>
14:02:54.39 [DEBUG] terminating pantsd service: <pants.pantsd.service.store_gc_service.StoreGCService object at 0x7ef36615af40>
14:02:54.43 [DEBUG] File handle limit is: 1048576
14:02:54.48 [INFO] Initializing Nailgun pool for 16 processes...
14:02:54.48 [DEBUG] Using [cache::CommandRunner { inner: remote_cache::CommandRunner { inner: SwitchedCommandRunner { .. }, .. }, .. }, cache::CommandRunner { inner: remote_cache::CommandRunner { inner: SwitchedCommandRunner { .. }, .. }, .. }] for process execution.
14:03:00.68 [DEBUG] Changes to /home/cjriebe/.cache/nce/29319df9a6ca02e838617675b5b8dd7e5b18a393c27e74979823158b85c015d9/bindings/venvs/2.23.0/bin, outside of the buildroot, will not be invalidated.
14:03:00.68 [DEBUG] Changes to /home/cjriebe/.cache/nce/29319df9a6ca02e838617675b5b8dd7e5b18a393c27e74979823158b85c015d9/bindings/venvs/2.23.0/bin, outside of the buildroot, will not be invalidated.
14:03:00.68 [DEBUG] Changes to /home/cjriebe/.cache/nce/67912efc04f9156d8f5b48a0348983defb964de043b8c13ddc6cc8a002f8e691/cpython-3.9.18+20240107-x86_64-unknown-linux-gnu-install_only.tar.gz/python/lib/python39.zip, outside of the buildroot, will not be invalidated.
14:03:00.68 [DEBUG] Changes to /home/cjriebe/.cache/nce/67912efc04f9156d8f5b48a0348983defb964de043b8c13ddc6cc8a002f8e691/cpython-3.9.18+20240107-x86_64-unknown-linux-gnu-install_only.tar.gz/python/lib/python3.9, outside of the buildroot, will not be invalidated.
14:03:00.68 [DEBUG] Changes to /home/cjriebe/.cache/nce/67912efc04f9156d8f5b48a0348983defb964de043b8c13ddc6cc8a002f8e691/cpython-3.9.18+20240107-x86_64-unknown-linux-gnu-install_only.tar.gz/python/lib/python3.9/lib-dynload, outside of the buildroot, will not be invalidated.
14:03:00.68 [DEBUG] Changes to /home/cjriebe/.cache/nce/29319df9a6ca02e838617675b5b8dd7e5b18a393c27e74979823158b85c015d9/bindings/venvs/2.23.0/lib/python3.9/site-packages, outside of the buildroot, will not be invalidated.
14:03:00.68 [DEBUG] setting up service <pants.pantsd.service.scheduler_service.SchedulerService object at 0x7ef3655681f0>
14:03:00.68 [DEBUG] setting up service <pants.pantsd.service.store_gc_service.StoreGCService object at 0x7ef3654eec10>
14:03:00.68 [DEBUG] starting service <pants.pantsd.service.scheduler_service.SchedulerService object at 0x7ef3655681f0>
14:03:00.69 [DEBUG] starting service <pants.pantsd.service.store_gc_service.StoreGCService object at 0x7ef3654eec10>
14:03:00.69 [INFO] Scheduler initialized.
14:03:00.71 [DEBUG] Launching 1 roots (poll=false).
14:03:00.71 [DEBUG] computed 1 nodes in 0.003381 seconds. there are 14 total nodes.
14:03:00.71 [DEBUG] Launching 1 roots (poll=false).
14:03:00.71 [DEBUG] computed 1 nodes in 0.000467 seconds. there are 14 total nodes.
14:03:01.01 [DEBUG] specs are: Specs(includes=RawSpecs(description_of_origin='CLI arguments', address_literals=(AddressLiteralSpec(path_component='', target_component='genesis-api.whl', generated_component=None, parameters=FrozenDict({})),), file_literals=(), file_globs=(), dir_literals=(), dir_globs=(), recursive_globs=(), ancestor_globs=(), unmatched_glob_behavior=<GlobMatchErrorBehavior.error: 'error'>, filter_by_global_options=True, from_change_detection=False), ignores=RawSpecs(description_of_origin='CLI arguments', address_literals=(), file_literals=(), file_globs=(), dir_literals=(), dir_globs=(), recursive_globs=(), ancestor_globs=(), unmatched_glob_behavior=<GlobMatchErrorBehavior.error: 'error'>, filter_by_global_options=False, from_change_detection=False))
14:03:01.01 [DEBUG] changed_options are: ChangedOptions(since=None, diffspec=None, dependents=<DependentsOption.NONE: 'none'>)
...
14:03:04.90 [DEBUG] Completed: Resolve transitive targets
14:03:05.06 [DEBUG] Completed: pants.backend.python.util_rules.python_sources.prepare_python_sources
14:03:05.09 [DEBUG] Completed: pants.core.util_rules.search_paths.validate_search_paths
14:03:05.09 [DEBUG] Completed: acquire_command_runner_slot
14:03:05.09 [DEBUG] Running Extract environment variables from the remote execution environment under semaphore with concurrency id: 1, and concurrency: 1
14:03:05.22 [DEBUG] Remote execution: Extract environment variables from the remote execution environment
14:03:05.22 [DEBUG] built REv2 request (build_id=pants_run_2024_12_11_14_03_00_922_6edbdf1260284ac9831a1dbac2c4347e): action=Action { command_digest: Some(Digest { hash: "1aff62457aac752dc0006e7c34a1c315eed0b50658c4bb23bda1591af049e80e", size_bytes: 178 }), input_root_digest: Some(Digest { hash: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", size_bytes: 0 }), timeout: None, do_not_cache: false, salt: b"", platform: None }; command=Command { arguments: ["env", "-0"], environment_variables: [EnvironmentVariable { name: "PANTS_CACHE_KEY_EXECUTION_STRATEGY", value: "remote_execution" }, EnvironmentVariable { name: "PANTS_CACHE_KEY_SALT", value: "d4503837-2c1e-4db6-9d3b-0dcd06148187" }, EnvironmentVariable { name: "PANTS_CACHE_KEY_TARGET_PLATFORM", value: "linux_x86_64" }], output_files: [], output_directories: [], output_paths: [], platform: Some(Platform { properties: [] }), working_directory: "", output_node_properties: [] }; execute_request=ExecuteRequest { instance_name: "", skip_cache_lookup: true, action_digest: Some(Digest { hash: "0a48305e9c52e3600da8db55aecfb38642ec37b7dec68d6aa7eaab64f1023a82", size_bytes: 139 }), execution_policy: None, results_cache_policy: None }
14:03:05.63 [DEBUG] no current operation: submitting execute request: build_id=pants_run_2024_12_11_14_03_00_922_6edbdf1260284ac9831a1dbac2c4347e; execute_request=ExecuteRequest { instance_name: "", skip_cache_lookup: true, action_digest: Some(Digest { hash: "0a48305e9c52e3600da8db55aecfb38642ec37b7dec68d6aa7eaab64f1023a82", size_bytes: 139 }), execution_policy: None, results_cache_policy: None }
14:03:06.51 [DEBUG] Completed: Extract environment variables from the remote execution environment
14:03:06.52 [DEBUG] Got (nested) execute response: ExecuteResponse { result: Some(ActionResult { output_files: [], output_file_symlinks: [], output_symlinks: [], output_directories: [], output_directory_symlinks: [], exit_code: 0, stdout_raw: b"", stdout_digest: Some(Digest { hash: "044eca79d47263800f78cdc521baea24846d209c967898b63fc589ba28d9726e", size_bytes: 2250 }), stderr_raw: b"", stderr_digest: Some(Digest { hash: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", size_bytes: 0 }), execution_metadata: Some(ExecutedActionMetadata { worker: "my_bot", queued_timestamp: Some(Timestamp { seconds: 1733947385, nanos: 671233000 }), worker_start_timestamp: Some(Timestamp { seconds: 1733947385, nanos: 973248000 }), worker_completed_timestamp: Some(Timestamp { seconds: 1733947386, nanos: 355306000 }), input_fetch_start_timestamp: Some(Timestamp { seconds: 1733947386, nanos: 305132000 }), input_fetch_completed_timestamp: Some(Timestamp { seconds: 1733947386, nanos: 305651000 }), execution_start_timestamp: Some(Timestamp { seconds: 1733947386, nanos: 305806000 }), execution_completed_timestamp: Some(Timestamp { seconds: 1733947386, nanos: 340167000 }), virtual_execution_duration: None, output_upload_start_timestamp: Some(Timestamp { seconds: 1733947386, nanos: 345084000 }), output_upload_completed_timestamp: Some(Timestamp { seconds: 1733947386, nanos: 345151000 }), auxiliary_metadata: [] }) }), cached_result: false, status: Some(Status { code: 0, message: "", details: [] }), server_logs: {}, message: "" }
14:03:06.52 [DEBUG] Completed: run_execute_request
14:03:06.52 [DEBUG] Completed: Scheduling: Extract environment variables from the remote execution environment
14:03:06.59 [DEBUG] Completed: Prepare environment for running PEXes
14:03:06.59 [DEBUG] Completed: acquire_command_runner_slot
14:03:06.59 [DEBUG] Running Searching for `bash` on PATH=/usr/bin:/bin:/usr/local/bin:/opt/homebrew/bin:/home/*/.nvm/versions/node/*/bin under semaphore with concurrency id: 2, and concurrency: 1
14:03:06.59 [DEBUG] Remote execution: Searching for `bash` on PATH=/usr/bin:/bin:/usr/local/bin:/opt/homebrew/bin:/home/*/.nvm/versions/node/*/bin
14:03:06.59 [DEBUG] built REv2 request (build_id=pants_run_2024_12_11_14_03_00_922_6edbdf1260284ac9831a1dbac2c4347e): action=Action { command_digest: Some(Digest { hash: "6c71896fe139d128c3dc7ee36c7e861a79fecc8dc92fe2be42ab648c49c20f99", size_bytes: 282 }), input_root_digest: Some(Digest { hash: "fc33a6ab65993fa57d52edbff44d8a8a89faa2ec0669950d238b481da5caf15c", size_bytes: 91 }), timeout: None, do_not_cache: false, salt: b"", platform: None }; command=Command { arguments: ["./find_binary.sh", "bash"], environment_variables: [EnvironmentVariable { name: "PANTS_CACHE_KEY_EXECUTION_STRATEGY", value: "remote_execution" }, EnvironmentVariable { name: "PANTS_CACHE_KEY_SALT", value: "19828493-c8de-4da1-a11d-0e1e8de2457b" }, EnvironmentVariable { name: "PANTS_CACHE_KEY_TARGET_PLATFORM", value: "linux_x86_64" }, EnvironmentVariable { name: "PATH", value: "/usr/bin:/bin:/usr/local/bin:/opt/homebrew/bin:/home/*/.nvm/versions/node/*/bin" }], output_files: [], output_directories: [], output_paths: [], platform: Some(Platform { properties: [] }), working_directory: "", output_node_properties: [] }; execute_request=ExecuteRequest { instance_name: "", skip_cache_lookup: true, action_digest: Some(Digest { hash: "94614b2134d3dd7c36c4b68f383acf60704326e8b20c9c6ea1e2bd767be39a59", size_bytes: 141 }), execution_policy: None, results_cache_policy: None }
14:03:06.81 [DEBUG] no current operation: submitting execute request: build_id=pants_run_2024_12_11_14_03_00_922_6edbdf1260284ac9831a1dbac2c4347e; execute_request=ExecuteRequest { instance_name: "", skip_cache_lookup: true, action_digest: Some(Digest { hash: "94614b2134d3dd7c36c4b68f383acf60704326e8b20c9c6ea1e2bd767be39a59", size_bytes: 141 }), execution_policy: None, results_cache_policy: None }
14:03:08.51 [DEBUG] Completed: Searching for `bash` on PATH=/usr/bin:/bin:/usr/local/bin:/opt/homebrew/bin:/home/*/.nvm/versions/node/*/bin
14:03:08.51 [DEBUG] Got (nested) execute response: ExecuteResponse { result: Some(ActionResult { output_files: [], output_file_symlinks: [], output_symlinks: [], output_directories: [], output_directory_symlinks: [], exit_code: 0, stdout_raw: b"", stdout_digest: Some(Digest { hash: "13ede65463cea8a5dfc5cb606014da64bb37b6af0a38c8a4b3b08b0428ee123e", size_bytes: 24 }), stderr_raw: b"", stderr_digest: Some(Digest { hash: "7adc2753698c5d897aec1d5da66373cab7ba900b7c1c19d2c2d2eb39c69006cd", size_bytes: 700 }), execution_metadata: Some(ExecutedActionMetadata { worker: "my_bot", queued_timestamp: Some(Timestamp { seconds: 1733947386, nanos: 840358000 }), worker_start_timestamp: Some(Timestamp { seconds: 1733947387, nanos: 615473000 }), worker_completed_timestamp: Some(Timestamp { seconds: 1733947388, nanos: 5318000 }), input_fetch_start_timestamp: Some(Timestamp { seconds: 1733947387, nanos: 953809000 }), input_fetch_completed_timestamp: Some(Timestamp { seconds: 1733947387, nanos: 954767000 }), execution_start_timestamp: Some(Timestamp { seconds: 1733947387, nanos: 954877000 }), execution_completed_timestamp: Some(Timestamp { seconds: 1733947387, nanos: 992017000 }), virtual_execution_duration: None, output_upload_start_timestamp: Some(Timestamp { seconds: 1733947387, nanos: 995871000 }), output_upload_completed_timestamp: Some(Timestamp { seconds: 1733947387, nanos: 995944000 }), auxiliary_metadata: [] }) }), cached_result: false, status: Some(Status { code: 0, message: "", details: [] }), server_logs: {}, message: "" }
14:03:08.52 [DEBUG] Completed: run_execute_request
14:03:08.52 [DEBUG] Completed: Scheduling: Searching for `bash` on PATH=/usr/bin:/bin:/usr/local/bin:/opt/homebrew/bin:/home/*/.nvm/versions/node/*/bin
14:03:08.52 [DEBUG] Completed: acquire_command_runner_slot
14:03:08.52 [DEBUG] Completed: acquire_command_runner_slot
14:03:08.52 [DEBUG] Running Test binary /bin/bash. under semaphore with concurrency id: 3, and concurrency: 1
14:03:08.52 [DEBUG] Running Test binary /usr/bin/bash. under semaphore with concurrency id: 4, and concurrency: 1
14:03:08.52 [DEBUG] Remote execution: Test binary /bin/bash.
14:03:08.52 [DEBUG] Remote execution: Test binary /usr/bin/bash.
14:03:08.52 [DEBUG] built REv2 request (build_id=pants_run_2024_12_11_14_03_00_922_6edbdf1260284ac9831a1dbac2c4347e): action=Action { command_digest: Some(Digest { hash: "fb473091ea8b62175596472b742bd7a731dc0d85870567ded4c31bfce22ad8f2", size_bytes: 191 }), input_root_digest: Some(Digest { hash: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", size_bytes: 0 }), timeout: None, do_not_cache: false, salt: b"", platform: None }; command=Command { arguments: ["/bin/bash", "--version"], environment_variables: [EnvironmentVariable { name: "PANTS_CACHE_KEY_EXECUTION_STRATEGY", value: "remote_execution" }, EnvironmentVariable { name: "PANTS_CACHE_KEY_SALT", value: "e4fe807f-4ec6-440c-945d-aead42b32dee" }, EnvironmentVariable { name: "PANTS_CACHE_KEY_TARGET_PLATFORM", value: "linux_x86_64" }], output_files: [], output_directories: [], output_paths: [], platform: Some(Platform { properties: [] }), working_directory: "", output_node_properties: [] }; execute_request=ExecuteRequest { instance_name: "", skip_cache_lookup: true, action_digest: Some(Digest { hash: "fe57e47a04bcdec0b3365aa12c140e5d75dffb01b1c19e3db653adb70e605e9d", size_bytes: 139 }), execution_policy: None, results_cache_policy: None }
14:03:08.52 [DEBUG] built REv2 request (build_id=pants_run_2024_12_11_14_03_00_922_6edbdf1260284ac9831a1dbac2c4347e): action=Action { command_digest: Some(Digest { hash: "ae8ccaaf0c3a8ea837093b86688a51cac8f3186c968225217094ca40b92c4ab3", size_bytes: 195 }), input_root_digest: Some(Digest { hash: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", size_bytes: 0 }), timeout: None, do_not_cache: false, salt: b"", platform: None }; command=Command { arguments: ["/usr/bin/bash", "--version"], environment_variables: [EnvironmentVariable { name: "PANTS_CACHE_KEY_EXECUTION_STRATEGY", value: "remote_execution" }, EnvironmentVariable { name: "PANTS_CACHE_KEY_SALT", value: "9a32c13e-a068-4a68-be77-204bd65b93d9" }, EnvironmentVariable { name: "PANTS_CACHE_KEY_TARGET_PLATFORM", value: "linux_x86_64" }], output_files: [], output_directories: [], output_paths: [], platform: Some(Platform { properties: [] }), working_directory: "", output_node_properties: [] }; execute_request=ExecuteRequest { instance_name: "", skip_cache_lookup: true, action_digest: Some(Digest { hash: "9065e9ea834a8f7baad031785e967f1209a15289ee43d012b1bf384c02a44389", size_bytes: 139 }), execution_policy: None, results_cache_policy: None }
14:03:08.64 [DEBUG] no current operation: submitting execute request: build_id=pants_run_2024_12_11_14_03_00_922_6edbdf1260284ac9831a1dbac2c4347e; execute_request=ExecuteRequest { instance_name: "", skip_cache_lookup: true, action_digest: Some(Digest { hash: "fe57e47a04bcdec0b3365aa12c140e5d75dffb01b1c19e3db653adb70e605e9d", size_bytes: 139 }), execution_policy: None, results_cache_policy: None }
14:03:08.69 [DEBUG] no current operation: submitting execute request: build_id=pants_run_2024_12_11_14_03_00_922_6edbdf1260284ac9831a1dbac2c4347e; execute_request=ExecuteRequest { instance_name: "", skip_cache_lookup: true, action_digest: Some(Digest { hash: "9065e9ea834a8f7baad031785e967f1209a15289ee43d012b1bf384c02a44389", size_bytes: 139 }), execution_policy: None, results_cache_policy: None }
14:03:10.03 [DEBUG] Completed: Test binary /bin/bash.
14:03:10.03 [DEBUG] Got (nested) execute response: ExecuteResponse { result: Some(ActionResult { output_files: [], output_file_symlinks: [], output_symlinks: [], output_directories: [], output_directory_symlinks: [], exit_code: 0, stdout_raw: b"", stdout_digest: Some(Digest { hash: "0ed680942b8b6508757f8b5bbc8cee2711ebc9b21d6509ae1898855d682fe736", size_bytes: 312 }), stderr_raw: b"", stderr_digest: Some(Digest { hash: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", size_bytes: 0 }), execution_metadata: Some(ExecutedActionMetadata { worker: "my_bot", queued_timestamp: Some(Timestamp { seconds: 1733947388, nanos: 671019000 }), worker_start_timestamp: Some(Timestamp { seconds: 1733947389, nanos: 266800000 }), worker_completed_timestamp: Some(Timestamp { seconds: 1733947389, nanos: 645498000 }), input_fetch_start_timestamp: Some(Timestamp { seconds: 1733947389, nanos: 599227000 }), input_fetch_completed_timestamp: Some(Timestamp { seconds: 1733947389, nanos: 600341000 }), execution_start_timestamp: Some(Timestamp { seconds: 1733947389, nanos: 600439000 }), execution_completed_timestamp: Some(Timestamp { seconds: 1733947389, nanos: 634515000 }), virtual_execution_duration: None, output_upload_start_timestamp: Some(Timestamp { seconds: 1733947389, nanos: 638938000 }), output_upload_completed_timestamp: Some(Timestamp { seconds: 1733947389, nanos: 639001000 }), auxiliary_metadata: [] }) }), cached_result: false, status: Some(Status { code: 0, message: "", details: [] }), server_logs: {}, message: "" }
14:03:10.03 [DEBUG] Completed: run_execute_request
14:03:10.03 [DEBUG] Completed: Scheduling: Test binary /bin/bash.
14:03:10.52 [DEBUG] Completed: Test binary /usr/bin/bash.
14:03:10.52 [DEBUG] Got (nested) execute response: ExecuteResponse { result: Some(ActionResult { output_files: [], output_file_symlinks: [], output_symlinks: [], output_directories: [], output_directory_symlinks: [], exit_code: 0, stdout_raw: b"", stdout_digest: Some(Digest { hash: "0ed680942b8b6508757f8b5bbc8cee2711ebc9b21d6509ae1898855d682fe736", size_bytes: 312 }), stderr_raw: b"", stderr_digest: Some(Digest { hash: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", size_bytes: 0 }), execution_metadata: Some(ExecutedActionMetadata { worker: "my_bot", queued_timestamp: Some(Timestamp { seconds: 1733947388, nanos: 733681000 }), worker_start_timestamp: Some(Timestamp { seconds: 1733947389, nanos: 902627000 }), worker_completed_timestamp: Some(Timestamp { seconds: 1733947390, nanos: 280920000 }), input_fetch_start_timestamp: Some(Timestamp { seconds: 1733947390, nanos: 230559000 }), input_fetch_completed_timestamp: Some(Timestamp { seconds: 1733947390, nanos: 231141000 }), execution_start_timestamp: Some(Timestamp { seconds: 1733947390, nanos: 231225000 }), execution_completed_timestamp: Some(Timestamp { seconds: 1733947390, nanos: 266640000 }), virtual_execution_duration: None, output_upload_start_timestamp: Some(Timestamp { seconds: 1733947390, nanos: 270907000 }), output_upload_completed_timestamp: Some(Timestamp { seconds: 1733947390, nanos: 270966000 }), auxiliary_metadata: [] }) }), cached_result: false, status: Some(Status { code: 0, message: "", details: [] }), server_logs: {}, message: "" }
14:03:10.52 [DEBUG] Completed: run_execute_request
14:03:10.52 [DEBUG] Completed: Scheduling: Test binary /usr/bin/bash.
14:03:10.52 [DEBUG] Completed: Finding the `bash` binary
14:03:10.57 [DEBUG] Completed: Extracting an archive file
14:03:10.57 [DEBUG] Completed: pants.core.util_rules.external_tool.download_external_tool
14:03:10.58 [DEBUG] Completed: acquire_command_runner_slot
14:03:10.58 [DEBUG] Running Find interpreter for constraints: CPython==3.11.* under semaphore with concurrency id: 5, and concurrency: 1
14:03:10.58 [DEBUG] Remote execution: Find interpreter for constraints: CPython==3.11.*
14:03:10.58 [DEBUG] built REv2 request (build_id=pants_run_2024_12_11_14_03_00_922_6edbdf1260284ac9831a1dbac2c4347e): action=Action { command_digest: Some(Digest { hash: "c7828797a90d93e30930cc095cb59cf930e6c4f501ee350d3dd15a150a541d51", size_bytes: 1159 }), input_root_digest: Some(Digest { hash: "b9468c01ae7cec62d57436d4355d2471f11fcc6d56a6de81e689f09f075d55d3", size_bytes: 347 }), timeout: None, do_not_cache: false, salt: b"", platform: None }; command=Command { arguments: ["./__pants_wrapper__", "/home/cjriebe/.cache/nce/29319df9a6ca02e838617675b5b8dd7e5b18a393c27e74979823158b85c015d9/bindings/venvs/2.23.0/bin/python3.9", "./pex", "--tmpdir", ".tmp", "--no-emit-warnings", "--pip-version", "24.0", "--cert", "ca-certificates.crt", "--python-path", "/home/ssm-user/.local/bin:/home/ssm-user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin", "--interpreter-constraint", "CPython==3.11.*", "--", "-c", "import hashlib, os, sys\n\npython = os.path.realpath(sys.executable)\nprint(python)\n\nhasher = hashlib.sha256()\nwith open(python, \"rb\") as fp:\n  for chunk in iter(lambda: fp.read(8192), b\"\"):\n      hasher.update(chunk)\nprint(hasher.hexdigest())\n"], environment_variables: [EnvironmentVariable { name: "CPPFLAGS", value: "" }, EnvironmentVariable { name: "LANG", value: "C.UTF-8" }, EnvironmentVariable { name: "LDFLAGS", value: "" }, EnvironmentVariable { name: "PANTS_CACHE_KEY_EXECUTION_STRATEGY", value: "remote_execution" }, EnvironmentVariable { name: "PANTS_CACHE_KEY_SALT", value: "f7367e59-b189-4395-921f-6a61a2127878" }, EnvironmentVariable { name: "PANTS_CACHE_KEY_TARGET_PLATFORM", value: "linux_x86_64" }, EnvironmentVariable { name: "PATH", value: "/home/ssm-user/.local/bin:/home/ssm-user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" }, EnvironmentVariable { name: "PEX_IGNORE_RCFILES", value: "true" }, EnvironmentVariable { name: "PEX_PYTHON", value: "/home/cjriebe/.cache/nce/29319df9a6ca02e838617675b5b8dd7e5b18a393c27e74979823158b85c015d9/bindings/venvs/2.23.0/bin/python3.9" }, EnvironmentVariable { name: "PEX_ROOT", value: ".cache/pex_root" }], output_files: [], output_directories: [], output_paths: [], platform: Some(Platform { properties: [] }), working_directory: "", output_node_properties: [] }; execute_request=ExecuteRequest { instance_name: "", skip_cache_lookup: true, action_digest: Some(Digest { hash: "815f7f8a408889ece1edf7546545cae795e7bb46414ba41a3cc24227893dc487", size_bytes: 142 }), execution_policy: None, results_cache_policy: None }
14:03:10.69 [DEBUG] no current operation: submitting execute request: build_id=pants_run_2024_12_11_14_03_00_922_6edbdf1260284ac9831a1dbac2c4347e; execute_request=ExecuteRequest { instance_name: "", skip_cache_lookup: true, action_digest: Some(Digest { hash: "815f7f8a408889ece1edf7546545cae795e7bb46414ba41a3cc24227893dc487", size_bytes: 142 }), execution_policy: None, results_cache_policy: None }
14:03:12.02 [DEBUG] Got (nested) execute response: ExecuteResponse { result: Some(ActionResult { output_files: [], output_file_symlinks: [], output_symlinks: [], output_directories: [], output_directory_symlinks: [], exit_code: 127, stdout_raw: b"", stdout_digest: Some(Digest { hash: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", size_bytes: 0 }), stderr_raw: b"", stderr_digest: Some(Digest { hash: "8ef29005836c9458da9faeb8448e361e009a75c0e9fd6f49a330e832fe57c619", size_bytes: 252 }), execution_metadata: Some(ExecutedActionMetadata { worker: "my_bot", queued_timestamp: Some(Timestamp { seconds: 1733947390, nanos: 723723000 }), worker_start_timestamp: Some(Timestamp { seconds: 1733947391, nanos: 541861000 }), worker_completed_timestamp: Some(Timestamp { seconds: 1733947391, nanos: 932114000 }), input_fetch_start_timestamp: Some(Timestamp { seconds: 1733947391, nanos: 873915000 }), input_fetch_completed_timestamp: Some(Timestamp { seconds: 1733947391, nanos: 876600000 }), execution_start_timestamp: Some(Timestamp { seconds: 1733947391, nanos: 876727000 }), execution_completed_timestamp: Some(Timestamp { seconds: 1733947391, nanos: 918448000 }), virtual_execution_duration: None, output_upload_start_timestamp: Some(Timestamp { seconds: 1733947391, nanos: 921028000 }), output_upload_completed_timestamp: Some(Timestamp { seconds: 1733947391, nanos: 921094000 }), auxiliary_metadata: [] }) }), cached_result: false, status: Some(Status { code: 0, message: "", details: [] }), server_logs: {}, message: "" }
14:03:12.02 [DEBUG] Completed: run_execute_request
14:03:12.02 [DEBUG] Completed: Scheduling: Find interpreter for constraints: CPython==3.11.*
14:03:12.02 [DEBUG] Completed: Find Python interpreter for constraints - CPython==3.11.*
14:03:12.02 [DEBUG] Completed: pants.backend.python.util_rules.pex.build_pex
14:03:12.02 [DEBUG] Completed: `package` goal
14:03:12.03 [DEBUG] computed 1 nodes in 10.933138 seconds. there are 5310 total nodes.
14:03:12.03 [ERROR] 1 Exception encountered:

Engine traceback:
  in `package` goal

ProcessExecutionFailure: Process 'Find interpreter for constraints: CPython==3.11.*' failed with exit code 127.
stdout:

stderr:
/bin/mkdir: cannot create directory ‘’: No such file or directory
./__pants_wrapper__: line 8: /home/cjriebe/.cache/nce/29319df9a6ca02e838617675b5b8dd7e5b18a393c27e74979823158b85c015d9/bindings/venvs/2.23.0/bin/python3.9: No such file or directory

Use `--keep-sandboxes=on_failure` to preserve the process chroot for inspection.

Pants version
2.23.0

OS
Local: Linux GILR-147S2F3 5.15.167.4-microsoft-standard-WSL2 #1 SMP Tue Nov 5 00:21:55 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Remote: Linux ip-10-192-13-117.ec2.internal 6.1.115-126.197.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 5 17:36:57 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Additional info
Everything works locally. Even the remote caching is producing cache hits. The remote execution seems to be missing something, but I'm unsure as to what that is.

@riebecj riebecj added the bug label Dec 11, 2024
@riebecj
Copy link
Author

riebecj commented Dec 11, 2024

I feel like the issue is somewhere in this for loop, but only during execution, not when writing the script to disk.

@tdyas
Copy link
Contributor

tdyas commented Dec 11, 2024

I'd investigate why the directory is empty. The issue is probably with one of the cache_name or path values.

I don't have access to a remote execution environment. If you can run Pants from sources, then apply this patch and see what comes:

diff --git a/src/rust/engine/process_execution/src/lib.rs b/src/rust/engine/process_execution/src/lib.rs
index badf0f64a5..0cc640da31 100644
--- a/src/rust/engine/process_execution/src/lib.rs
+++ b/src/rust/engine/process_execution/src/lib.rs
@@ -1023,6 +1023,9 @@ fn make_wrapper_for_append_only_caches(
 
     // Setup the append-only caches.
     for (cache_name, path) in caches {
+        log::debug!(
+            "make_wrapper_for_append_only_caches: cache_name: {cache_name:?}; path: {path:?}"
+        );
         writeln!(
             &mut script,
             "/bin/mkdir -p '{}/{}'",
@@ -1031,6 +1034,7 @@ fn make_wrapper_for_append_only_caches(
         )
         .map_err(|err| format!("write! failed: {err:?}"))?;
         if let Some(parent) = path.parent() {
+            log::debug!("make_wrapper_for_append_only_caches: mkdir parent: {parent:?}");
             writeln!(&mut script, "/bin/mkdir -p '{}'", parent.to_string_lossy())
                 .map_err(|err| format!("write! failed: {err}"))?;
         }

@tdyas
Copy link
Contributor

tdyas commented Dec 11, 2024

You can run Pants from sources by cloning the Pants repository somewhere else on your system. Apply the patch above with patch -p1. Then set the PANTS_SOURCE environment variable to the path to that checkout when you invoke pants in your own repository.

@riebecj
Copy link
Author

riebecj commented Dec 12, 2024

Ok, I finally got somewhere. It looks like when trying to make the .python-build-standalone named cache, it interprets the preceding . character as an empty parent, and tries to make a directory with no name:

08:46:36.52 [DEBUG] make_wrapper_for_append_only_caches: cache_name: CacheName("pex_root"); path: RelativePath(".cache/pex_root")
08:46:36.52 [DEBUG] make_wrapper_for_append_only_caches: mkdir parent: ".cache"
08:46:36.52 [DEBUG] make_wrapper_for_append_only_caches: cache_name: CacheName("python_build_standalone"); path: RelativePath(".python-build-standalone")
08:46:36.52 [DEBUG] make_wrapper_for_append_only_caches: mkdir parent: ""
08:46:36.53 [DEBUG] Completed: acquire_command_runner_slot
08:46:36.53 [DEBUG] Running Find interpreter for constraints: CPython==3.11.* under semaphore with concurrency id: 2, and concurrency: 1
08:46:36.53 [DEBUG] make_wrapper_for_append_only_caches: cache_name: CacheName("pex_root"); path: RelativePath(".cache/pex_root")
08:46:36.53 [DEBUG] make_wrapper_for_append_only_caches: mkdir parent: ".cache"
08:46:36.53 [DEBUG] make_wrapper_for_append_only_caches: cache_name: CacheName("python_build_standalone"); path: RelativePath(".python-build-standalone")
08:46:36.53 [DEBUG] make_wrapper_for_append_only_caches: mkdir parent: ""

@tdyas
Copy link
Contributor

tdyas commented Dec 12, 2024

I think it is any path without a / in it is treated that way. I confirmed this in the Rust Playground. Try this snippet:

use std::path::Path;

fn main() {
    let path = Path::new("foo");
    println!("path: {:?}; parent={:?}", path, path.parent());
}

Output:

path: "foo"; parent=Some("")

The fix should be easy enough. We should just skip emitting a mkdir for empty strings.

Try this patch:

diff --git a/src/rust/engine/process_execution/src/lib.rs b/src/rust/engine/process_execution/src/lib.rs
index badf0f64a5..81875b2bf8 100644
--- a/src/rust/engine/process_execution/src/lib.rs
+++ b/src/rust/engine/process_execution/src/lib.rs
@@ -1031,8 +1031,10 @@ fn make_wrapper_for_append_only_caches(
         )
         .map_err(|err| format!("write! failed: {err:?}"))?;
         if let Some(parent) = path.parent() {
-            writeln!(&mut script, "/bin/mkdir -p '{}'", parent.to_string_lossy())
-                .map_err(|err| format!("write! failed: {err}"))?;
+            if !parent.as_os_str().is_empty() {
+                writeln!(&mut script, "/bin/mkdir -p '{}'", parent.to_string_lossy())
+                    .map_err(|err| format!("write! failed: {err}"))?;
+            }
         }
         writeln!(
             &mut script,

@riebecj
Copy link
Author

riebecj commented Dec 12, 2024

That did fix the issue, but now I'm running into BuildGrid issues, as it is responding with IntrinsicError: For action Digest { hash: Fingerprint<600ba88845f639eb84ba8e4cc22e0eca77a31af8801f2d316cfe4a78b2a8d2d0>, size_bytes: 139 }: Too many failures from server. The last error was: execute() threw: std::runtime_error exception thrown at [buildboxcommon_casclient.cpp:1029], errMsg = "Error staging "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0" into "": "Method not found!""

Rather than continue down this rabbit hole, I'm gonna try another REAPI.

@riebecj
Copy link
Author

riebecj commented Dec 12, 2024

I tried again using BuildFarm instead of BuildGrid, and something I find odd is, the ./__pants_wrapper__ script is setting up the named caches, but then it executes the command right away:

#!/bin/sh
/bin/mkdir -p '/tmp/named-caches/pex_root'
/bin/mkdir -p '.cache'
/bin/ln -s '/tmp/named-caches/pex_root' '.cache/pex_root'
/bin/mkdir -p '/tmp/named-caches/python_build_standalone'
/bin/ln -s '/tmp/named-caches/python_build_standalone' '.python-build-standalone'
exec "$@"

What's populating the append-only caches? The absolute path supplied /home/cjriebe/.cache/pants/pants_dev_deps/00dfa1312cb30e0ce32fd7d03c4964e918bba0cb.venv/bin/python when running with PANTS_SOURCE to include above patches, and /home/cjriebe/.cache/nce/29319df9a6ca02e838617675b5b8dd7e5b18a393c27e74979823158b85c015d9/bindings/venvs/2.23.0/bin/python3.9 when running without, seem to be trying to reference the .cache folder created with the script but in an unsuccessful way. Wouldn't it make more sense to remove $HOME from the remote exec arg and just have it be .cache/...?

I also recognize that I could be completely missing something, but there doesn't appear to be anything in the debug logs that would populate the named caches with the correct data.

@tdyas
Copy link
Contributor

tdyas commented Dec 12, 2024

I also recognize that I could be completely missing something, but there doesn't appear to be anything in the debug logs that would populate the named caches with the correct data.

The named caches are there for the build action to populate. The wrapper script exists solely to setup the correct directories so the build action can assume the directories exist. In local execution, the Pants engine would have done this directly without need for a wrapper script before it executed the build action.

@riebecj
Copy link
Author

riebecj commented Dec 12, 2024

I also recognize that I could be completely missing something, but there doesn't appear to be anything in the debug logs that would populate the named caches with the correct data.

The named caches are there for the build action to populate. The wrapper script exists solely to setup the correct directories so the build action can assume the directories exist. In local execution, the Pants engine would have done this directly without need for a wrapper script before it executed the build action.

Then how would the execution be able to reference the venv-ed python binary without anything to bootstrap it?

@tdyas
Copy link
Contributor

tdyas commented Dec 12, 2024

Pants use Pex to bootstrap venv's. You will note one of the named caches is for pex (pex_root).

@riebecj
Copy link
Author

riebecj commented Dec 12, 2024

Pants use Pex to bootstrap venv's. You will note one of the named caches is for pex (pex_root).

Understood, but how can the remote server execute a reference on my local machine? /home/cjriebe/.cache/pants/pants_dev_deps/00dfa1312cb30e0ce32fd7d03c4964e918bba0cb.venv/bin/python doesn't exist on the remote server.

@tdyas
Copy link
Contributor

tdyas commented Dec 12, 2024

Understood, but how can the remote server execute a reference on my local machine? /home/cjriebe/.cache/pants/pants_dev_deps/00dfa1312cb30e0ce32fd7d03c4964e918bba0cb.venv/bin/python doesn't exist on the remote server.

It can't. You are seeing the experimental nature of append-only / named caches in remote execution. Taking a remotely valid result and trying to run it locally with hard-coded absolute paths is a problem. (I.e., "non-hermetic" build actions) There could be a number of these problems to discover.

Which is to say --remote-execution-append-only-caches-base-path is nowhere near production-ready.

@riebecj
Copy link
Author

riebecj commented Dec 12, 2024

Understood, but how can the remote server execute a reference on my local machine? /home/cjriebe/.cache/pants/pants_dev_deps/00dfa1312cb30e0ce32fd7d03c4964e918bba0cb.venv/bin/python doesn't exist on the remote server.

It can't. You are seeing the experimental nature of append-only / named caches in remote execution. Taking a remotely valid result and trying to run it locally with hard-coded absolute paths is a problem. (I.e., "non-hermetic" build actions) There's could be a number of these problems.

Which is to say --remote-execution-append-only-caches-base-path is nowhere near production-ready

Ah, fair enough. I might mess around with it a bit more to see if I can make some progress.

@riebecj
Copy link
Author

riebecj commented Dec 12, 2024

I switched to BuildFarm and got significant progress.

I made a dumb and was running remote executions with my remote_environment() target and [environments-preview.names] commented out, which explains why it was sending the local python executable path to the remote rather than gathering it from the remote.

The patch you provided works. I can successfully remote execute.

@tdyas
Copy link
Contributor

tdyas commented Dec 12, 2024

#21753 has the empty path fix.

tdyas added a commit that referenced this issue Dec 14, 2024
…#21753)

As reported in #21747, the
remote execution wrapper used to set up append-only cache directories
was trying to create an empty path as a directory. This occurred because
`Path::parent` returns an empty string (`Some("")`) if the path was not
absolute (i.e., the "root" was not `""` and not `"/"`).

Solution: Check for that condition and do not emit the `mkdir` in that
case.
tdyas added a commit that referenced this issue Dec 14, 2024
… (Cherry-pick of #21753) (#21760)

As reported in #21747, the
remote execution wrapper used to set up append-only cache directories
was trying to create an empty path as a directory. This occurred because
`Path::parent` returns an empty string (`Some("")`) if the path was not
absolute (i.e., the "root" was not `""` and not `"/"`).

Solution: Check for that condition and do not emit the `mkdir` in that
case.

Co-authored-by: Tom Dyas <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants