Debugging the task watchdog triggers
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
participants (1)
-
Michael Balzer