Comments (7)
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.
from esp-exception-decoder.
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.
from esp-exception-decoder.
another stack dump comes in before the other dump is fully printed(?):
Maybe it's due to the serial monitor in IDE2: arduino/arduino-ide#1081.
You can print the monitor to an actual terminal and copy it back to the decoder terminal.
- open IDE2,
- make sure the monitor widget is not open, and the monitor is not running,
- select the board, verify, and upload from IDE2 as usual,
- remember the port your board is attached to (mine is
/dev/cu.usbmodem14101
for this example),
- (from the screenshots, I am assuming you're on Linux) navigate to the
resources/app/lib/backend/resources
folder inside your IDE2 installation, - you see the
arduino-cli
executable there. if you run./arduino-cli version
, it prints the version - if you run
./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.
from esp-exception-decoder.
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..
from esp-exception-decoder.
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
from esp-exception-decoder.
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)
from esp-exception-decoder.
Would just appending the text
<<<stack<<<
be a way to let the decoder recognize
Yes. I did the same with your initial example (#11 (comment)). 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.
from esp-exception-decoder.
Related Issues (20)
- Exception decoding for RISC-V chips (ESP32-C3, C6, H2, etc) HOT 4
- Arduino IDE 2.1.1 HOT 3
- No debug tab window appears on Arduino IDE 2.1.1 HOT 5
- Fails to use esp-exception-decoder with Arduino IDE 2.1.1 HOT 1
- No board selected (Please use the nightly IDE 2.x https://www.arduino.cc/en/software#nightly-builds) HOT 8
- Could not detect any instruction adress in the stack/backtrace HOT 7
- Line numbers of main .ino file seem to be off by one? HOT 1
- Segmentation fault when decoding exeption for ESP8266 generic module HOT 3
- Could not detect the DGB tool path HOT 6
- ESP Exception Decoder Sketch path is not set HOT 5
- Error Activating Extension HOT 3
- Unable to add this extension HOT 2
- Could not find th 'dankeboy36.vscode-arduino-api' extension must be installed. HOT 1
- esp8266 error HOT 1
- [Question about trace format] Could not recognize stack trace/backtrace HOT 3
- Shift+Cmnd+P does not find the decode HOT 5
- Command failed with exit code 3221225477.
- exception decoder 1.0.2 not showing in menu HOT 2
- Guru Meditation Error: Core 1 panic'ed HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esp-exception-decoder.