<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
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.<br>
<br>
This looks like a race condition between event handler invocation
and deregistration:<br>
<br>
<font face="monospace">Guru Meditation Error: Core 1 panic'ed
(InstrFetchProhibited).</font><font face="monospace"> Exception
was unhandled.</font><br>
<font face="monospace">…<br>
Backtrace: 0x41000000:0x3ffc8c30 0x401208ed:0x3ffc8c60
0x401209d4:0x3ffc8cc0 0x40120a5d:0x3ffc8d00<br>
<br>
→ Crash at <b>0x41000000</b> (invalid address), called from:<br>
<br>
0x401208ed is in
OvmsEvents::HandleQueueSignalEvent(event_queue_t*)
(/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_events.cpp:310).<br>
305 {<br>
306 for (EventCallbackList::iterator itc=el->begin();
itc!=el->end(); ++itc)<br>
307 {<br>
308 m_current_started = monotonictime;<br>
309 m_current_callback = *itc;<br>
<b>310
m_current_callback->m_callback(m_current_event,
msg->body.signal.data);</b><br>
311 m_current_callback = NULL;<br>
312 }<br>
313 }<br>
314 }</font><br>
<br>
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 (?).<br>
<br>
<br>
I think, when introducing the separate event handling task, we
missed adding a lock to make manipulations & accesses to the
event handler list atomic.<br>
<br>
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.<br>
<br>
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.<br>
<br>
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.<br>
<br>
Michael, if you'd like to have a look at this, go ahead.<br>
<br>
Regards,<br>
Michael<br>
<br>
<br>
<div class="moz-cite-prefix">Am 01.01.25 um 11:47 schrieb Tamás
Kovács via OvmsDev:<br>
</div>
<blockquote type="cite"
cite="mid:CAGpaXUuB_0w2n77te375QXQS66MbKOX1D3AQGn_T0TFv7ST4kg@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div>Now i change the sd card to a smaller, and formatted to
fat32 (16Gb), but on reboot is crashing.</div>
<div>Now connect a computer to the usb port, and create a log in
verbose, attached to the email.</div>
<div><br>
</div>
<div><br>
</div>
<span class="gmail_signature_prefix">-- </span><br>
<div dir="ltr" class="gmail_signature"
data-smartmail="gmail_signature">Üdvözlettel:<br>
Kovács Tamás<br>
<br>
</div>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre wrap="" class="moz-quote-pre">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Michael Balzer * Am Rahmen 5 * D-58313 Herdecke
Fon 02330 9104094 * Handy 0176 20698926</pre>
</body>
</html>