Everyone,
the remaining crashes I have seen in quite a while were all due to
the task watchdog triggering. I have now added capturing the names
of the tasks that failed feeding the dog and capturing the event
that was processed at the time of the crash/wdt to the RTC boot
data.
If set, it's shown by the "boot" command and transmitted to a v2
server via the "*-OVM-DebugCrash" records.
Example:
OVMS# boot status
Last boot was 10 second(s) ago
Time at boot: 2020-07-18 11:53:07 CEST
This is reset #1 since last power cycle
Detected boot reason: Crash (12/12)
Reset reason: Task watchdog (6)
Crash counters: 1 total, 0 early
Last crash: abort() was called on core 0
Backtrace:
0x4008e627 0x4008e8c1 0x400e6100 0x40083f6a
Event: ticker.1@module 64 secs
WDT tasks: OVMS Events
Version: 3.2.013-303-gfc79b92f/factory/edge (build idf
v3.3.2-879-g0137aef47 Jul 18 2020 11:29:45)
This was a test trigger by "module trigger twdt".
DebugCrash record structure is now:
// H type "*-OVM-DebugCrash"
// ,<firmware_version>
//
,<bootcount>,<bootreason_name>,<bootreason_cpu0>,<bootreason_cpu1>
//
,<crashcnt>,<earlycrashcnt>,<crashtype>,<crashcore>,<registers>,<backtrace>
// ,<resetreason>,<resetreason_name>
//
,<curr_event_name>,<curr_event_handler>,<curr_event_runtime>
// ,<wdt_tasknames>
Regards,
Michael
--
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26