buildbox-casd and buildbox-fuse mismatch when having both wheel and system installed versions
- 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
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