Closed
Description
Board
ESP32 Dev Module
Device Description
Espressif Dev module
Hardware Configuration
W5500 wired to default SPI pins
Version
latest development Release Candidate (RC-X)
IDE Name
Arduino IDE
Operating System
Linix Mint
Flash frequency
80 MHz
PSRAM enabled
no
Upload speed
921600
Description
ETH.end() crashes
Sketch
#define ETH_PHY_TYPE ETH_PHY_W5500
#define ETH_PHY_ADDR 1
#define ETH_PHY_CS 5
#define ETH_PHY_IRQ 26
#define ETH_PHY_RST -1
#define ETH_PHY_SPI SPI
#include <ETH.h>
void setup() {
Serial.begin(115200);
delay(500);
SPI.begin();
ETH.begin();
while (!ETH.hasIP()) {
Serial.print('.');
delay(1000);
}
ETH.end();
ETH.begin();
while (!ETH.hasIP()) {
Serial.print('.');
delay(1000);
}
}
void loop() {
}
Debug Message
CORRUPT HEAP: Bad tail at 0x3ffb9a00. Expected 0xbaad5678 got 0x00000000
assert failed: multi_heap_free multi_heap_poisoning.c:276 (head != NULL)
stack trace:
0x400827ad: panic_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_system/panic.c:466
0x40088709: esp_system_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_system/port/esp_system_chip.c:84
0x4008d99a: __assert_func at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/newlib/assert.c:81
0x4008cb25: multi_heap_free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap_poisoning.c:276 (discriminator 1)
0x40083792: heap_caps_free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_caps.c:388
0x4008d9d9: free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/newlib/heap.c:39
0x4011dddd: post_instance_delete at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_event/esp_event.c:439
(inlined by) esp_event_loop_run at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_event/esp_event.c:615
0x4011de40: esp_event_loop_run_task at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_event/esp_event.c:107 (discriminator 15)
Other Steps to Reproduce
WiFi has _esp_netif = NULL;
before destroyNetif();
. Doing this in ETH.end() avoids the crash, but following ETH.begin() then ends with "E (8710) esp_eth: esp_eth_driver_uninstall(263): 2 ethernet reference in use".
I have checked existing issues, online documentation and the Troubleshooting Guide
- I confirm I have checked existing issues, online documentation and Troubleshooting guide.
Metadata
Metadata
Assignees
Type
Projects
Status
Done