This is a follow-up to #77417
The linux/mipsle builder (linux-mipsle-hooc-ag) is currently blocked due to an incompatibility between the Swarming-provided CIPD client and the target hardware.
Current status
- Builder hardware: MediaTek MT7621 (MIPS32, soft-float, OpenWrt)
- Swarming bot:
- Connects successfully
- Receives tasks
- Failure occurs when executing CIPD:
[Errno 8] Exec format error: '.../cipd_cache/bin/cipd'
Root cause
- Swarming downloads a hard-float MIPS CIPD binary
- The target system is soft-float (no FPU)
- Hard-float binaries cannot execute → immediate failure
Verified on device:
- Downloaded CIPD binary:
ELF 32-bit LSB executable, MIPS32 rel2, hard-float
- System requires:
GOMIPS=softfloat
Workaround tested
-
Built a local CIPD client:
`GOOS=linux GOARCH=mipsle GOMIPS=softfloat``
-
This binary works correctly
-
However:
-
Swarming still replaces it with the incompatible CIPD client
Blocking issue
There currently appears to be no supported way to:
- Provide a soft-float CIPD client for linux/mipsle, or
- Override the CIPD binary used by Swarming tasks
Request
What would be the preferred path forward?
- Add soft-float CIPD support for linux/mipsle?
- Allow overriding the CIPD client on builders?
- Alternative approach?
Notes
The builder itself is otherwise stable and ready:
- Swarming bot runs reliably
- Tasks execute correctly up to the CIPD step
However, it is currently kept offline until the CIPD incompatibility is resolved.
Thanks!
CC @dmitshur @prattmic
This is a follow-up to #77417
The linux/mipsle builder (linux-mipsle-hooc-ag) is currently blocked due to an incompatibility between the Swarming-provided CIPD client and the target hardware.
Current status
[Errno 8] Exec format error: '.../cipd_cache/bin/cipd'Root cause
Verified on device:
ELF 32-bit LSB executable, MIPS32 rel2, hard-floatGOMIPS=softfloatWorkaround tested
Built a local CIPD client:
`GOOS=linux GOARCH=mipsle GOMIPS=softfloat``
This binary works correctly
However:
Swarming still replaces it with the incompatible CIPD client
Blocking issue
There currently appears to be no supported way to:
Request
What would be the preferred path forward?
Notes
The builder itself is otherwise stable and ready:
However, it is currently kept offline until the CIPD incompatibility is resolved.
Thanks!
CC @dmitshur @prattmic