I'm seeing dendrite crash repeatedly on london with an addition overflow here:
https://github.com/oxidecomputer/dendrite/blob/main/dpd/src/transceivers/tofino_impl.rs#L3592
fn build_many(
page: P,
offset: u8,
len: u8,
) -> Result<Vec<Self>, ControllerError> {
let end = offset + len; <---
I added a log message which showed that both offset and len were 128, explaining the crash. I suspect we don't often see this crash because we don't typically run a debug build, but I'm surprised that we've never seen this before. Maybe there's a new transceiver on the system that triggers this condition?
Converting these to usize before doing the math addresses the issue.
I'm seeing
dendritecrash repeatedly on london with an addition overflow here:https://github.com/oxidecomputer/dendrite/blob/main/dpd/src/transceivers/tofino_impl.rs#L3592
I added a log message which showed that both
offsetandlenwere 128, explaining the crash. I suspect we don't often see this crash because we don't typically run a debug build, but I'm surprised that we've never seen this before. Maybe there's a new transceiver on the system that triggers this condition?Converting these to
usizebefore doing the math addresses the issue.