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@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