bottlerocket-os / bottlerocket-os/bottlerocket-update-operator
Index out of bounds in brupop-agent in agent/src/apiclient.rs:237:89
- Dominant language
- Rust
- Stars
- 220
- Forks
- 50
- PR merge metrics
- No merged PRs in 30d
Description
**Image I'm using: 1.6.0**
**Bottlerocket OS I'm using: bottlerocket-aws-k8s-1.32-x86_64-v1.39.0-0968c061**
**Issue:**
Hello, the brupop-agent crashes with a panic in agent/src/apiclient.rs:237:89 due to an index out of bounds: the len is 1 but the index is 1 error.
> thread 'main' panicked at agent/src/apiclient.rs:237:89:
index out of bounds: the len is 1 but the index is 1
I couldn´t figure out why this error occured, it worked for weeks until now. Bottlerocket is new to me.
if I enable DEBUG via values.yml I get these before the container dies:
> 2025-08-07T08:43:40.282815Z DEBUG agent::apiclient::api: Invoking apiclient: ["raw", "-u", "/os"]
at agent/src/apiclient.rs:267
in agent::apiclient::api::invoke_apiclient with args: ["raw", "-u", "/os"]
in agent::apiclient::api::get_os_info
in agent::agentclient::shadow_status_with_refreshed_system_matadata with shadow_error_info: ShadowErrorInfo { crash_count: 0, state_transition_failure_timestamp: None }
in agent::agentclient::initialize_metadata_shadow
in agent::agentclient::initialize_shadow_if_not_initialized
in agent::agentclient::run
2025-08-07T08:43:40.284426Z DEBUG hyper::proto::h1::io: parsed 7 headers
at /src/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-0.14.32/src/proto/h1/io.rs:211
2025-08-07T08:43:40.284439Z DEBUG hyper::proto::h1::conn: incoming body is chunked encoding
at /src/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-0.14.32/src/proto/h1/conn.rs:224
thread 'main' panicked at agent/src/apiclient.rs:237:89:
index out of bounds: the len is 1 but the index is 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
I aktivated rust_backtrace
> stack backtrace:
0: rust_begin_unwind
1: core::panicking::panic_fmt
2: core::panicking::panic_bounds_check
3: agent::apiclient::api::extract_status_code_from_error
4: as core::future::future::Future>::poll
5: agent::apiclient::api::invoke_apiclient::{{closure}}::{{closure}}
6: as core::future::future::Future>::poll
7: agent::apiclient::api::invoke_apiclient::{{closure}}
8: agent::apiclient::api::get_os_info::{{closure}}::{{closure}}
9: as core::future::future::Future>::poll
10: agent::apiclient::get_os_info::{{closure}}
11: agent::agentclient::BrupopAgent::shadow_status_with_refreshed_system_matadata::{{closure}}::{{closure}}
12: as core::future::future::Future>::poll
13: agent::agentclient::BrupopAgent::shadow_status_with_refreshed_system_matadata::{{closure}}
14: as core::future::future::Future>::poll
15: as core::future::future::Future>::poll
16: agent::agentclient::BrupopAgent::initialize_shadow_if_not_initialized::{{closure}}::{{closure}}
17: as core::future::future::Future>::poll
18: agent::agentclient::BrupopAgent::run::{{closure}}::{{closure}}::{{closure}}
19: as core::future::future::Future>::poll
20: as core::future::future::Future>::poll
21: tokio::runtime::park::CachedParkThread::block_on
22: tokio::runtime::context::runtime::enter_runtime
23: tokio::runtime::runtime::Runtime::block_on
24: agent::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
**I tried:**
- redeployment via ArgoCD
Contributor guide
Assessment
This issue has not been assessed yet.