You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using latest HTTP Server library from that PR. Safe mode occurs with 9.2.1, or with DEBUG build from recent tip of main.
It is not necessary to have any client attempt to connect.
Behavior
Intermittent safe mode when running HTTPS servers, can be several minutes or a couple hours. DEBUG output shows crashes on Core 0 or on Core 1, with varying error messages. Not a lot of consistency. DEBUG backtraces are either corrupted or yield no useful output ( decode_backtrace.py just prints a number of blank lines).
Changing to a blocking accept() call seems to fix the issue, or at least I have not observed any Safe Mode occurrences when using blocking accept().
Tested predominantly on adafruit_feather_esp32s3_tft and waveshare_esp32_s3_eth (using wifi). @michalpokusa observed the issue on a Memento board.
Tested ESP32-S2 (Feather TFT) with the fix from "espressif: Allow mbedtls data in psram if available" #9867. The memory fix allows HTTPS server to run on ESP32-S2, but S2 is prone to intermittent Safe Mode like S3.
anecdata
changed the title
ESP32-S3 Safe Mode when using HTTPS / TLS TCP server
ESP32-S* Safe Mode when using HTTPS / TLS TCP server
Jan 6, 2025
CircuitPython version
Code/REPL
Various comments and example code using
adafruit_httpserver
library and manual TLS TCP socket server at: adafruit/Adafruit_CircuitPython_HTTPServer#88Using latest HTTP Server library from that PR. Safe mode occurs with 9.2.1, or with
DEBUG
build from recent tip of main.It is not necessary to have any client attempt to connect.
Behavior
Intermittent safe mode when running HTTPS servers, can be several minutes or a couple hours.
DEBUG
output shows crashes on Core 0 or on Core 1, with varying error messages. Not a lot of consistency.DEBUG
backtraces are either corrupted or yield no useful output (decode_backtrace.py
just prints a number of blank lines).Changing to a blocking
accept()
call seems to fix the issue, or at least I have not observed any Safe Mode occurrences when using blockingaccept()
.Tested predominantly on adafruit_feather_esp32s3_tft and waveshare_esp32_s3_eth (using wifi). @michalpokusa observed the issue on a Memento board.
Example adafruit_feather_esp32s3_tft debug output
Example waveshare_esp32_s3_eth debug output
Description
No response
Additional information
No response
The text was updated successfully, but these errors were encountered: