-->
Page 1 of 1

Why did it crash? Making sense of the ESP exception decoder

PostPosted: Thu Dec 15, 2016 12:20 pm
by mph070770
Hi all,
I have a random crash in my code and wanted to use the EspExceptionDecoder to help - but I'm not understanding what it's showing me. Can anyone cast any light on it please?

Thanks

crash report:
Code: Select all0x40106eb0: i2s_slc_isr at C:\Users\xxx\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_i2s.c line 103
0x401015d3: ppProcessTxQ at ?? line ?
0x40106e88: i2s_slc_isr at C:\Users\xxx\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_i2s.c line 96
0x40210a81: ieee80211_parse_beacon at ?? line ?
0x40106e88: i2s_slc_isr at C:\Users\xxx\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_i2s.c line 96
0x401058a4: ets_timer_arm_new at ?? line ?
0x40105761: ets_timer_disarm at ?? line ?
0x40106e88: i2s_slc_isr at C:\Users\xxx\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_i2s.c line 96
0x4020cc08: pm_get_sleep_type at ?? line ?
0x40105cc6: spi_flash_read at ?? line ?
0x401075a8: pvPortZalloc at C:\Users\xxx\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/heap.c line 33
0x4020c6d9: pm_set_sleep_time at ?? line ?
0x4020cb6e: pm_get_sleep_type at ?? line ?
0x40232870: tcpip_tcp_timer at /Users/igrokhotkov/espressif/arduino/tools/sdk/lwip/src/core/timers.c line 81
0x4020cc1b: pm_get_sleep_type at ?? line ?
0x4021e2cd: ets_timer_handler_isr at ?? line ?
0x4021e312: ets_timer_handler_isr at ?? line ?


and the actual stack crash dump:
Code: Select allException (0):
epc1=0x4020809c epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

ctx: sys
sp: 3ffffc50 end: 3fffffb0 offset: 01a0

>>>stack>>>
3ffffdf0:  40106eb0 401015d3 00000000 3ffeef40
3ffffe00:  3fffc200 40106e88 3fffc270 4000050c
3ffffe10:  4000437d 00000030 00000016 ffffffff
3ffffe20:  60000200 00000008 ffffffff 80000000
3ffffe30:  20000000 3fff4a08 80000000 203fc1e0
3ffffe40:  80000000 3fffc6fc 3ffeffc8 3fff4a0c
3ffffe50:  00000114 003fc1e0 60000600 00000030
3ffffe60:  7fffffff 3ffeb694 3ffeb694 00000001
3ffffe70:  40210a81 40106e88 3fffc270 4000050c
3ffffe80:  401058a4 00eaedc4 3fff2a14 00000000
3ffffe90:  00000000 00000000 0000001f 40105761
3ffffea0:  4000050c 40106e88 3fffc270 4000050c
3ffffeb0:  40000f68 00000030 0000001b ffffffff
3ffffec0:  40000f58 00000000 00000020 00000000
3ffffed0:  3fff2974 4020cc08 00000000 00000000
3ffffee0:  ffffffff 3ffeac24 3ffeffc8 3fffdab0
3ffffef0:  00000000 3fffdcb0 3fff0000 00000030
3fffff00:  00000000 400042db 0000007d 60000600
3fffff10:  40004b31 3fff482c 000002f4 003fc000
3fffff20:  40105cc6 3ffefff0 3ffef090 401075a8
3fffff30:  4020c6d9 3ffef090 3ffefff0 02965321
3fffff40:  3fff482c 00001000 4020cb6e 00000008
3fffff50:  40232870 00000000 4020cc1b 3ffef144
3fffff60:  3ffefff0 00cec488 3ffefff0 60000600
3fffff70:  4021e2cd 3ffef144 3ffefff0 029627d1
3fffff80:  4021e312 3fffdab0 00000000 3fffdcb0
3fffff90:  3fff0008 00000000 40000f65 3fffdab0
3fffffa0:  40000f49 00017d52 3fffdab0 40000f49
<<<stack<<<

Re: Why did it crash? Making sense of the ESP exception deco

PostPosted: Tue Dec 20, 2016 9:29 am
by mrburnette
The github code is here: https://github.com/me-no-dev/EspExceptionDecoder

Essentially, the utility just un-rolls the stack at the time of fault, then shows you the calling sequence that led up to the crash. The intent is to give you a sequence of events over time, but you must still trace those steps in the original source to determine what is actually happening ... perhaps a function is passed an incorrect typed value or perhaps one that is out-of-range.

Ray