-->
Page 1 of 2

How to read Exception decoder

PostPosted: Fri Aug 12, 2016 6:58 am
by paulfer
Hi All

I have been testing the WifiAccessPoint code I have written. It is essentially the same as the example supplied.

When I i submit a page with some form avriables all works well. However, I have noticed that when i plress refresh on the webpage. It throws an exception.

So I downloaded the exception decoder. this is the result:

Code: Select allDecoding 31 results
0x40203bff: spiffs_page_delete at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_nucleus.c line 941
0x40204f9c: spiffs_object_truncate at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_nucleus.c line 1596
0x40204196: spiffs_object_open_by_page at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_nucleus.c line 941
0x40202411: SPIFFS_open at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\spiffs/spiffs_hydrogen.c line 980
0x4020c0b9: SPIFFSImpl::open(char const*, fs::OpenMode, fs::AccessMode) at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/spiffs_api.cpp line 35
0x4020c554: spiffs_hal_read(unsigned int, unsigned int, unsigned char*) at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/spiffs_hal.cpp line 45
0x4020c618: spiffs_hal_write(unsigned int, unsigned int, unsigned char*) at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/spiffs_hal.cpp line 102
0x4020c75c: spiffs_hal_erase(unsigned int, unsigned int) at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/spiffs_hal.cpp line 168
0x4020ab58: fs::FS::open(char const*, char const*) at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/FS.cpp line 161
0x4020ab85: fs::FS::open(String const&, char const*) at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/FS.cpp line 161
0x40206ada: WriteCreateFile(String, String) at C:\Users\paul\Documents\Arduino\LekkaTrekkaMainESP/sendAT.ino line 3
0x4020b320: String::operator=(String const&) at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/WString.cpp line 519
0x4020b348: String::String(String const&) at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/WString.cpp line 519
0x40206ff8: handleSub() at C:\Users\paul\Documents\Arduino\LekkaTrekkaMainESP/sendAT.ino line 3
0x4010020c: _umm_free at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\umm_malloc/umm_malloc.c line 1287
0x4010068c: free at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\umm_malloc/umm_malloc.c line 1733
0x4020b1e7: String::reserve(unsigned int) at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/WString.cpp line 519
0x40209188: FunctionRequestHandler::handle(ESP8266WebServer&, HTTPMethod, String) at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WebServer\src\detail/RequestHandlersImpl.h line 53
0x4020c83e: std::_Function_handler ::_M_invoke(std::_Any_data const&) at C:\Users\paul\Documents\Arduino\LekkaTrekkaMainESP/sendAT.ino line 3
0x4020917e: std::function ::operator()() const at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WebServer\src\detail/RequestHandlersImpl.h line 53
0x402091ba: FunctionRequestHandler::handle(ESP8266WebServer&, HTTPMethod, String) at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WebServer\src\detail/RequestHandlersImpl.h line 53
0x4020b348: String::String(String const&) at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/WString.cpp line 519
0x4020924d: ESP8266WebServer::_handleRequest() at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WebServer\src\detail/RequestHandlersImpl.h line 53
0x40208160: WiFiClient::~WiFiClient() at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.cpp line 149
0x4020942f: ESP8266WebServer::handleClient() at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WebServer\src\detail/RequestHandlersImpl.h line 53
0x4020b8c8: esp_yield at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_main.cpp line 56
0x402011bf: delay at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_wiring.c line 50
0x402075b1: loop at C:\Users\paul\Documents\Arduino\LekkaTrekkaMainESP/sendAT.ino line 3
0x4020b8e9: esp_schedule at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_main.cpp line 56
0x4020b914: loop_wrapper at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_main.cpp line 56
0x40100718: cont_norm at C:\Users\paul\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/cont.S line 109


My question is this. Where to from now? How do I make sense of this decode? Would it be the topmost entry that threw the exception? How do I go about debugging this?

Regds

Paul

Re: How to read Exception decoder

PostPosted: Fri Aug 12, 2016 7:20 am
by krzychb
Hi @paulfer,

Going the stack trace from top to down, is like going in your code step by step backwards starting from the exception point.
Also you need to analyse the stack trace in context of particular exception cause.

Please check this FAQ item with an example how to interpret decoded stack trace.

Krzysztof

Re: How to read Exception decoder

PostPosted: Fri Aug 12, 2016 11:12 am
by paulfer
krzychb wrote:Hi @paulfer,

Going the stack trace from top to down, is like going in your code step by step backwards starting from the exception point.
Also you need to analyse the stack trace in context of particular exception cause.


Please check this FAQ item with an example how to interpret decoded stack trace.

Krzysztof


Many many thanks Krzysztof!!!!

Regds
Paul.

Re: How to read Exception decoder

PostPosted: Fri Mar 29, 2019 5:44 am
by Dominik Kovacs
Hi krzychb,

I know this is an old post but I cannot access the reference urls you gave. Is there any other reference for the same?

Thank You.