The problem is that there was an hidden requeriment that all 3D model data must be aligned in all shape and form, both the "block" size and all offsets inside the data must be divisible by 4 so when you parse the data and move/assign the pointers you never fall in a unaligned position. No one ever knew this until i tryied to run on RPI, so 3rd party model tools, some dating from 20 years ago, do not consider that, and no one ever realised because it just work on x86. These are cases that neither the kernel, compiler or the cpu are able to deal with, the kernel itselft is fixing a lot of these unaligned access but it cant fix them all, thus the SIGBUS. While there are problems related to new stuff in the code (the shield mesh collision optimisation system is unaligned by design and it just cant run on ARM i had to disable it), the other problem dates from 20+ years ago since people ever used model tools to edit/create 3D models, the 1999 x86 cpus were able to deal with this just fine, this is why it went undiscovered until i tryied to run it on RPI.
In the end this is a simple file read and parse operation, one that is very common on petty much every C/C++ software that need some I/O in form of files. This is why is said is not so easy to move from x86 to ARM.
You have no idea how suprised i was to discover this was still a issue on a A76 core. I always trought this was just an optimization that some archs may run into performance issues with wrongly aligned data, but a "hell no, SIGBUS" in a modern core? I could not belive it.