This is not a question, but rather an answer for a question I couldn't find here before.
I had an application that kept crashing with the message 'Bus error'. This happened non-deterministically in different parts of my code, usually after a long running time. The only hint was the associated si_code, was 'BUS_ADRERR: Nonexistent physical address'.
The reason for the crash is that I would re-compile the code, thus messing up the memory mapping for the executable file.