The log shows it actually crashes during the shutdown process -- but @Michael, I'm pretty sure this is an old issue, turning up now only by chance.
This looks like a race condition between event handler invocation and deregistration:
Guru Meditation Error: Core 1 panic'ed (InstrFetchProhibited). Exception was unhandled.
…
Backtrace: 0x41000000:0x3ffc8c30 0x401208ed:0x3ffc8c60 0x401209d4:0x3ffc8cc0 0x40120a5d:0x3ffc8d00
→ Crash at 0x41000000 (invalid address), called from:
0x401208ed is in OvmsEvents::HandleQueueSignalEvent(event_queue_t*) (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_events.cpp:310).
305 {
306 for (EventCallbackList::iterator itc=el->begin(); itc!=el->end(); ++itc)
307 {
308 m_current_started = monotonictime;
309 m_current_callback = *itc;
310 m_current_callback->m_callback(m_current_event, msg->body.signal.data);
311 m_current_callback = NULL;
312 }
313 }
314 }
From there it then enters a crash loop from the crash handler somehow running into an illegal address when trying to access the RTC boot_data object (?).
I think, when introducing the separate event handling task, we missed adding a lock to make manipulations & accesses to the event handler list atomic.
The log shows, the event queue grew significantly due to duktape/scripts lagging during shutdown (as seen in the log), so the task was quite busy.
So probably a `DeregisterEvent()` call from the shutdown process came in, invalidating a callback entry just while the event task was processing that callback list.
Solving this may need some additional thoughts & measures: locking the whole event registry with handlers lagging like this could lead to a deadlock… probably at least the Duktape component needs to cleanly abort/reject all pending events before/while deregistering.
Michael, if you'd like to have a look at this, go ahead.
Regards,
Michael
Am 01.01.25 um 11:47 schrieb Tamás Kovács via OvmsDev:
Now i change the sd card to a smaller, and formatted to fat32 (16Gb), but on reboot is crashing.Now connect a computer to the usb port, and create a log in verbose, attached to the email.
--
Üdvözlettel:
Kovács Tamás
_______________________________________________ OvmsDev mailing list OvmsDev@lists.openvehicles.com http://lists.openvehicles.com/mailman/listinfo/ovmsdev
-- Michael Balzer * Am Rahmen 5 * D-58313 Herdecke Fon 02330 9104094 * Handy 0176 20698926
_______________________________________________ OvmsDev mailing list OvmsDev@lists.openvehicles.com http://lists.openvehicles.com/mailman/listinfo/ovmsdev
-- Michael Balzer * Am Rahmen 5 * D-58313 Herdecke Fon 02330 9104094 * Handy 0176 20698926