oxidecomputer / humility

Debugger for Hubris
Mozilla Public License 2.0
529 stars 51 forks source link

Ringbuf decoding failures on a recent image #475

Closed mkeeter closed 6 months ago

mkeeter commented 6 months ago

On master (df09cf85a3d70a1d0bb2b7ba688f4fb36a2b11cc), Humility can't decode ringbufs from a recent dump:

➜  ~ humility -d hubris.core.gimlet_seq.12 ringbuf
humility: attached to dump
humility: ring buffer drv_gimlet_seq_server::__RINGBUF in gimlet_seq:
humility: ringbuf dump failed: member missing from struct: cell
humility: ring buffer drv_gimlet_seq_server::vcore::__RINGBUF in gimlet_seq:
humility: ringbuf dump failed: not a u32: Base(U16(0))
humility: ring buffer drv_oxide_vpd::__RINGBUF in gimlet_seq:
humility: ringbuf dump failed: not a u32: Base(U16(0))
humility: ring buffer drv_packrat_vpd_loader::__RINGBUF in gimlet_seq:
humility: ringbuf dump failed: not a u32: Base(U16(0))

Here's the dump: hubris.core.gimlet_seq.16.zip

hawkw commented 6 months ago

oh, shoot, that's my fault; https://github.com/oxidecomputer/hubris/pull/1733 changed the ringbuf entry count from u32 to u16. we should probably change it back (or make humility happy with both, which is probably the Right Thing regardless)...