[Ovmsdev] Random crash if enable notifications

Tamás Kovács kommykt at gmail.com
Sun Jun 14 14:39:16 HKT 2020


Now i use 3.2.0.13 from api.openvehicles.com/firmware/ota EAP, updated via
OTA, but if enable pushover notifications, get some crash.

*Pushover Enabled* get the following crash
2020-06-11 07:15:48 0 3.2.013/ota_1/eap (build idf v3.3-beta3-775-gdc1ca69
May 31 2020 17:27:06) 1331055928 Crash 12 12 1 0 abort() 1
0x4008b72f 0x4008b9c9 0x4010b023 0x4009847e 0x40098743 0x400988f5
0x400982da 0x40084351 0x400847dd 0x4000bec7 0x401c0e6d 0x401c6d9a
0x400f2d99 0x400f39d3 0x400f39cc 0x4015613d 0x4015513a 0x400f2605
0x400f2812 0x400f2889 0x400f2899  4 Exception/panic
2020-06-11 07:15:50 0 3.2.013/ota_1/eap (build idf v3.3-beta3-775-gdc1ca69
May 31 2020 17:27:06) 1331055928 Crash 12 12 1 0 abort() 1
0x4008b72f 0x4008b9c9 0x4010b023 0x4009847e 0x40098743 0x400988f5
0x400982da 0x40084351 0x400847dd 0x4000bec7 0x401c0e6d 0x401c6d9a
0x400f2d99 0x400f39d3 0x400f39cc 0x4015613d 0x4015513a 0x400f2605
0x400f2812 0x400f2889 0x400f2899  4 Exception/panic
2020-06-11 07:15:52 0 3.2.013/ota_1/eap (build idf v3.3-beta3-775-gdc1ca69
May 31 2020 17:27:06) 1331055928 Crash 12 12 1 0 abort() 1
0x4008b72f 0x4008b9c9 0x4010b023 0x4009847e 0x40098743 0x400988f5
0x400982da 0x40084351 0x400847dd 0x4000bec7 0x401c0e6d 0x401c6d9a
0x400f2d99 0x400f39d3 0x400f39cc 0x4015613d 0x4015513a 0x400f2605
0x400f2812 0x400f2889 0x400f2899  4 Exception/panic
2020-06-11 08:17:25 0 3.2.013/ota_1/eap (build idf v3.3-beta3-775-gdc1ca69
May 31 2020 17:27:06) 1331055929 Crash 12 12 2 0 abort() 1
0x4008b72f 0x4008b9c9 0x4010b023 0x400982d3 0x40084351 0x400847dd
0x4000bec7 0x401c0e6d 0x400f2da1 0x400f39d3 0x400f39cc 0x400f39cc
0x400f39cc 0x400f39cc 0x400f39cc 0x4015613d 0x4015513a 0x400f2605
0x400f2812 0x400f2889 0x400f2899  4 Exception/panic
2020-06-11 08:17:29 0 3.2.013/ota_1/eap (build idf v3.3-beta3-775-gdc1ca69
May 31 2020 17:27:06) 1331055929 Crash 12 12 2 0 abort() 1
0x4008b72f 0x4008b9c9 0x4010b023 0x400982d3 0x40084351 0x400847dd
0x4000bec7 0x401c0e6d 0x400f2da1 0x400f39d3 0x400f39cc 0x400f39cc
0x400f39cc 0x400f39cc 0x400f39cc 0x4015613d 0x4015513a 0x400f2605
0x400f2812 0x400f2889 0x400f2899  4 Exception/panic
2020-06-11 11:11:37 0 3.2.013/ota_1/eap (build idf v3.3-beta3-775-gdc1ca69
May 31 2020 17:27:06) 1331055930 Crash 12 12 3 0 abort() 1
0x4008b72f 0x4008b9c9 0x4010b023 0x400982d3 0x40084351 0x400847dd
0x4000bec7 0x401c0e6d 0x401c6d9a 0x400f2d99 0x400f39d3 0x400f39cc
0x4015613d 0x4015513a 0x400f2605 0x400f2812 0x400f2889 0x400f2899  4
Exception/panic
2020-06-11 17:16:13 0 3.2.013/ota_1/eap (build idf v3.3-beta3-775-gdc1ca69
May 31 2020 17:27:06) 1331055931 Crash 12 12 4 0 abort() 1
0x4008b72f 0x4008b9c9 0x4010b023 0x400982d3 0x40084351 0x400847dd
0x4000bec7 0x401c0e6d 0x400f2da1 0x400f39d3 0x400f39cc 0x400f39cc
0x400f39cc 0x400f39cc 0x400f39cc 0x4015613d 0x4015513a 0x400f2605
0x400f2812 0x400f2889 0x400f2899  4 Exception/panic

*Pushover disabled:*




2020-06-13 13:19:33 0 3.2.013/ota_1/eap (build idf v3.3-beta3-775-gdc1ca69
May 31 2020 17:27:06) 1331055932 Crash 12 12 5 0 abort() 0
0x4008b72f 0x4008b9c9 0x400e6abc 0x4008404a  6 Task watchdog
2020-06-13 15:08:28 0 3.2.013/ota_1/eap (build idf v3.3-beta3-775-gdc1ca69
May 31 2020 17:27:06) 1331055933 Crash 12 12 6 0 abort() 0
0x4008b72f 0x4008b9c9 0x400e6abc 0x4008404a  6 Task watchdog
2020-06-13 18:22:30 0 3.2.013/ota_1/eap (build idf v3.3-beta3-775-gdc1ca69
May 31 2020 17:27:06) 1331055934 Crash 12 12 7 0 abort() 0
0x4008b72f 0x4008b9c9 0x400e6abc 0x4008404a  6 Task watchdog
2020-06-13 19:26:15 0 3.2.013/ota_1/eap (build idf v3.3-beta3-775-gdc1ca69
May 31 2020 17:27:06) 1331055935 Crash 12 12 8 0 abort() 0
0x4008b72f 0x4008b9c9 0x400e6abc 0x4008404a  6 Task watchdog


Michael Balzer <dexter at expeedo.de> ezt írta (időpont: 2020. jún. 8., H,
20:39):

> I cannot tell if you did the correct setup for the spiram fix.
>
> You need
> - the new toolchain
> - the new libs
> - the spiram esp-idf branch
> - the spiram ovms branch
>
> If you've got all of this, then the crash isn't related to the SPIRAM bug.
>
> Regards,
> Michael
>
>
> Am 07.06.20 um 07:50 schrieb Tamás Kovács:
>
> I downloaded this toolchain and use it: build idf
> v3.3-beta3-776-g3d198cd50
> I checkout esp-idf to spiram-fix-test branch.
>
> I use a forked repo.
> I run the following to update to spiram-fix-test, on my local repo.
> git fetch upstream
> git pull upstream/spiram-fix-test master
>
> But i now get crash the last is:
> Last crash: abort() was called on core 1 Backtrace: 0x4008ace7 0x4008af7d
> 0x4010badf 0x40097d93 0x40083ffd 0x400845f1 0x4000bec7 0x4012c729
> 0x402a1815 0x401eb40d 0x401f7a26 0x401f8af0 0x40207065 0x40206f45
> 0x40207133 0x40206faf 0x402073b6 0x4020747d 0x401f4445 0x401f3344
> 0x401f3677 0x401f441e 0x402079d1 0x401f76e5 0x401f7892 0x40202ea6
> 0x4012db9a 0x4012dd9d
>
> kommykt at MacBook-Air OVMS.V3 % a2l 0x4008ace7 0x4008af7d 0x4010badf
> 0x40097d93 0x40083ffd 0x400845f1 0x4000bec7 0x4012c729 0x402a1815
> 0x401eb40d 0x401f7a26 0x401f8af0 0x40207065 0x40206f45 0x40207133
> 0x40206faf 0x402073b6 0x4020747d 0x401f4445 0x401f3344 0x401f3677
> 0x401f441e 0x402079d1 0x401f76e5 0x401f7892 0x40202ea6 0x4012db9a 0x4012dd9d
>
> Using elf file:
> /Users/kommykt/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/build/ovms3.elf
>
> 0x4008ace7 is in invoke_abort
> (/Users/kommykt/esp/esp-idf/components/esp32/panic.c:156).
>
> 151 #endif
>
> 152     while (1) {
>
> 153         if (esp_cpu_in_ocd_debug_mode()) {
>
> 154             __asm__ ("break 0,0");
>
> 155         }
>
> 156         *((int *) 0) = 0;
>
> 157     }
>
> 158 }
>
> 159
>
> 160 void abort()
>
> 0x4008af7d is in abort
> (/Users/kommykt/esp/esp-idf/components/esp32/panic.c:171).
>
> 166     * don't overwrite that.
>
> 167     */
>
> 168     if (esp_reset_reason_get_hint() == ESP_RST_UNKNOWN) {
>
> 169         esp_reset_reason_set_hint(ESP_RST_PANIC);
>
> 170     }
>
> 171     invoke_abort();
>
> 172 }
>
> 173
>
> 174
>
> 175 static const char *edesc[] = {
>
> 0x4010badf is in __assert_func
> (../../../.././newlib/libc/stdlib/assert.c:63).
>
> 0x40097d93 is in multi_heap_free
> (/Users/kommykt/esp/esp-idf/components/heap/multi_heap_poisoning.c:214).
>
> 209         return;
>
> 210     }
>
> 211     multi_heap_internal_lock(heap);
>
> 212
>
> 213     poison_head_t *head = verify_allocated_region(p, true);
>
> 214     assert(head != NULL);
>
> 215
>
> 216     #ifdef SLOW
>
> 217     /* replace everything with FREE_FILL_PATTERN, including the
> poison head/tail */
>
> 218     memset(head, FREE_FILL_PATTERN,
>
> 0x40083ffd is in heap_caps_free
> (/Users/kommykt/esp/esp-idf/components/heap/heap_caps.c:268).
>
> 263         ptr = (void *)dramAddrPtr[-1];
>
> 264     }
>
> 265
>
> 266     heap_t *heap = find_containing_heap(ptr);
>
> 267     assert(heap != NULL && "free() target pointer is outside heap
> areas");
>
> 268     multi_heap_free(heap->heap, ptr);
>
> 269 }
>
> 270
>
> 271 IRAM_ATTR void *heap_caps_realloc( void *ptr, size_t size, int caps)
>
> 272 {
>
> 0x400845f1 is in _free_r
> (/Users/kommykt/esp/esp-idf/components/newlib/syscalls.c:42).
>
> 37     return heap_caps_malloc_default( size );
>
> 38 }
>
> 39
>
> 40 void IRAM_ATTR _free_r(struct _reent *r, void* ptr)
>
> 41 {
>
> 42     heap_caps_free( ptr );
>
> 43 }
>
> 44
>
> 45 void* IRAM_ATTR _realloc_r(struct _reent *r, void* ptr, size_t size)
>
> 46 {
>
> 0x4012c729 is in DukOvmsFree(void*, void*)
> (/Users/kommykt/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/ovms_script/src/ovms_script.cpp:442).
>
> 437   return ExternalRamRealloc(ptr, size);
>
> 438   }
>
> 439
>
> 440 void DukOvmsFree(void *udata, void *ptr)
>
> 441   {
>
> 442   free(ptr);
>
> 443   }
>
> 444
>
> 445 void DukOvmsFatalHandler(void *udata, const char *msg)
>
> 446   {
>
> 0x402a1815 is in duk_heap_mem_free (duk_heap_memory.c:406).
>
> 0x401eb40d is in duk__refcount_refzero_hstring (duk_heap_alloc.c:103).
>
> 0x401f7a26 is in duk_heaphdr_refzero (duk_heap_refcount.c:630).
>
> 0x401f8af0 is in duk_pop_2 (duk_api_stack.c:6089).
>
> 0x40207065 is in duk__enc_value (duk_bi_json.c:2240).
>
> 0x40206f45 is in duk__enc_value (duk_bi_json.c:1951).
>
> 1946 in duk_bi_json.c
>
> 0x40207133 is in duk__enc_object (duk_bi_json.c:1885).
>
> 1880 in duk_bi_json.c
>
> 0x40206faf is in duk__enc_value (duk_bi_json.c:2203).
>
> 2198 in duk_bi_json.c
>
> 0x402073b6 is in duk_bi_json_stringify_helper (duk_bi_json.c:3191).
>
> 3186 in duk_bi_json.c
>
> 0x4020747d is in duk_bi_duktape_object_enc (duk_bi_duktape.c:96).
>
> 0x401f4445 is in duk__handle_call_raw (duk_js_call.c:2276).
>
> 0x401f3344 is in duk__js_execute_bytecode_inner (duk_js_call.c:2422).
>
> 2417 in duk_js_call.c
>
> 0x401f3677 is in duk_js_execute_bytecode (duk_js_executor.c:2956).
>
> 0x401f441e is in duk__handle_call_raw (duk_js_call.c:2246).
>
> 0x402079d1 is in duk__pcall_method_raw (duk_js_call.c:2422).
>
> 2417 in duk_js_call.c
>
> 0x401f76e5 is in duk_handle_safe_call (duk_js_call.c:2475).
>
> 2470 in duk_js_call.c
>
> 0x401f7892 is in duk_safe_call (duk_api_call.c:318).
>
> 0x40202ea6 is in duk_pcall_method (duk_api_call.c:242).
>
> 237 in duk_api_call.c
>
> 0x4012db9a is in OvmsScripts::DukTapeTask()
> (/Users/kommykt/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/ovms_script/src/ovms_script.cpp:2273).
>
> 2268             duk_get_global_string(m_dukctx, "PubSub");
>
> 2269             duk_get_prop_string(m_dukctx, -1, "publish");
>
> 2270             duk_dup(m_dukctx, -2);  /* this binding = process */
>
> 2271             duk_push_string(m_dukctx, msg.body.dt_event.name);
>
> 2272             duk_push_string(m_dukctx, "");
>
> 2273             if (duk_pcall_method(m_dukctx, 2) != 0)
>
> 2274               {
>
> 2275               DukOvmsErrorHandler(m_dukctx, -1);
>
> 2276               }
>
> 2277             duk_pop_2(m_dukctx);
>
> 0x4012dd9d is in DukTapeLaunchTask(void*)
> (/Users/kommykt/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/ovms_script/src/ovms_script.cpp:427).
>
> 422
>
> 423 void DukTapeLaunchTask(void *pvParameters)
>
> 424   {
>
> 425   OvmsScripts* me = (OvmsScripts*)pvParameters;
>
> 426
>
> 427   me->DukTapeTask();
>
> 428   }
>
> 429
>
> 430 void* DukOvmsAlloc(void *udata, duk_size_t size)
>
> 431   {
>
>
> Michael Balzer <dexter at expeedo.de> ezt írta (időpont: 2020. jún. 5., P,
> 21:43):
>
>> See previous posts on this, you also need the fixed toolchain:
>> https://github.com/espressif/esp-idf/issues/2892#issuecomment-501106283
>>
>> Regards,
>> Michael
>>
>>
>> Am 05.06.20 um 20:04 schrieb Tamás Kovács:
>>
>> i think i don't run spiram fix. How can i use it. I must check out
>> branch "spiram-fix-test"  to run spiram fix?
>>
>> Michael Balzer <dexter at expeedo.de> ezt írta (időpont: 2020. jún. 5., P,
>> 6:58):
>>
>>> Tamás,
>>>
>>> that doesn't need to be related to the pushover code. Do you run the
>>> spiram fix? I had this kind of heap corruption crashes frequently on builds
>>> without the spiram fix but not once with the fix.
>>>
>>> Regards,
>>> Michael
>>>
>>>
>>> Am 05.06.20 um 05:29 schrieb Tamás Kovács:
>>>
>>> Some day's ago i enabled Pushover notifications and i get some crash
>>> after that.
>>>
>>> The crash backtrase is:
>>> Backtrace: 0x4008b75f 0x4008b9f9 0x4010b253 0x40098c5f 0x40084361
>>> 0x40084945 0x4000bec7 0x401c1181 0x400f01e1 0x400f0dbb 0x400f0db4
>>> 0x400f0db4 0x400f0db4 0x400f0db4 0x40156109 0x401550da 0x400f3545
>>> 0x400f375e 0x400f37d5 0x400f37e5
>>> a2l output is:
>>>
>>> kommykt at MacBook-Air OVMS.V3 % a2l 0x4008b75f 0x4008b9f9 0x4010b253
>>> 0x40098c5f 0x40084361 0x40084945 0x4000bec7 0x401c1181 0x400f01e1
>>> 0x400f0dbb 0x400f0db4 0x400f0db4 0x400f0db4 0x400f0db4 0x40156109
>>> 0x401550da 0x400f3545 0x400f375e 0x400f37d5 0x400f37e5
>>>
>>> Using elf file:
>>> /Users/kommykt/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/build/ovms3.elf
>>>
>>>
>>> 0x4008b75f is in invoke_abort
>>> (/Users/kommykt/esp/esp-idf/components/esp32/panic.c:156).
>>>
>>> 151 #endif
>>>
>>> 152     while (1) {
>>>
>>> 153         if (esp_cpu_in_ocd_debug_mode()) {
>>>
>>> 154             __asm__ ("break 0,0");
>>>
>>> 155         }
>>>
>>> 156         *((int *) 0) = 0;
>>>
>>> 157     }
>>>
>>> 158 }
>>>
>>> 159
>>>
>>> 160 void abort()
>>>
>>>
>>> 0x4008b9f9 is in abort
>>> (/Users/kommykt/esp/esp-idf/components/esp32/panic.c:171).
>>>
>>> 166     * don't overwrite that.
>>>
>>> 167     */
>>>
>>> 168     if (esp_reset_reason_get_hint() == ESP_RST_UNKNOWN) {
>>>
>>> 169         esp_reset_reason_set_hint(ESP_RST_PANIC);
>>>
>>> 170     }
>>>
>>> 171     invoke_abort();
>>>
>>> 172 }
>>>
>>> 173
>>>
>>> 174
>>>
>>> 175 static const char *edesc[] = {
>>>
>>>
>>> 0x4010b253 is in __assert_func
>>> (../../../.././newlib/libc/stdlib/assert.c:63).
>>>
>>>
>>> 0x40098c5f is in multi_heap_free
>>> (/Users/kommykt/esp/esp-idf/components/heap/multi_heap_poisoning.c:214).
>>>
>>> 209         return;
>>>
>>> 210     }
>>>
>>> 211     multi_heap_internal_lock(heap);
>>>
>>> 212
>>>
>>> 213     poison_head_t *head = verify_allocated_region(p, true);
>>>
>>> 214     assert(head != NULL);
>>>
>>> 215
>>>
>>> 216     #ifdef SLOW
>>>
>>> 217     /* replace everything with FREE_FILL_PATTERN, including the
>>> poison head/tail */
>>>
>>> 218     memset(head, FREE_FILL_PATTERN,
>>>
>>>
>>> 0x40084361 is in heap_caps_free
>>> (/Users/kommykt/esp/esp-idf/components/heap/heap_caps.c:268).
>>>
>>> 263         ptr = (void *)dramAddrPtr[-1];
>>>
>>> 264     }
>>>
>>> 265
>>>
>>> 266     heap_t *heap = find_containing_heap(ptr);
>>>
>>> 267     assert(heap != NULL && "free() target pointer is outside heap
>>> areas");
>>>
>>> 268     multi_heap_free(heap->heap, ptr);
>>>
>>> 269 }
>>>
>>> 270
>>>
>>> 271 IRAM_ATTR void *heap_caps_realloc( void *ptr, size_t size, int caps)
>>>
>>> 272 {
>>>
>>>
>>> 0x40084945 is in _free_r
>>> (/Users/kommykt/esp/esp-idf/components/newlib/syscalls.c:42).
>>>
>>> 37     return heap_caps_malloc_default( size );
>>>
>>> 38 }
>>>
>>> 39
>>>
>>> 40 void IRAM_ATTR _free_r(struct _reent *r, void* ptr)
>>>
>>> 41 {
>>>
>>> 42     heap_caps_free( ptr );
>>>
>>> 43 }
>>>
>>> 44
>>>
>>> 45 void* IRAM_ATTR _realloc_r(struct _reent *r, void* ptr, size_t size)
>>>
>>> 46 {
>>>
>>>
>>> 0x401c1181 is in operator delete(void*)
>>> (/Volumes/build/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/del_op.cc:46).
>>>
>>>
>>> 0x400f01e1 is in std::_Rb_tree<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >,
>>> std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > const, std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >,
>>> std::_Select1st<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >,
>>> std::allocator<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >
>>> >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >*)
>>> (/Users/kommykt/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/ext/new_allocator.h:110).
>>>
>>> 105       }
>>>
>>> 106
>>>
>>> 107       // __p is not permitted to be a null pointer.
>>>
>>> 108       void
>>>
>>> 109       deallocate(pointer __p, size_type)
>>>
>>> 110       { ::operator delete(__p); }
>>>
>>> 111
>>>
>>> 112       size_type
>>>
>>> 113       max_size() const _GLIBCXX_USE_NOEXCEPT
>>>
>>> 114       { return size_t(-1) / sizeof(_Tp); }
>>>
>>>
>>> 0x400f0dbb is in std::_Rb_tree<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >,
>>> std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > const, std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >,
>>> std::_Select1st<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >,
>>> std::allocator<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >
>>> >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >*)
>>> (/Users/kommykt/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_tree.h:1614).
>>>
>>> 1609       // Erase without rebalancing.
>>>
>>> 1610       while (__x != 0)
>>>
>>> 1611 {
>>>
>>> 1612   _M_erase(_S_right(__x));
>>>
>>> 1613   _Link_type __y = _S_left(__x);
>>>
>>> 1614   _M_drop_node(__x);
>>>
>>> 1615   __x = __y;
>>>
>>> 1616 }
>>>
>>> 1617     }
>>>
>>> 1618
>>>
>>> 0x400f0db4 is in std::_Rb_tree<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >,
>>> std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > const, std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >,
>>> std::_Select1st<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >,
>>> std::allocator<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >
>>> >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >*)
>>> (/Users/kommykt/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_tree.h:1612).
>>>
>>> 1607     _M_erase(_Link_type __x)
>>>
>>> 1608     {
>>>
>>> 1609       // Erase without rebalancing.
>>>
>>> 1610       while (__x != 0)
>>>
>>> 1611 {
>>>
>>> 1612   _M_erase(_S_right(__x));
>>>
>>> 1613   _Link_type __y = _S_left(__x);
>>>
>>> 1614   _M_drop_node(__x);
>>>
>>> 1615   __x = __y;
>>>
>>> 1616 }
>>>
>>>
>>> 0x400f0db4 is in std::_Rb_tree<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >,
>>> std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > const, std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >,
>>> std::_Select1st<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >,
>>> std::allocator<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >
>>> >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >*)
>>> (/Users/kommykt/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_tree.h:1612).
>>>
>>> 1607     _M_erase(_Link_type __x)
>>>
>>> 1608     {
>>>
>>> 1609       // Erase without rebalancing.
>>>
>>> 1610       while (__x != 0)
>>>
>>> 1611 {
>>>
>>> 1612   _M_erase(_S_right(__x));
>>>
>>> 1613   _Link_type __y = _S_left(__x);
>>>
>>> 1614   _M_drop_node(__x);
>>>
>>> 1615   __x = __y;
>>>
>>> 1616 }
>>>
>>>
>>> 0x400f0db4 is in std::_Rb_tree<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >,
>>> std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > const, std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >,
>>> std::_Select1st<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >,
>>> std::allocator<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >
>>> >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >*)
>>> (/Users/kommykt/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_tree.h:1612).
>>>
>>> 1607     _M_erase(_Link_type __x)
>>>
>>> 1608     {
>>>
>>> 1609       // Erase without rebalancing.
>>>
>>> 1610       while (__x != 0)
>>>
>>> 1611 {
>>>
>>> 1612   _M_erase(_S_right(__x));
>>>
>>> 1613   _Link_type __y = _S_left(__x);
>>>
>>> 1614   _M_drop_node(__x);
>>>
>>> 1615   __x = __y;
>>>
>>> 1616 }
>>>
>>>
>>> 0x400f0db4 is in std::_Rb_tree<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >,
>>> std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > const, std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >,
>>> std::_Select1st<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >,
>>> std::allocator<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >
>>> >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > const,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > > >*)
>>> (/Users/kommykt/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_tree.h:1612).
>>>
>>> 1607     _M_erase(_Link_type __x)
>>>
>>> 1608     {
>>>
>>> 1609       // Erase without rebalancing.
>>>
>>> 1610       while (__x != 0)
>>>
>>> 1611 {
>>>
>>> 1612   _M_erase(_S_right(__x));
>>>
>>> 1613   _Link_type __y = _S_left(__x);
>>>
>>> 1614   _M_drop_node(__x);
>>>
>>> 1615   __x = __y;
>>>
>>> 1616 }
>>>
>>>
>>> 0x40156109 is in
>>> Pushover::EventListener(std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >, void*)
>>> (/Users/kommykt/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_tree.h:858).
>>>
>>> 853
>>>
>>> 854       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a);
>>>
>>> 855 #endif
>>>
>>> 856
>>>
>>> 857       ~_Rb_tree() _GLIBCXX_NOEXCEPT
>>>
>>> 858       { _M_erase(_M_begin()); }
>>>
>>> 859
>>>
>>> 860       _Rb_tree&
>>>
>>> 861       operator=(const _Rb_tree& __x);
>>>
>>> 862
>>>
>>> 0x401550da is in std::_Function_handler<void
>>> (std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> >, void*), std::_Bind<std::_Mem_fn<void
>>> (Pushover::*)(std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> >, void*)> (Pushover*, 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*&&)
>>> (/Users/kommykt/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:600).
>>>
>>> 595       template<typename... _Args, typename _Req
>>>
>>> 596               = _Require<typename _Traits::__lvalue,
>>>
>>> 597                           _CheckArgs<_Pack<_Args...>>>>
>>>
>>> 598 result_type
>>>
>>> 599 operator()(_Class* __object, _Args&&... __args) const
>>>
>>> 600 { return (__object->*_M_pmf)(std::forward<_Args>(__args)...); }
>>>
>>> 601
>>>
>>> 602       // Handle smart pointers, references and pointers to derived
>>>
>>> 603       template<typename _Tp, typename... _Args, typename _Req
>>>
>>> 604               = _Require<_NotSame<_Class, _Tp>, _NotSame<_Class*,
>>> _Tp>,
>>>
>>>
>>> 0x400f3545 is in 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
>>> (/Users/kommykt/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/functional:2271).
>>>
>>> 2266     function<_Res(_ArgTypes...)>::
>>>
>>> 2267     operator()(_ArgTypes... __args) const
>>>
>>> 2268     {
>>>
>>> 2269       if (_M_empty())
>>>
>>> 2270 __throw_bad_function_call();
>>>
>>> 2271       return _M_invoker(_M_functor,
>>> std::forward<_ArgTypes>(__args)...);
>>>
>>> 2272     }
>>>
>>> 2273
>>>
>>> 2274 #if __cpp_rtti
>>>
>>> 2275   template<typename _Res, typename... _ArgTypes>
>>>
>>>
>>> 0x400f375e is in OvmsEvents::HandleQueueSignalEvent(event_queue_t*)
>>> (/Users/kommykt/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_events.cpp:234).
>>>
>>> 229       {
>>>
>>> 230       for (EventCallbackList::iterator itc=el->begin();
>>> itc!=el->end(); ++itc)
>>>
>>> 231         {
>>>
>>> 232         m_current_started = monotonictime;
>>>
>>> 233         m_current_callback = *itc;
>>>
>>> 234         m_current_callback->m_callback(m_current_event,
>>> msg->body.signal.data);
>>>
>>> 235         m_current_callback = NULL;
>>>
>>> 236         }
>>>
>>> 237       }
>>>
>>> 238     }
>>>
>>>
>>> 0x400f37d5 is in OvmsEvents::EventTask()
>>> (/Users/kommykt/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_events.cpp:185).
>>>
>>> 180       switch(msg.type)
>>>
>>> 181         {
>>>
>>> 182         case EVENT_none:
>>>
>>> 183           break;
>>>
>>> 184         case EVENT_signal:
>>>
>>> 185           HandleQueueSignalEvent(&msg);
>>>
>>> 186           break;
>>>
>>> 187         default:
>>>
>>> 188           break;
>>>
>>> 189         }
>>>
>>>
>>> 0x400f37e5 is in EventLaunchTask(void*)
>>> (/Users/kommykt/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_events.cpp:56).
>>>
>>> 51
>>>
>>> 52 void EventLaunchTask(void *pvParameters)
>>>
>>> 53   {
>>>
>>> 54   OvmsEvents* me = (OvmsEvents*)pvParameters;
>>>
>>> 55
>>>
>>> 56   me->EventTask();
>>>
>>> 57   }
>>>
>>> 58
>>>
>>> 59 void event_trace(int verbosity, OvmsWriter* writer, OvmsCommand*
>>> cmd, int argc, const char* const* argv)
>>>
>>> 60   {
>>>
>>> --
>>> Üdvözlettel:
>>> Kovács Tamás
>>>
>>>
>>> _______________________________________________
>>> OvmsDev mailing listOvmsDev at lists.openvehicles.comhttp://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>
>>>
>>> --
>>> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
>>> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
>>>
>>> _______________________________________________
>>> OvmsDev mailing list
>>> OvmsDev at lists.openvehicles.com
>>> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>
>>
>>
>> --
>> Üdvözlettel:
>> Kovács Tamás
>>
>>
>> _______________________________________________
>> OvmsDev mailing listOvmsDev at lists.openvehicles.comhttp://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>
>>
>> --
>> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
>> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
>>
>> _______________________________________________
>> OvmsDev mailing list
>> OvmsDev at lists.openvehicles.com
>> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>
>
>
> --
> Üdvözlettel:
> Kovács Tamás
>
>
> _______________________________________________
> OvmsDev mailing listOvmsDev at lists.openvehicles.comhttp://lists.openvehicles.com/mailman/listinfo/ovmsdev
>
>
> --
> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
>
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>


-- 
Üdvözlettel:
Kovács Tamás
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20200614/db16dd53/attachment.htm>


More information about the OvmsDev mailing list