Data alignment in Intel and ARM may differ. That said, some codes being ported from one CPU to another, SPECIALLY STRUCTURES, may behave erratically if not prepared for such differences. Like in Intel something get an alignment 4 and ARM an alignment 8, and the total bytes in the struct gets bigger on ARM and your code has something hardcoded expecting a fixed number of bytes and it differs.
I’ll just let this here so someone checking about those struct issues being inspected may have more insights that could lead to finding what’s going on.