-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hard crash on ESP32S2 using 2 displays #7472
Comments
Adafruit CircuitPython 8.0.0-beta.6 on 2022-12-21; Adafruit Feather ESP32S3 4MB Flash 2MB PSRAM with ESP32S3
I'm using an external 1.14" display with the ESP32S3 detailed here - https://github.com/Breazile/MandoPuter It ran for almost 8 hours and then crashed hard. Second time this has happened. I found it crashed overnight and restarted it this morning. Code is below and contents of the drive is here - https://github.com/Breazile/MandoPuter/blob/master/Releases/ESP32-S3Pre-Beskar.zip
|
@darianbjohnson you can disable things by setting You can see an example that disables some things here:
doing a few of those that aren't used by your program should free up space to allow a debug build. |
@Breazile that may be a different issue I think. Your device is It may be best to create a seperate issue for yours instead of posting here. |
I have replicated this issue on a feather S2 TFT. I believe the same issue actually effects more ports as well, perhaps all of them. I'm thinking it may trace back to the displayio api change, but haven't done before/after testing yet to narrow it down. I think @Neradoc saw this occur on Monster M4sk as well, and I've seen the same on that device. It seems to boil down to right now the initial setup of 2 displays works fine, but then whenever the device resets it will hard fault, as described in the initial issue post. I have collected this decoded backtrace from Feather S2 TFT:
I will try to narrow it further and see if I can figure out a fix. |
Yep I get a hard crash when saving on the Monster M4sk, with the displays setup form the monster_mask library (which occasionally causes the file I'm editing to be corrupted).
|
I followed the backtrace a bit, and I think this actually is the same kind of issue as #7829 is addressing. The circuitpython_spash was being added after already being added to the first I think. I'm not really sure why this one resulted in the hard crash though as the backtrace does flow through a line trying to raise the exception. It must be failing for some reason down the line. I added a commit to that PR branch that addresses the issue. It's adding the same if statement previously added into the constructor into reset_display() function also. Tested successfully with the Feather S2 TFT. Will try Monster M4sk next. Worth noting something may still be wonky though because now I no longer hard crash but I do seem to see duplicated terminal outputs on the screen. First ctrl-C from running results in 3 duplicates stacked one on top of the other. The next ctrl-C to go to reply splits those 3 rows into 2 columns each to make 6 total copies visible. |
I tried the latest version from that PR on a Monster M4sk and I do still get a hard fault. Slightly different wording I don't have "NLR jump failed. Likely memory corruption."but rather "fault detected by hardware" I did ctrl-C instead of saving a file though, that could factor in. I'm not sure if it's possible or how to get hard crash traces out of the samd51 / Monster M4sk but if we could it might help work toward the solution. Later on the week I'll try to probe a bit further on the feather S2 TFT setup to see if I can figure out the duplicated terminal outputs, and hopefully manage to find whatever hard fault the Monster M4sk is still seeing to get it resolved too. |
@darianbjohnson if you have a moment please try the latest build from the S3 link for your project that this issue was originally made for. I think that the specific hard crash you observed should be resolved after #7829, but I'm also still trying to work through further potential issues. It'd be helpful to know how your setup behaves on the current version. |
@FoamyGuy I’ll test it out… though I might need a few weeks to retest (heads down on another project that I need to resolve first) |
Probably fixed by #7983. Re-test. |
CircuitPython 8.0.0-beta.6
Board - Adafruit Feather ESP32s2
Error message:
Code:
Background
I compiled a new version of CPy for the ESP32s2 Feather, and I added a line to the mpconfig.h file to use two displays [#define CIRCUITPY_DISPLAY_LIMIT (2)]
The code compiles; and I am able to get the code to run on a first attempt. However, when I make a code change and save the file, I get the error listed above. The Mu editor looses the ability to write to the file and the board starts to run in safe mode.
I'm not exactly sure what I am doing wrong. Any thoughts?
Note - I am attempting to make a DEBUG version of the code for testing, but I'm running out of room on the board. Any ideas on what files to move so that I can create a DEBUG version?
The text was updated successfully, but these errors were encountered: