Weird Oscillations and Eventual Crash

I am operating a few 6 rotor multicopters that have been having weird oscillations. On our latest flight, it was going smoother compared to the others, when suddenly it did 3-4 “barrel rolls” and crashed into the ground. Our current theory is that the GPS/Magnetometer had fallen off it’s peg, but it is hard to tell if this was before it started spinning or caused by the spinning. We think the crash might have been an unrelated issue to our altitude oscillations but we’re unsure. The main thing is these weird altitude oscillations where it will struggle to maintain the proper altitude, come down, hit the ground, and go back up even at full thrust. Here is the log with the crash in it. And Here is a log of the flight right before. Any help on what could have caused this crazy barrel roll maneuver and our altitude oscillations would be appreciated!

Here is another log as well.

What is the Px4 version. Is this a pixhawk cube flight controller.
Is your GCS through QGC. What is the version of QGC.

Hi @Logan_Skabelund,

Did you enable the termination system yourself ? I see at 29:56 that your drone enable the flight termination because of geofence. And it is at the exact time where your drone start to fall so that might be the simple explanation

The position does leave the geofence, but not until after the crash. Inspecting the X and Y positions you can see that the the position does indeed suddenly move well outside the (rather small) geofence, but that doesn’t happen until after the crash. This large motion is erroneous, probably due to the GPS antenna coming off in the crash; the drone did not actually move to this position. Unclear why the fence warning shows up right at the crash time.

According to the docs, the default termination action is to turn off the ESCs but the crash itself was way more interesting then that. The crash began with transition from level flight in alt hold mode into a fast (>3 rpm!) backwards roll. Can the termination system fail in this way?

Let me ping @bresch. He might have valuable feedback to provide