[Ovmsdev] Crash

Tamás Kovács kommykt at gmail.com
Thu Jan 2 15:03:28 HKT 2020


Hi,

I have a problem, some time my OVMS crash with the fw
version 3.2.008-33-g0b7d4a9c-dirty.
I use the Mitsubishi(trio) vehicle (Peugeot iOn)

The crash log from (dexters-web.de) attached, and a2l result is attached.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20200102/b9e5a62e/attachment.html>
-------------- next part --------------
kommykt at Kovacss-Air ~ % a2l  0x4008b013 0x4008b2a9 0x4010daab 0x4009792b 0x400840b9 0x40084721 0x4000bec7 0x401c0ee9 0x401c80c2 0x400f1cc1 0x400f28cb 0x40157035 0x40155ee2 0x400f50a9 0x400f52a1 0x400f5309 0x400f5319
Using elf file: /Users/kommykt/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/build/ovms3.elf
0x4008b013 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()
0x4008b2a9 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[] = {
0x4010daab is in __assert_func (../../../.././newlib/libc/stdlib/assert.c:63).
0x4009792b 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,
0x400840b9 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	{
0x40084721 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	{
0x401c0ee9 is in operator delete(void*) (/builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/del_op.cc:46).
0x401c80c2 is in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose() (/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/build/build-cc-gcc-final/xtensa-esp32-elf/libstdc++-v3/include/ext/new_allocator.h:110).
0x400f1cc1 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/bits/basic_string.h:544).
539
540	      /**
541	       *  @brief  Destroy the string instance.
542	       */
543	      ~basic_string()
544	      { _M_dispose(); }
545
546	      /**
547	       *  @brief  Assign the value of @a str to this string.
548	       *  @param  __str  Source string.
0x400f28cb 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
0x40157035 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
0x40155ee2 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>,
0x400f50a9 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>
0x400f52a1 is in OvmsEvents::HandleQueueSignalEvent(event_queue_t*) (/Users/kommykt/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_events.cpp:211).
206	    if (el)
207	      {
208	      for (EventCallbackList::iterator itc=el->begin(); itc!=el->end(); ++itc)
209	        {
210	        EventCallbackEntry* ec = *itc;
211	        ec->m_callback(event, msg->body.signal.data);
212	        }
213	      }
214	    }
215
0x400f5309 is in OvmsEvents::EventTask() (/Users/kommykt/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_events.cpp:165).
160	      switch(msg.type)
161	        {
162	        case EVENT_none:
163	          break;
164	        case EVENT_signal:
165	          HandleQueueSignalEvent(&msg);
166	          break;
167	        default:
168	          break;
169	        }
0x400f5319 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	  {
kommykt at Kovacss-Air ~ %
-------------- next part --------------
A non-text attachment was scrubbed...
Name: NNB635-ovm-debugcrash.csv
Type: text/csv
Size: 4496 bytes
Desc: not available
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20200102/b9e5a62e/attachment.csv>


More information about the OvmsDev mailing list