Apparent software crash in flight?

Hi everyone,

I had a strange crash today of my Talon that I’ve been wracking my brains to solve. I want to ask for some advice as the only explanation I can come up with is a software failure of the autopilot.

I was flying some simple laps of a few ovals and as the aircraft hit one waypoint all telemetry data cut out completely. At the time of cutout (see end of tlog) the aircraft was flying normally at good speed and altitude and had no apparent issues. Fortunately I did locate the aircraft crashed a few hundred metres ahead of where the telemetry cutout. There was plenty of damage but clear evidence it had continued to fly/glide straight ahead from where it cutout. I suspected a radio issue but recovery of the BIN log shows it too cuts out at the same point 120m in the air.

Having spent a lot of time looking at people’s logs I then suspected brownout/power interruption but the log shows rock solid board voltage and upon closer examination I discovered that the very last three commands logged were the reaching of a waypoint and subsequent jump commands. Given the log events are occurring every few milliseconds the chances of a brownout exactly as a waypoint was reached (to the millisecond) seem remote?

I do have a suspicion that when entering an extra do jump command after takeoff I may have created an infinite loop of do jump commands possibly? While this would have been my fault I would have thought we could program the software to handle this and execute an RTL (such as at the end of a mission when it runs out of waypoints).

I’d be really grateful if someone could confirm or otherwise my hypothesis and happy to discuss how we could prevent such an occurrence in future if software

TLOG: dropbox.com/s/bfy2pmie5kum5 … .tlog?dl=0
BIN Log: dropbox.com/s/ckg4geledgwmsf7/35.BIN?dl=0

Update: as the remains of the aircraft could be powered up I downloaded the mission file (see attached) which confirms there was an infinite loop of jumps. WP 18 commanded jump to 13 which commanded jump to 2. 2 then commanded jump to 13 and so on. While this was my error I am keen to work out if it was the cause of the crash and if we can do something to prevent it in future automatically.

The trigger was me inserting waypoint 2 to bypass the inner part of the mission - because the subsequent jumps don’t update when a new waypoint is inserted it causes the loop to form unnoticed.

Waypoint File: dropbox.com/s/h16z2ogpjcqx2 … e.txt?dl=0

Thanks for the report!
I’ve reproduced the issue and I hope to have a fix soon

Thanks Tridge - if you need any more info let me know.

I’ve fixed the bug:
github.com/diydrones/ardupilot/ … d952edae10
the fix will be in the upcoming 3.2.1 release.
Thanks very much for reporting this!
Cheers, Tridge