<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">@Tom,<div class=""><br class=""></div><div class="">Mine seems rock-solid now. It has been running over the long 4 day weekend, with no lock-ups or reboots. It seems to switch between wifi and modem very well.</div><div class=""><br class=""></div><div class="">I will now enable the webserver on my module, to see how that behaves.</div><div class=""><br class=""></div><div class="">Regards, Mark.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 30 Mar 2018, at 11:38 AM, Mark Webb-Johnson <<a href="mailto:mark@webb-johnson.net" class="">mark@webb-johnson.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Tom,</div><div class=""><br class=""></div><div class="">For logging, I do this:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">OVMS# vfs cat /store/events/sd.mounted/logging</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">log file</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">log file /sd/ovms.log</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">log level verbose</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">log level info ssh</span></font></div></div></blockquote><div class=""><br class=""></div><div class="">Seems to work well. It won’t catch system level output (like crashes), but at least shows what our apps are up to.</div><div class=""><br class=""></div><div class="">We don’t know the order things happened (no logs), but Steven’s module tasks stack is working well and gives lots of clues as to the cause. Many thanks.</div><div class=""><br class=""></div>Looking at Blk tiT (reverse order):<div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401cbdaa: tcpip_thread<span class="Apple-tab-span" style="white-space:pre">                 </span>esp-idf/components/lwip/api/tcpip.c:474</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401d71a8: sys_timeouts_mbox_fetch<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">    </span>esp-idf/components/lwip/core/timers.c:575</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401e3ea2: fsm_timeout<span class="Apple-tab-span" style="white-space:pre">                          </span>esp-idf/components/lwip/netif/ppp/fsm.c:279</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401e2920: lcp_finished<span class="Apple-tab-span" style="white-space:pre">                       </span>esp-idf/components/lwip/netif/ppp/lcp.c:2365</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401e7654: link_terminated<span class="Apple-tab-span" style="white-space:pre">                   </span>esp-idf/components/lwip/netif/ppp/auth.c:643</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x402011b6: ppp_link_terminated<span class="Apple-tab-span" style="white-space:pre">                       </span>esp-idf/components/lwip/netif/ppp/ppp.c:704</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x4008b981: xQueueGenericReceive<span class="Apple-tab-span" style="white-space:pre">               </span>esp-idf/components/freertos/./queue.c:2037</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401e53e1: sys_arch_mbox_fetch<span class="Apple-tab-span" style="white-space:pre">                 </span>esp-idf/components/lwip/port/freertos/sys_arch.c:548</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401e0672: pppos_disconnect<span class="Apple-tab-span" style="white-space:pre">                  </span>esp-idf/components/lwip/netif/ppp/pppos.c:410</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x4020118e: ppp_link_end<span class="Apple-tab-span" style="white-space:pre">                     </span>esp/esp-idf/components/lwip/netif/ppp/ppp.c:704</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x4012b7ec: GsmPPPOS_StatusCallback<span class="Apple-tab-span" style="white-space:pre">                </span>OVMS.V3/components/simcom/src/gsmpppos.cpp:149</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401cb450: pppapi_connect<span class="Apple-tab-span" style="white-space: pre;">                        </span>esp-idf/components/lwip/api/pppapi.c:266</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401cbf90: tcpip_api_call<span class="Apple-tab-span" style="white-space:pre">                        </span>esp-idf/components/lwip/api/tcpip.c:474</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x400eec76: OvmsCommandApp::Log<span class="Apple-tab-span" style="white-space:pre">                    </span>OVMS.V3/main/./ovms_command.cpp:94</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x4008b981: xQueueGenericReceive<span class="Apple-tab-span" style="white-space:pre">                </span>esp-idf/components/freertos/./queue.c:2037</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401e52d0: sys_arch_sem_wait<span class="Apple-tab-span" style="white-space:pre">                   </span>esp-idf/components/lwip/port/freertos/sys_arch.c:548</span></font></div></blockquote><div class=""><div class=""><br class=""></div></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class="">It seems that the ppp link went down, and that triggered a GsmPPPOS_StatusCallback. That in turn called pppapi_connect to reconnect. That went into the tcp_api_call.</div></div><div class=""><br class=""></div><div class="">I am concerned that we are doing a tcpip_api_call from within the tiT thread. The LWIP PPP library has two versions of each call. One seems to be intended to be called from within the tiT thread, and the other dispatches the call (via a freeRTOS queue) to be executed from within the tIT thread. But, that logic comes straight from the LWIP PPP examples, so I’m really not sure what is going on.</div><div class=""><br class=""></div><div class="">Looking at GsmPPPOS_StatusCallback, there are a bunch of error codes that can come into that, and they all result in a call to pppapi_connect except for PPPERR_NONE and PPPERR_USER. The actual call we make is pppapi_connect(pcb, 30), which should delay the reconnection for 30 seconds.</div></blockquote><div class=""><div class=""><br class=""></div><div class="">Looking at Tmr Svc:</div><div class=""><br class=""></div></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><span style="font-size: 14px; font-family: 'Andale Mono';" class="">0x4008d90b: prvTimerTask</span><span class="Apple-tab-span" style="font-size: 14px; font-family: 'Andale Mono'; white-space: pre;">                     </span><span style="font-size: 14px; font-family: 'Andale Mono';" class="">esp-idf/components/freertos/./timers.c:484</span></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x4008d7fc: prvProcessTimerOrBlockTask<span class="Apple-tab-span" style="white-space:pre">         </span>esp-idf/components/freertos/./timers.c:484</span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x40081f7e: esp_crosscore_int_send_yield<span class="Apple-tab-span" style="white-space:pre">        </span>esp-idf/components/esp32/./crosscore_int.c:112</span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x4008d818: prvProcessTimerOrBlockTask<span class="Apple-tab-span" style="white-space:pre">              </span>esp-idf/components/freertos/./timers.c:484</span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x40081f10: esp_crosscore_int_send<span class="Apple-tab-span" style="white-space:pre">              </span>esp-idf/components/esp32/./crosscore_int.c:103</span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x4008d7c9: prvProcessExpiredTimer<span class="Apple-tab-span" style="white-space:pre">          </span>esp-idf/components/freertos/./timers.c:484</span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x400eb07b: HousekeepingTicker1(void*)<span class="Apple-tab-span" style="white-space:pre">          </span>OVMS.V3/main/./ovms_housekeeping.cpp:70</span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x400eb07b: HousekeepingTicker1(void*)<span class="Apple-tab-span" style="white-space:pre">             </span>OVMS.V3/main/./ovms_housekeeping.cpp:70</span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x400eaeb6: std::__cxx11::basic_string<span class="Apple-tab-span" style="white-space:pre">             </span>xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:135</span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x400e8fe8: std::__cxx11::basic_string<span class="Apple-tab-span" style="white-space:pre">         </span>xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:135<br class=""></span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x400e8d4c: std::function<span class="Apple-tab-span" style="white-space:pre">                 </span>xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:2271<br class="">0x400d4d68: void std::__cxx11::basic_string<span class="Apple-tab-span" style="white-space:pre"> </span>xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.tcc:236</span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x400e8fdc: OvmsEvents::SignalEvent<span class="Apple-tab-span" style="white-space:pre">           </span>OVMS.V3/main/./ovms_events.cpp:155</span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401183a2: void std::_Mem_fn_base<span class="Apple-tab-span" style="white-space:pre">              </span>xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:600<br class="">0x400e208a: std::function<span class="Apple-tab-span" style="white-space:pre">                    </span>xtensa-esp32-elf/include/c++/5.2.0/functional:2271<br class=""></span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x4014a76c: opendir<span class="Apple-tab-span" style="white-space:pre">                                </span>esp-idf/components/vfs/./vfs.c:540<br class=""></span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x4012a037: std::__cxx11::basic_string<span class="Apple-tab-span" style="white-space:pre">             </span>xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:135<br class=""></span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x40129f8c: simcom::Ticker<span class="Apple-tab-span" style="white-space:pre">                        </span>OVMS.V3/components/simcom/src/simcom.cpp:257<br class=""></span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x40129900: simcom::Task()<span class="Apple-tab-span" style="white-space:pre">                       </span>OVMS.V3/components/simcom/src/simcom.cpp:88<br class=""></span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401299f3: simcom::State1Ticker1()<span class="Apple-tab-span" style="white-space:pre">               </span>OVMS.V3/components/simcom/src/simcom.cpp:531<br class=""></span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x4012b2d4: GsmPPPOS::Shutdown(bool)<span class="Apple-tab-span" style="white-space:pre">             </span>OVMS.V3/components/simcom/src/gsmpppos.cpp:219<br class=""></span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401cb468: pppapi_close<span class="Apple-tab-span" style="white-space:pre">                       </span>esp-idf/components/lwip/api/pppapi.c:319<br class=""></span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x40082d58: _free_r<span class="Apple-tab-span" style="white-space:pre">                          </span>esp-idf/components/newlib/./syscalls.c:42<br class=""></span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401cbf90: tcpip_api_call<span class="Apple-tab-span" style="white-space:pre">                  </span>esp-idf/components/lwip/api/tcpip.c:474<br class=""></span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x4008b981: xQueueGenericReceive<span class="Apple-tab-span" style="white-space:pre">              </span>esp-idf/components/freertos/./queue.c:2037<br class=""></span></font></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">0x401e52d0: sys_arch_sem_wait<span class="Apple-tab-span" style="white-space:pre">                      </span>esp-idf/components/lwip/port/freertos/sys_arch.c:548</span></font></blockquote><div class=""><div class=""><br class=""></div></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class="">So here we have a ticker.* signal being issued by housekeeping (in Tmr Svc context, because this code pre-dates the switch yesterday to run these in housekeeping task context). Looking at simcom, that must be ticker.1 because that is the only ticker.* that simcom hooks into. That must be a normal state ticker (State1Ticker), and ends up with a pppapi_close. No idea what state we were in at the time.</div></div><div class=""><br class=""></div><div class="">The pppapi_close is only called in one place from simcom ppp (GsmPPPOS::Shutdown). That can in turn only be called from the main simcom as a result of the last good frame timeout.</div><div class=""><br class=""></div><div class="">The last few frames of this stack show the tcpip_api_call being raised, and that calling sys_arch_sem_wait to wait for the response from the api call (in the tiT task context). I think the 0x4008b981 xQueueGenericReceive is garbage and shouldn’t be in the backtrace.</div></blockquote><div class=""><div class=""><br class=""></div><div class="">The way lwip works is that there is a tIT thread that runs the main IP stack. Function there are not intended to be called directly (from other threads), as they may not be thread safe. So, instead, the tcpip_api_call is used to create a structure packing the call details, and push that structure onto a queue. The tiT thread then reads that queue, executes the function in it’s own context, fills in the result, and then signals completion. The original caller is waiting (sys_arch_sem_wait) for the signal from tiT that that call is complete, and then regains control (in it’s own stack) to handle the result.</div><div class=""><br class=""></div><div class="">I don’t see any real problems in Tmr Svc. There is a hell of a lot going on in a timer call, but we’ve already addressed the core issue there (that Michael identified yesterday), and with current code this part will now run in housekeeping context. Anyway, I don’t think this is the issue.</div><div class=""><br class=""></div><div class="">More concerning is the behaviour in the tIT task. I’m guessing the sys_arch_mbox_fetch followed by pppos_disconnect is our call from Tmr Svc for pppapi_close. So we’ve got an incoming queue message there, and we are handling it (with the sender task Tmr Svc waiting on sys_arch_sem_wait for the signal the function has completed executing in the tiT task). LWIP then calls the status callback (to tell it about the link down), and our code (running in tIT task context) calls pppapi_connect to reconnect. That schedules a pppapi_do_ppp_connect to be run in the tIT task and waits for the semaphore to be set to indicate it is done. But, we are already in the tiT task, so we never look at the incoming function call queue, so we block forever.</div><div class=""><br class=""></div><div class="">Bottom line: I think the fix is to directly call the internal ppp_connect function (as the callback is in tiT task context), rather than scheduling an inter-task call (pppapi_connect):</div><div class=""><br class=""></div></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">--- a/vehicle/OVMS.V3/components/simcom/src/gsmpppos.cpp</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">+++ b/vehicle/OVMS.V3/components/simcom/src/gsmpppos.cpp</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">@@ -146,7 +146,8 @@ static void GsmPPPOS_StatusCallback(ppp_pcb *pcb, int err_code, void *ctx)</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">   // Try to reconnect in 30 seconds. This is assuming the SIMCOM modem level</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">   // data channel is still open.</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">   ESP_LOGI(TAG, "Attempting PPP reconnecting in 30 seconds...");</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">-  pppapi_connect(pcb, 30);</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">+  ppp_connect(pcb, 30);</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">   }</span></font></div></blockquote><div class=""><div class=""><br class=""></div><div class="">That was a lot of work, and a lot of hassle, for three lousy characters. The LWIP example for PPPoS uses ppp_connect (not pppapi_connect).</div><div class=""><br class=""></div><div class="">This is committed, and builds as 3.1.001-17-g38b3e7f for me. You can get it as:</div><div class=""><br class=""></div></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class="">OVMS# ota flash http <a href="http://api.openvehicles.com/firmware/ota/tmp/ovms3.bin" class="">api.openvehicles.com/firmware/ota/tmp/ovms3.bin</a></div></div></blockquote><div class=""><div class=""><br class=""></div><div class="">@Tom: can you try it?</div><div class=""><br class=""></div><div class="">Regards, Mark.</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On 29 Mar 2018, at 9:27 AM, Mark Webb-Johnson <<a href="mailto:mark@webb-johnson.net" class="">mark@webb-johnson.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Tom,<br class=""><br class="">This seems clear, and about what I expected. Looks like the timer service is in 'pppapi_close’, and the tcp/ip task is in ‘pppapi_connect’. One is trying to connect, the other disconnect, and they are deadlocked.<br class=""><br class="">I think the '0x400eec76: OvmsCommandApp::Log’ in Blk tiT is a false report - can’t see how that is called from there.<br class=""><br class="">I’ve got to put some time into ‘day job’ now, but will have a look at it in detail later.<br class=""><br class="">Regards, Mark<br class=""><br class=""><blockquote type="cite" class="">On 29 Mar 2018, at 9:04 AM, Tom Parker <<a href="mailto:tom@carrott.org" class="">tom@carrott.org</a>> wrote:<br class=""><br class="">On 29/03/18 00:02, Mark Webb-Johnson wrote:<br class=""><br class=""><blockquote type="cite" class="">I unplugged my antenna, then put it in a steel box. It still got signal :(<br class=""></blockquote><br class="">lol<br class=""><br class="">I've got it hung up at the moment. Unfortunately it was during the one drive where I didn't use the datalogger so I don't have the logs leading up to the hang.<br class=""><br class="">Time is still advancing, but monotonic is not. I don't have it connected to the idf monitor so addr2line is a bit tricky.<br class=""><br class="">OVMS> tas   module tasks<br class="">Number of Tasks = 13      Stack:  Now   Max Total    Heap 32-bit SPIRAM<br class="">3FFAFB10  1 Blk esp_timer         396   444  4096   55100 644      0<br class="">3FFBD584  2 Blk eventTask         448   448  4608       0 0      0<br class="">3FFC5C8C  3 Blk CanRxTask         424   824  4096       0 0      0<br class="">3FFCCE0C  4 Blk ipc0              392   504  1024   10848 0      0<br class="">3FFCD40C  5 Blk ipc1              392   504  1024      12 0      0<br class="">3FFCF234  8 Rdy IDLE              368   496  1024       0 0      0<br class="">3FFCF7C8  9 Rdy IDLE              356   692  1024       0 0      0<br class="">3FFD115C 10 Blk Tmr Svc          1512  3928  6144     744 0      0<br class="">3FFD3D6C 14 Blk Housekeeping      356  3444  6144   55792 0      0<br class="">3FFCECA0 16 Blk tiT               908  3852  4608   23968 0      0<br class="">3FFDD374 17 Blk SIMCOMTask        464  2528  4096    4404 0      0<br class="">3FFDF9B4 18 Rdy AsyncConsole      764  3068  5120     516 27488      0<br class="">3FFE3E28 19 Blk Vrx Task          456  3016  4096       0 0      0<br class=""><br class="">OVMS> module tasks stacks<br class="">Number of Tasks = 13      Stack:  Now   Max Total    Heap 32-bit SPIRAM<br class="">3FFAFB10  1 Blk esp_timer         396   444  4096   55100 644      0<br class="">  0x400dc0e7  0x4008b981<br class="">3FFBD584  2 Blk eventTask         448   448  4608       0 0      0<br class="">  0x4019bfa8  0x4008b981<br class="">3FFC5C8C  3 Blk CanRxTask         424   824  4096       0 0      0<br class="">  0x400d3f41  0x4008b981<br class="">3FFCCE0C  4 Blk ipc0              392   504  1024   10848 0      0<br class="">  0x4008152b  0x4008b981  0x40081363<br class="">3FFCD40C  5 Blk ipc1              392   504  1024      12 0      0<br class="">  0x4008152b  0x4008b981  0x400813dc<br class="">3FFCF234  8 Rdy IDLE              368   496  1024       0 0      0<br class="">  0x4008ca40  0x4008bcf3  0x4008bcf3<br class="">3FFCF7C8  9 Rdy IDLE              356   692  1024       0 0      0<br class="">  0x4008ca40  0x40082197  0x4008c5bc  0x40082197<br class="">3FFD115C 10 Blk Tmr Svc          1512  3928  6144     744 0      0<br class="">  0x401e52d0  0x4008b981  0x401cbf90  0x40082d58  0x401cb468 0x4012b2d4  0x401299f3  0x40129900  0x40129f8c  0x4012a037 0x4014a76c  0x400e208a  0x401183a2  0x400e8fdc  0x400d4d68 0x400e8d4c  0x400e8fe8  0x400eaeb6  0x400eb07b  0x400eb07b 0x4008d7c9  0x40081f10  0x4008d818  0x40081f7e  0x4008d7fc 0x4008d90b<br class="">3FFD3D6C 14 Blk Housekeeping      356  3444  6144   55792 0      0<br class="">  0x400eae77  0x4008c972  0x400e2170<br class="">3FFCECA0 16 Blk tiT               908  3852  4608   23968 0      0<br class="">  0x401e52d0  0x4008b981  0x400eec76  0x401cbf90  0x401cb450 0x4012b7ec  0x4020118e  0x401e0672  0x401e53e1  0x4008b981 0x402011b6  0x401e7654  0x401e2920  0x401e3ea2  0x401d71a8 0x401cbdaa<br class="">3FFDD374 17 Blk SIMCOMTask        464  2528  4096    4404 0      0<br class="">  0x40129909  0x4008b981  0x401299ac<br class="">3FFDF9B4 18 Rdy AsyncConsole     1148  3068  5120     516 27488      0<br class="">  0x400e3f09  0x400e7438  0x400ee4b1  0x400ee5c8  0x400ee5ba 0x400ee5ba  0x400ee5f0  0x400e3a3b  0x400f130c  0x400f1373 0x400e3a6a  0x400e8240  0x4017cfb1  0x401fb752  0x400e4010 0x400e8274  0x400e8460  0x400e3ebc  0x400e3ecb  0x400e6c3c<br class="">3FFE3E28 19 Blk Vrx Task          456  3016  4096       0 0      0<br class="">  0x4012e589  0x4008b981  0x401fc148<br class=""><br class="">Blk Tmr Svc and Blk tiT look suspect.<br class=""><br class="">Blk Tmr Svc<br class="">~/esp/xtensa-esp32-elf/bin/xtensa-esp32-elf-addr2line -pfiaC -e build/ovms3.elf  0x401e52d0  0x4008b981  0x401cbf90  0x40082d58 0x401cb468  0x4012b2d4  0x401299f3  0x40129900  0x40129f8c 0x4012a037  0x4014a76c  0x400e208a  0x401183a2  0x400e8fdc 0x400d4d68  0x400e8d4c  0x400e8fe8  0x400eaeb6  0x400eb07b 0x400eb07b  0x4008d7c9  0x40081f10  0x4008d818  0x40081f7e 0x4008d7fc  0x4008d90b<br class="">0x401e52d0: sys_arch_sem_wait at /home/ubuntu/esp/esp-idf/components/lwip/port/freertos/sys_arch.c:548<br class="">0x4008b981: xQueueGenericReceive at /home/ubuntu/esp/esp-idf/components/freertos/./queue.c:2037<br class="">0x401cbf90: tcpip_api_call at /home/ubuntu/esp/esp-idf/components/lwip/api/tcpip.c:474<br class="">0x40082d58: _free_r at /home/ubuntu/esp/esp-idf/components/newlib/./syscalls.c:42<br class="">0x401cb468: pppapi_close at /home/ubuntu/esp/esp-idf/components/lwip/api/pppapi.c:319<br class="">0x4012b2d4: GsmPPPOS::Shutdown(bool) at /vagrant/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/simcom/src/gsmpppos.cpp:219<br class="">0x401299f3: simcom::State1Ticker1() at /vagrant/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/simcom/src/simcom.cpp:531<br class="">0x40129900: simcom::Task() at /vagrant/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/simcom/src/simcom.cpp:88<br class="">0x40129f8c: simcom::Ticker(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*) at /vagrant/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/simcom/src/simcom.cpp:257<br class="">0x4012a037: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:135<br class=""> (inlined by) std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:170<br class=""> (inlined by) std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose() at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:179<br class=""> (inlined by) std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:544<br class=""> (inlined by) void std::_Mem_fn_base<void (simcom::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*), true>::operator()<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*, void>(simcom*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, void*&&) const at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:600<br class=""> (inlined by) void std::_Bind<std::_Mem_fn<void (simcom::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*)> (simcom*, std::_Placeholder<1>, std::_Placeholder<2>)>::__call<void, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, void*&&, 0u, 1u, 2u>(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, void*&&>&&, std::_Index_tuple<0u, 1u, 2u>) at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:1074<br class=""> (inlined by) void std::_Bind<std::_Mem_fn<void (simcom::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*)> (simcom*, std::_Placeholder<1>, std::_Placeholder<2>)>::operator()<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*, void>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, void*&&) at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:1133<br class=""> (inlined by) std::_Function_handler<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*), std::_Bind<std::_Mem_fn<void (simcom::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*)> (simcom*, std::_Placeholder<1>, std::_Placeholder<2>)> >::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, void*&&) at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:1871<br class="">0x4014a76c: opendir at /home/ubuntu/esp/esp-idf/components/vfs/./vfs.c:540<br class="">0x400e208a: std::function<void (OvmsMetric*)>::operator()(OvmsMetric*) const at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:2271<br class="">0x401183a2: void std::_Mem_fn_base<void (OvmsServerV2::*)(OvmsMetric*), true>::operator()<OvmsMetric*, void>(OvmsServerV2*, OvmsMetric*&&) const at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:600<br class=""> (inlined by) void std::_Bind<std::_Mem_fn<void (OvmsServerV2::*)(OvmsMetric*)> (OvmsServerV2*, std::_Placeholder<1>)>::__call<void, OvmsMetric*&&, 0u, 1u>(std::tuple<OvmsMetric*&&>&&, std::_Index_tuple<0u, 1u>) at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:1074<br class=""> (inlined by) void std::_Bind<std::_Mem_fn<void (OvmsServerV2::*)(OvmsMetric*)> (OvmsServerV2*, std::_Placeholder<1>)>::operator()<OvmsMetric*, void>(OvmsMetric*&&) at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:1133<br class=""> (inlined by) std::_Function_handler<void (OvmsMetric*), std::_Bind<std::_Mem_fn<void (OvmsServerV2::*)(OvmsMetric*)> (OvmsServerV2*, std::_Placeholder<1>)> >::_M_invoke(std::_Any_data const&, OvmsMetric*&&) at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:1871<br class="">0x400e8fdc: OvmsEvents::SignalEvent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*) at /vagrant/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/./ovms_events.cpp:155<br class="">0x400d4d68: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.tcc:236<br class="">0x400e8d4c: std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*)>::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*) const at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:2271<br class="">0x400e8fe8: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:135<br class=""> (inlined by) std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:170<br class=""> (inlined by) std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose() at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:179<br class=""> (inlined by) std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:544<br class=""> (inlined by) OvmsEvents::SignalEvent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*) at /vagrant/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/./ovms_events.cpp:155<br class="">0x400eaeb6: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:135<br class=""> (inlined by) std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:170<br class=""> (inlined by) std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose() at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:179<br class=""> (inlined by) std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() at /home/ubuntu/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:544<br class=""> (inlined by) Housekeeping::Ticker1() at /vagrant/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/./ovms_housekeeping.cpp:223<br class="">0x400eb07b: HousekeepingTicker1(void*) at /vagrant/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/./ovms_housekeeping.cpp:70<br class="">0x400eb07b: HousekeepingTicker1(void*) at /vagrant/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/./ovms_housekeeping.cpp:70<br class="">0x4008d7c9: prvProcessExpiredTimer at /home/ubuntu/esp/esp-idf/components/freertos/./timers.c:484<br class="">0x40081f10: esp_crosscore_int_send at /home/ubuntu/esp/esp-idf/components/esp32/./crosscore_int.c:103<br class="">0x4008d818: prvProcessTimerOrBlockTask at /home/ubuntu/esp/esp-idf/components/freertos/./timers.c:484<br class="">0x40081f7e: esp_crosscore_int_send_yield at /home/ubuntu/esp/esp-idf/components/esp32/./crosscore_int.c:112<br class="">0x4008d7fc: prvProcessTimerOrBlockTask at /home/ubuntu/esp/esp-idf/components/freertos/./timers.c:484<br class="">0x4008d90b: prvTimerTask at /home/ubuntu/esp/esp-idf/components/freertos/./timers.c:484<br class=""><br class="">Blk tiT<br class="">$ ~/esp/xtensa-esp32-elf/bin/xtensa-esp32-elf-addr2line -pfiaC -e build/ovms3.elf 0x401e52d0  0x4008b981  0x400eec76  0x401cbf90 0x401cb450  0x4012b7ec  0x4020118e  0x401e0672  0x401e53e1 0x4008b981  0x402011b6  0x401e7654  0x401e2920  0x401e3ea2 0x401d71a8  0x401cbdaa<br class="">0x401e52d0: sys_arch_sem_wait at /home/ubuntu/esp/esp-idf/components/lwip/port/freertos/sys_arch.c:548<br class="">0x4008b981: xQueueGenericReceive at /home/ubuntu/esp/esp-idf/components/freertos/./queue.c:2037<br class="">0x400eec76: OvmsCommandApp::Log(char const*, __va_list_tag) at /vagrant/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/./ovms_command.cpp:94<br class="">0x401cbf90: tcpip_api_call at /home/ubuntu/esp/esp-idf/components/lwip/api/tcpip.c:474<br class="">0x401cb450: pppapi_connect at /home/ubuntu/esp/esp-idf/components/lwip/api/pppapi.c:266<br class="">0x4012b7ec: GsmPPPOS_StatusCallback(ppp_pcb_s*, int, void*) at /vagrant/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/simcom/src/gsmpppos.cpp:149<br class="">0x4020118e: ppp_link_end at /home/ubuntu/esp/esp-idf/components/lwip/netif/ppp/ppp.c:704<br class="">0x401e0672: pppos_disconnect at /home/ubuntu/esp/esp-idf/components/lwip/netif/ppp/pppos.c:410<br class="">0x401e53e1: sys_arch_mbox_fetch at /home/ubuntu/esp/esp-idf/components/lwip/port/freertos/sys_arch.c:548<br class="">0x4008b981: xQueueGenericReceive at /home/ubuntu/esp/esp-idf/components/freertos/./queue.c:2037<br class="">0x402011b6: ppp_link_terminated at /home/ubuntu/esp/esp-idf/components/lwip/netif/ppp/ppp.c:704<br class="">0x401e7654: link_terminated at /home/ubuntu/esp/esp-idf/components/lwip/netif/ppp/auth.c:643<br class="">0x401e2920: lcp_finished at /home/ubuntu/esp/esp-idf/components/lwip/netif/ppp/lcp.c:2365<br class="">0x401e3ea2: fsm_timeout at /home/ubuntu/esp/esp-idf/components/lwip/netif/ppp/fsm.c:279<br class="">0x401d71a8: sys_timeouts_mbox_fetch at /home/ubuntu/esp/esp-idf/components/lwip/core/timers.c:575<br class="">0x401cbdaa: tcpip_thread at /home/ubuntu/esp/esp-idf/components/lwip/api/tcpip.c:474<br class=""><br class="">_______________________________________________<br class="">OvmsDev mailing list<br class=""><a href="mailto:OvmsDev@lists.teslaclub.hk" class="">OvmsDev@lists.teslaclub.hk</a><br class=""><a href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev" class="">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br class=""></blockquote><br class="">_______________________________________________<br class="">OvmsDev mailing list<br class=""><a href="mailto:OvmsDev@lists.teslaclub.hk" class="">OvmsDev@lists.teslaclub.hk</a><br class=""><a href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev" class="">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br class=""></div></div></blockquote></div><br class=""></div></div></div>_______________________________________________<br class="">OvmsDev mailing list<br class=""><a href="mailto:OvmsDev@lists.teslaclub.hk" class="">OvmsDev@lists.teslaclub.hk</a><br class="">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev<br class=""></div></blockquote></div><br class=""></div></body></html>