janLo / EspArduinoExceptionDecoder

Python Script to decode ESP8266 Exceptions.
GNU General Public License v3.0
59 stars 25 forks source link

Cannot decode Guru Meditation Error #4

Open echoGee opened 6 years ago

echoGee commented 6 years ago

Running python .\decoder.py -p ESP32 -t "\~/.platformio/packages/toolchain-xtensa32" -e "\~\firmware.elf" -f .\st1.txt --stack

Contents of st1.txt is

Guru Meditation Error: Core  1 panic'ed (Cache disabled but cached memory region accessed)
Register dump:
PC      : 0x400d1728  PS      : 0x00060034  A0      : 0x40081624  A1      : 0x3ffc0be0

A2      : 0x00000004  A3      : 0x3ffc3504  A4      : 0x00000010  A5      : 0x400d1728
A6      : 0x00000000  A7      : 0x1200005c  A8      : 0x80080e6c  A9      : 0x3ffcb5f0
A10     : 0x00000000  A11     : 0x3ffcb3a0  A12     : 0x00060023  A13     : 0x3ffc0bc0
A14     : 0x3ffc0c08  A15     : 0x00000001  SAR     : 0x00000018  EXCCAUSE: 0x00000007
EXCVADDR: 0x00000000  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000

Backtrace: 0x400d1728:0x3ffc0be0 0x40081621:0x3ffc0c00 0x400823f2:0x00000000

The output from decode:

ERROR: Parser not complete!
janLo commented 6 years ago

It seems that is not the exception format the tool is built for. I don't have an ESP32 prepared to reproduce it and fix the format.

Which version of the toolchain do you use?

echoGee commented 6 years ago

I am using 0.12.0 version of Espressif 32 (https://github.com/platformio/platform-espressif32/releases). I assumed this repository was a port of https://github.com/me-no-dev/EspExceptionDecoder ?

@janLo : Is there any other information I could give to help you fix the format ?

janLo commented 6 years ago

Its more of an "inspired by" and it was made for the 8266. It seems that the ESP32 exception format is completely different. I can integrate support for this format but it might take a while as I'm currently busy with moving houses.

echoGee commented 6 years ago

😄 . It will definitely help to have support for ESP32 when you get a chance.

brandond commented 6 years ago

I've got an ESP32 and was hoping to use this as well. Here's another stack trace if it helps with the format any:

Guru Meditation Error: Core  1 panic'ed (LoadProhibited)
. Exception was unhandled.
Core 1 register dump:
PC      : 0x4014c0d6  PS      : 0x00060130  A0      : 0x800d2e7e  A1      : 0x3ffd2450
A2      : 0x3ffcdf64  A3      : 0x00000000  A4      : 0x00000050  A5      : 0x3ffd2430
A6      : 0x08fffffd  A7      : 0x00000000  A8      : 0x8014c772  A9      : 0x3ffd2430
A10     : 0xa5a5a5a5  A11     : 0x00000000  A12     : 0x00000005  A13     : 0x00000020
A14     : 0x00000020  A15     : 0x3ffcdf04  SAR     : 0x0000001b  EXCCAUSE: 0x0000001c
EXCVADDR: 0xa5a5a5a5  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0xffffffff
Backtrace: 0x4014c0d6:0x3ffd2450 0x400d2e7b:0x3ffd2470 0x4014c0da:0x3ffd2490 0x400d2e8b:0x3ffd24b0 0x400d5041:0x3ff
d24d0 0x400d5131:0x3ffd24f0 0x400d2fb5:0x3ffd2510 0x400d2482:0x3ffd2530 0x400fc3a6:0x3ffd2550
me21 commented 6 years ago

Here's some info on decoding Guru Meditation Error by hand: https://www.esp32.com/viewtopic.php?t=263 Here's how it's done in ESP-IDF: http://esp-idf.readthedocs.io/en/latest/get-started/idf-monitor.html

me21 commented 6 years ago

I've made a PR adding partial ESP32 support. Please test. It currently decodes backtrace only.