Skip to content

Fix mrich 2024 online crash

Try to catch/avoid the out of range exception in a map.at() call in the online unpacker algo for the mRICH.
For this the sequence error detection from the old unpacker was copied with the same treatment: skip only the faulty word

The current state of the MR works in the sense that it can process the tsa files 2906_node8_0?_0000.tsa without crashing.
However it still is not 1:1 with the old unpacker as in addition to the errors found by this one for addresses 0x7321 and 0x7170, it also finds errors for address 0x9600, which as far as I know does not exist. This would hint that the new algo unpacker can sometime get seriously offset in the buffer.

As a more robust solution, I would propose to skip the full subsubevent instead of a single word, in both the old and the new unpacker algos.
I think this would provide the best chance to rescue the data of the other DiRICHes, including some coming after the corrupted ones in the MS buffer.
You can find an example of this for the new algo as comments in my [TEMP] commit.
Let me know if this is ok, in which case I would implement this in this MR

PS: For testing purposes, this MR also includes the local commit from cbmfles01 which was kntroducing larger TOT ranges for the NCAL/FSD DiRICHes

Of interest to: @c.pauly, @ma.beyer. @v.friese, @d.smith

Merge request reports