WLED: CORRUPT HEAP with 0.14.1-b2, ESP32, maybe related to MQTT
What happened?
Hello,
All my 5 ESP32’s running WLED_0.14.1-b2_ESP32.bin keep rebooting randomly, sometimes after only a few hours. They’re all connected to my MQTT broker, with moderate traffic.
I have another ESP32 with WLED_0.14.1-b2_ESP32_audioreactive.bin, on that one MQTT isn’t enabled, and since the upgrade from 0.14 to 0.14.1-b2, it’s stable so far (3 days uptime).
I have managed to capture a stacktrace, but i don’t know how to decode it.
This stacktrace was generated from WLED_0.14.1-b2_ESP32.bin, at least the binary from install.wled.me
To Reproduce Bug
- Install WLED_0.14.1-b2_ESP32.bin on ESP32
- Led type: WS2812b
- Connect to WiFi
- Enable MQTT (not secure), connect to broker with login/password
- Set an effect, for example “Chase” with 3 colors
- After a few hours, WLED crashes and returns to static orange
Expected Behavior
No crash
Install Method
Binary from WLED.me
What version of WLED?
WLED 0.14.1-b2 (build 2312290)
Which microcontroller/board are you seeing the problem on?
ESP32
Relevant log/trace output
CORRUPT HEAP: Bad head at 0x3ffd7838. Expected 0xabba1234 got 0x3ffd7864
abort() was called at PC 0x4008eb39 on core 0
ELF file SHA256: 0000000000000000
Backtrace: 0x40089af8:0x3ffb5d10 0x40089e55:0x3ffb5d30 0x4008eb39:0x3ffb5d50
0x4008543a:0x3ffb5d70 0x40085805:0x3ffb5d90 0x4000bec7:0x3ffb5db0
0x4016def2:0x3ffb5dd0 0x4016df29:0x3ffb5df0 0x4014974d:0x3ffb5e10
0x4008b89e:0x3ffb5e40
Rebooting...
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DOUT, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5828
entry 0x400806a8
Ada
Anything else?
Thank you for your help!
Code of Conduct
- I agree to follow this project’s Code of Conduct
About this issue
- Original URL
- State: open
- Created 6 months ago
- Comments: 19
A newer bootloader may be needed as it initialises hardware prior to firmware. If your devices have old bootloader (pre 0.13) then they may need bootloader update.
FYI having “Fast roaming” or BSS Transition enabled is known to cause issues with non-compilant hardware. WLED does not support those protocols.
Thank you, it’s built with debug enabled and running, we should soon find out whether it produces any useful output. I do see some extra logging, so that’s a good start…