apache / apache/buildstream

buildbox-casd and buildbox-fuse mismatch when having both wheel and system installed versions

Open
#1,970 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
140
Forks
45
Avg merge
1d 3h
Merged PRs (30d)
6

Description

When having buildbox installed in the PATH and in the wheel, buildstream mismatches them. IIRC, it will use the buildbox-casd from the PATH and buildbox-fuse from the wheel.

If the two versions are incompatible, this can result in a buildstream crash with the error:

```
grpc._channel._MultiThreadedRendezvous: <_MultiThreadedRendezvous of RPC that terminated with:
status = StatusCode.INTERNAL
details = "std::runtime_error exception thrown at [buildboxcasd_fusestager.cpp:144], errMsg = "The FUSE stager child process unexpectedly died with exit code 1""
debug_error_string = "UNKNOWN:Error received from peer {created_time:"2024-11-20T09:16:31.255363002+00:00", grpc_status:13, grpc_message:"std::runtime_error exception thrown at [buildboxcasd_fusestager.cpp:144], errMsg = \"The FUSE stager child process unexpectedly died with exit code 1\""}"
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the installation scenario with buildbox-casd in PATH and buildbox-fuse from the wheel, then trace how BuildStream selects each executable. Use the reported buildboxcasd_fusestager.cpp failure and gRPC error to identify the version mismatch boundary. Done should mean incompatible system and wheel components are no longer silently combined.

Written by the indexing model from the issue text.

Assessment

Tech stack
grpc, python
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.