Closed r-hmn closed 8 months ago
I looked into it, @r-hmn, and I could reproduce the same behavior, but I do not think this is a decoder bug. Your stack dump looks invalid. See here, ESP8266 stack dump starts with >>>stack>>>
and ends with <<<stack<<<
. Yours not.
Your starts with this:
User exception (panic/abort/assert)
--------------- CUT HERE FOR EXCEPTION DECODER ---------------
Panic core_esp8266_main.cpp:191 __yield
>>>stack>>>
ctx: sys
sp: 3ffff570 end: 3fffffb0 offset: 0010
3ffff580: 00000000 00000001 00000000 40211905
And another stack dump comes in before the other dump is fully printed(?):
--------------- CUT HERE FOR EXCEPTION DECODER ---------------
Panic core_esp8266_main.cpp:191 __yield
>>>stack>>>
ctx: sys
sp: 3ffff290 end: 3fffffb0 offset: 0010
3ffff2a0: 00000000 00000000 00000000 40103132
You should ask the Arduino forum (https://forum.arduino.cc/c/software/ide-2-x/93) why you see two stack dumps. Share the board and your sketch (if you can) with the community. The decoder will work once you figure out how to have one stack dump.
another stack dump comes in before the other dump is fully printed(?):
Maybe it's due to the serial monitor in IDE2: https://github.com/arduino/arduino-ide/issues/1081.
You can print the monitor to an actual terminal and copy it back to the decoder terminal.
/dev/cu.usbmodem14101
for this example),
resources/app/lib/backend/resources
folder inside your IDE2 installation,arduino-cli
executable there. if you run ./arduino-cli version
, it prints the version./arduino-cli monitor -p /dev/cu.usbmodem14101
(your port is probably different), you will see the monitor output in the terminal. Here is my example (I am on macOS, though):% pwd
/Applications/Arduino IDE.app/Contents/Resources/app/lib/backend/resources
% ./arduino-cli version
arduino-cli Version: 0.34.0 Commit: 304d48cd Date: 2023-08-22T15:54:20Z
% ./arduino-cli monitor -p /dev/cu.usbmodem14101
Connected to /dev/cu.usbmodem14101! Press CTRL-C to exit.
count=10000000, lines/sec=0
count=10000001, lines/sec=0
count=10000002, lines/sec=0
count=10000003, lines/sec=0
count=10000004, lines/sec=0
Now, you can check if you really see two stack dumps overwriting each other. If you see the dump between >>>stack>>>
and <<<stack<<<
. It's an IDE2 bug with the monitor, and the decoder should work. If you see two starting >>>stack>>>
tags but no trailing one, I would ask on the Arduino forum.
I hope this helps.
The github you listed is about the selection itself changing. it's quite an anoyance indeed. Thanks for the aduino-cli explanation. that will come in handy the next time.
The stacktrace which i mentioned is how it is listed on the output. Some times there's one stacktrace, sometime i get two. it's probably an indicator of how bad the program is failing :) but i don't recall it having the form as what you linked to.
i copied it in multiple parts to get the whole thing properly reported here. But when i post it to the exception decoder, i use one stacktrace at the time, starting after the ---CUT..
I looked into it, @r-hmn, and I could reproduce the same behavior, but I do not think this is a decoder bug. Your stack dump looks invalid. See here, ESP8266 stack dump starts with >>>stack>>> and ends with <<<stack<<<. Yours not.
You should ask the Arduino forum (https://forum.arduino.cc/c/software/ide-2-x/93) why you see two stack dumps. Share the board and your sketch (if you can) with the community. The decoder will work once you figure out how to have one stack dump
Thanks. i will. Cheers
Update; I posted my problem here. Turned out i was writing outside a buffer and my stack sometimes got overwritten because memory/stack is quite full, hence strange errors happened.
Would just appending the text <<<stack<<<
be a way to let the decoder recognize and decode the top part of the stack?
(it does print a decoded stack result)
Would just appending the text
<<<stack<<<
be a way to let the decoder recognize
Yes. I did the same with your initial example (https://github.com/dankeboy36/esp-exception-decoder/issues/11#issue-1959203954). If added the closing <<<stack<<<
, the decoder could recognize and parse the stack.
and decode the top part of the stack?
I think, yes. I am unsure whether it's correct or complete, though.
Hi dankeboy36
i'm posting here as you advised here in that link it shows the settings and board i use. (i also tested by enabling the "C++ exceptions") Aside from the mentioned nightly build, i use Arduino IDE 2.2.1. Both provide the same result.
In case it's interesting my build output is this (i replaced ascii-art with '|---' etc)
The exeption happens after the 2nd time the ESP8266WebServer receives a POST request and writes a file to LittleFS. My tracktrace is this (actually two?.. happening directy after eachother)
This is the exception decoder output
i tried also pasting the block after the second
----- CUT HERE
with all of the heading and tried with ever less rows. but all gives the same result.Kind regards