Skip to content

Hardfault after 8-10 pings to IP every 200msec on ESP32-S2/S3 #6955

@todbot

Description

@todbot

CircuitPython version

Adafruit CircuitPython 8.0.0-beta.0 on 2022-08-18; Adafruit QT Py ESP32-S3 no psram with ESP32S3
Adafruit CircuitPython 8.0.0-beta.0 on 2022-08-18; S2Mini with ESP32S2-S2FN4R2
Adafruit CircuitPython 7.3.3 on 2022-08-29; S2Mini with ESP32S2-S2FN4R2
Adafruit CircuitPython 7.3.0-rc.1 on 2022-05-18; Adafruit QT Py ESP32-S3 no psram with ESP32S3

Code/REPL

import time
import wifi
import ipaddress
from secrets import secrets
ip_to_ping = "1.1.1.1"
print("connecting...")
wifi.radio.connect(ssid=secrets['ssid'],password=secrets['password'])

print("my IP addr:", wifi.radio.ipv4_address)
print("pinging ",ip_to_ping)
ip1 = ipaddress.ip_address(ip_to_ping)
while True:
    print("ping:", wifi.radio.ping(ip1))
    time.sleep(0.2)

Behavior

[18:05:04.211] Waiting for tty device..
[18:05:05.222] Connected
my IP addr: 192.168.42.189
pinging  1.1.1.1
ping: 0.0
ping: 0.0
ping: 0.017
ping: 0.026
ping: 0.037
ping: 0.048
ping: 0.017
ping: 0.013

[18:05:11.276] Disconnected
[18:05:12.293] Connected
Adafruit CircuitPython 8.0.0-beta.0 on 2022-08-18; Adafruit QT Py ESP32-S3 no psram with ESP32S3
>>>
soft reboot

Auto-reload is off.
Running in safe mode! Not running saved code.

You are in safe mode because:
CircuitPython core code crashed hard. Whoops!
Crash into the HardFault_Handler.
Please file an issue with the contents of your CIRCUITPY drive at
https://github.com/adafruit/circuitpython/issues

Press any key to enter the REPL. Use CTRL-D to reload.

Description

Above is the serial output via tio for one example run. You can ping about 8-10 times, then it HardFaults.

The same code with time.sleep(1) does not seem to crash.

This happens on both ESP32-S2 and ESP32-S3, on both 7.3.3 and 8.0.0-beta0.

Additional information

This was originally reported by @Wind-stormger here todbot/circuitpython-tricks#10

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions