rust-lang/rust#98112 adds unaligned ptr dereference checking (since unaligned refs are UB) in debug mode (-C debug-assertions), which has uncovered further unaligned ptr derefs (I'm not sure how many; it crashes on the first one):
> cargo run -- -q --threads 1 -i build/../tests/dav1d-test-data/8-bit/issues/327_tennis_2.ivf --verify dc0609b3de072db20f9759cfe1d3685e
Finished dev [unoptimized + debuginfo] target(s) in 0.00s
Running `target/debug/dav1d -q --threads 1 -i build/../tests/dav1d-test-data/8-bit/issues/327_tennis_2.ivf --verify dc0609b3de072db20f9759cfe1d3685e`
thread 'main' panicked at 'misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7ffdaed2292c', src/lf_mask.rs:217:21
It seems this one is from ALIGN_STK_[0-9]+ macros that wrap ALIGN that I missed in #232 since they didn't use ALIGN directly. Once this one is fixed, I'll see if there are any remaining unaligned refs.
rust-lang/rust#98112 adds unaligned ptr dereference checking (since unaligned refs are UB) in debug mode (
-C debug-assertions), which has uncovered further unaligned ptr derefs (I'm not sure how many; it crashes on the first one):It seems this one is from
ALIGN_STK_[0-9]+macros that wrapALIGNthat I missed in #232 since they didn't useALIGNdirectly. Once this one is fixed, I'll see if there are any remaining unaligned refs.