Yup, that was it. The interrupt handler wrote bits into the buffer without checking for the buffer's remaining capacity. When there was just one bit more than specified by the protocol (due to electrical noise or whatever) the buffer would overflow and bits would be written into some other memory. The queue structure happened to be right next to the buffer... Sometimes it takes some pain to find simple mistakes like thatmy money would be on memory corruption/stack overflow by your program. about the only way that could crash is if spin lock pointer is corrupted
Thank you very much for pointing that out!
Cheers
Statistics: Posted by penguins_can_fly — Tue Feb 27, 2024 1:17 pm