bobbai00 opened a new issue, #5571:
URL: https://github.com/apache/texera/issues/5571

   ### What happened?
   
   The scheduled **Build and push images** workflow fails on its `build-arm64` 
job. All three service image builds (`texera-web-application` / 
`texera-dashboard-service`, `computing-unit-master`, `computing-unit-worker`) 
fail at the same step — regenerating the Python protobuf bindings during the 
image build:
   
   ```
   bin/python-proto-gen.sh: line 35: /usr/local/bin/protoc: No such file or 
directory
   ERROR: ... did not complete successfully: exit code: 127
   ```
   
   **Cause:** the three Dockerfiles always download the **x86_64** `protoc` 
release, regardless of the target platform:
   
   ```dockerfile
   curl -fsSL -o /tmp/protoc.zip ".../protoc-${PROTOC_VERSION}-linux-x86_64.zip"
   ```
   
   On the ARM64 build the x86_64 binary can't execute (the misleading "No such 
file or directory" is the kernel failing to find the x86_64 ELF interpreter), 
so `bin/python-proto-gen.sh` aborts with exit code 127. The AMD64 build runs 
the binary natively and is unaffected — which is why only `build-arm64` fails.
   
   This surfaced after #5077, which stopped version-tracking the generated 
Python proto and began regenerating it during the image build, introducing this 
`protoc` download step.
   
   Affected files:
   - `bin/texera-web-application.dockerfile`
   - `bin/computing-unit-master.dockerfile`
   - `bin/computing-unit-worker.dockerfile`
   
   Expected: the image build downloads the `protoc` build matching the target 
architecture, so all platforms build successfully.
   
   ### How to reproduce?
   
   1. Run the **Build and push images** workflow (or wait for the scheduled 
run) so the `build-arm64` job executes — it fails at the `protoc` / 
`python-proto-gen.sh` step.
   2. Or locally on any host with buildx + QEMU:
      ```
      docker buildx build --platform linux/arm64 -f 
bin/computing-unit-worker.dockerfile .
      ```
      The build fails at the same step with `exit code: 127`.
   
   ### Version/Branch
   
   1.3.0-incubating-SNAPSHOT (main)
   
   ### Commit Hash (Optional)
   
   Introduced by d5bc8b7cf (#5077)
   
   ### Relevant log output
   
   ```shell
   #32 [build 11/19] RUN PROTOC_VERSION=$(cat bin/protoc-version.txt)     && 
curl -fsSL -o /tmp/protoc.zip ".../protoc-${PROTOC_VERSION}-linux-x86_64.zip" 
... && bash bin/python-proto-gen.sh
   #32 2.275   inflating: /usr/local/bin/protoc
   #32 35.91 Successfully installed ... betterproto-2.0.0b7 black-26.5.1 
jinja2-3.1.6 ...
   #32 36.75 bin/python-proto-gen.sh: line 35: /usr/local/bin/protoc: No such 
file or directory
   #32 ERROR: process "/bin/sh -c ..." did not complete successfully: exit 
code: 127
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to