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

Most upvoted comments

This sometimes improves wifi connectivity - don’t know why but it sometimes helps. Make sure to backup config & presets before esptool erase_flash.

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…