rust-cli: cat fails on chunk-indexed files with in-chunk-only channel/schema records
bugclirust
_Context: uncovered during a Go-vs-Rust CLI QA pass comparing `cat` behavior on chunk-indexed conformance fixtures._
On files where channel/schema records live only inside chunks (not repeated in the summary), Rust `cat` fails instead of decoding messages. Neither CLI reads these correctly today, but the failure modes differ.
**Fixtures:**
| File | Go | Rust |
|------|-----|------|
| `OneMessage-ch-chx.mcap` (no message index) | silent 0 messages, exit 0 | `unknown channel 1`, exit 1 |
| `TenMessages-ch-chx-mx.mcap` (message index present) | `no index available, only file-order reads are supported`, exit 1 | `unknown channel 1`, exit 1 |
**Desired fix:** Resolve in-chunk channel/schema definitions so `cat` can decode messages, or document as unsupported with a clear, consistent error. Related Go silent-data-loss case: see the companion Go issue filed from the same QA pass.
Related: foxglove/mcap#1690 documents intentional Rust improvements elsewhere (e.g. unindexed on-disk scan, piped stdin); this is a separate bug.
关闭于 2026-06-05 3 条评论