A part of the firmware almost ran out of its own memory
What ArduPilot says:
- Internal errors 0x800000 (stack_overflow)
- Internal errors 0x4000000 (mem_guard)
Every thread of ArduPilot has a fixed piece of memory, its stack. stack_overflow is recorded when the free stack of any thread drops below 64 bytes (32 on the small F1 processors), a warning just before memory is really overwritten; the l: number is then the priority of that thread, or 65535 for the interrupt stack. If the stack does overflow while disarmed, the board stops on purpose and prints “stack overflow” with the thread's name. mem_guard appears only in special test builds, when memory next to an allocation was overwritten.
What to do, most likely first
A bug in the firmware, or a combination of features nobody tested: a custom build, a new driver, a beta.
CheckWhat was switched on last? Does it happen with the stable release for this board and your parameters?
FixDo not fly. Go back to the stable release; if it happens there too, report it with the whole line and the list of features and devices you use.
Where to do it:Setup & Tuning GuideFirmware Builder