Runner.Worker Killed when running on macos M2
oilrich25 opened this issue · 6 comments
Runner.Worker crashes when running on macos M2. The version I am currently testing is v3.11.11.
oilrich25deMac-mini:Desktop oilrich25$ ./actions-runner/bin/Runner.Worker
System.ArgumentOutOfRangeException: Length does not equal expected value. Expected '3'. Actual '0'. (Parameter 'Length')
Actual value was 0.
at GitHub.Runner.Sdk.ArgUtil.Equal[T](T expected, T actual, String name)
at GitHub.Runner.Worker.Program.MainAsync(IHostContext context, String[] args)
oilrich25deMac-mini:Desktop oilrich25$ ./runner.server-osx-arm64/bin/Runner.Worker
Killed: 9
oilrich25deMac-mini:Desktop oilrich25$ file ./actions-runner/bin/Runner.Worker
./actions-runner/bin/Runner.Worker: Mach-O 64-bit executable arm64
oilrich25deMac-mini:Desktop oilrich25$ file ./runner.server-osx-arm64/bin/Runner.Worker
./runner.server-osx-arm64/bin/Runner.Worker: Mach-O 64-bit executable arm64
(lldb) target create "./runner.server-osx-arm64/bin/Runner.Worker"
Current executable set to '/Users/oilrich25/Desktop/gitea-actions-runner/runner.server-osx-arm64/bin/Runner.Worker' (arm64).
(lldb) run
error: process exited with status -1 (no such process.)
(lldb) breakpoint set --name main
Breakpoint 1: where = Runner.Worker`main, address = 0x000000010000d570
(lldb) run
error: process exited with status -1 (no such process.)
You cannot start Runner.Worker
without specfic args.
My actions-runner-worker.ps1 or .py scripts are adding args and setup pipe communications.
To register and run against Runner.Server
you would use Runner.Listener configure
and Runner.Listener run
You cannot start
Runner.Worker
without specfic args. My actions-runner-worker.ps1 or .py scripts are adding args and setup pipe communications.To register and run against
Runner.Server
you would useRunner.Listener configure
andRunner.Listener run
I tried downgrading v3.11.11 to v3.9 and it works fine now
After testing, on mac M2, execute arm64 ubuntu
Docker containers are feasible. But unfortunately it can only run on 3.9.0 - 3.9.2 currently.
##[group]Run uname -a
uname -a
shell: bash --noprofile --norc -e -o pipefail {0}
env:
CACHE_EPOCH: 1
CCACHE_MAXFILES: 0
CCACHE_MAXSIZE: 200M
SCCACHE_CACHE_SIZE: 200M
##[endgroup]
Linux f54dd1cdb107 6.5.11-linuxkit #1 SMP PREEMPT Mon Dec 4 11:30:00 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
v3.11.11, the Killed: 9
error occurred.
I noticed that the directory has changed a lot since v3.10.0
. There is no bin
directory after decompression.
Unfortunately, versions 3.9.2 - 3.9.0 only support node 16, so you can only use actions/checkout@v2
. But in version 3.10 or above, Killed: 9 error occurred
appears.
Current runner version: '3.9.0'
Secret source: Actions
Prepare workflow directory
##[command]/opt/homebrew/bin/docker version --format '{{.Server.APIVersion}}'
'1.43'
Docker daemon API version: '1.43'
##[command]/opt/homebrew/bin/docker version --format '{{.Client.APIVersion}}'
'1.43'
Docker client API version: '1.43'
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v4' (SHA:N/A)
##[error]System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter ''using: node20' is not supported, use 'docker', 'node12' or 'node16' instead.')\n at GitHub.Runner.Worker.ActionManifestManager.ConvertRuns(IExecutionContext executionContext, TemplateContext templateContext, TemplateToken inputsToken, String fileRelativePath, MappingToken outputs)\n at GitHub.Runner.Worker.ActionManifestManager.Load(IExecutionContext executionContext, String manifestFile)
##[error]Fail to load actions/checkout/v4/action.yml
Finished
I tried to pull the v3.11.11
branch of ChristopherHX/runner.server
to my local MacOS M2 compilation, and now it runs normally.