WLED: Crash when streaming data over UDP
What happened?
When using audio-reactive-led-strip to send LED data over UDP the ESP32 reboots after about 10sec of streaming with the following message:
Guru Meditation Error: Core 1 panic'ed (LoadStoreError). Exception was unhandled.
Core 1 register dump:
PC : 0x4010f783 PS : 0x00060c30 A0 : 0x8011450f A1 : 0x3ffb1e60
A2 : 0xffffffff A3 : 0x3ffb1e70 A4 : 0x3ffffffe A5 : 0x0004e18e
A6 : 0x3ffc7ecc A7 : 0x3ffb1e70 A8 : 0x8010f798 A9 : 0x3ffb1e40
A10 : 0x00000000 A11 : 0x00000000 A12 : 0x00000000 A13 : 0x00000000
A14 : 0x00000000 A15 : 0x00000000 SAR : 0x0000000a EXCCAUSE: 0x00000003
EXCVADDR: 0x40000001 LBEG : 0x400014fd LEND : 0x4000150d LCOUNT : 0xfffffffe
ELF file SHA256: 0000000000000000
Backtrace: 0x4010f780:0x3ffb1e60 0x4011450c:0x3ffb1f50 0x40114f1e:0x3ffb1f90 0x401338ad:0x3ffb1fb0 0x4008b89e:0x3ffb1fd0
#0 0x4010f780:0x3ffb1e60 in handleNotifications() at wled00/udp.cpp:530 (discriminator 1)
#1 0x4011450c:0x3ffb1f50 in WLED::loop() at wled00/wled.cpp:62
#2 0x40114f1e:0x3ffb1f90 in loop() at Z:/git/github/WLED/wled00/wled00.ino:20
#3 0x401338ad:0x3ffb1fb0 in loopTask(void*) at C:\Users\romai\.platformio\packages\framework-arduinoespressif32\cores\esp32/main.cpp:23
#4 0x4008b89e:0x3ffb1fd0 in vPortTaskWrapper at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c:355 (discriminator 1)
Rebooting...
Running 75e857a5104c4c0b0c9761e69c8cb154cedb3320 with the following PIO config as suggested here https://github.com/Aircoookie/WLED/issues/3637#issuecomment-1875120887
extends = env:esp32dev
monitor_filters = esp32_exception_decoder
build_flags = ${common.build_flags_esp32} ${common.debug_flags} -D WLED_RELEASE_NAME=ESP32_debug
To Reproduce Bug
Run visualisation.py from https://github.com/scottlawsonbc/audio-reactive-led-strip Update config.py with the correct IP and UDP port.
Expected Behavior
Should run without crashing.
Install Method
Self-Compiled
What version of WLED?
WLED 0.14.1-b3 (build 2401060)
Which microcontroller/board are you seeing the problem on?
ESP32
Relevant log/trace output
No response
Anything else?
May be related to #3637
Code of Conduct
- I agree to follow this project’s Code of Conduct
About this issue
- Original URL
- State: closed
- Created 6 months ago
- Reactions: 1
- Comments: 18
Commits related to this issue
- udp realtime - improve robustness against short packets (fix for #3672) when only two bytes were received in a packet, the "for" condition `packetsize -3` would underflow, leading to an infinite loop... — committed to Aircoookie/WLED by softhack007 6 months ago
- Fix for #3672 — committed to Aircoookie/WLED by blazoncek 6 months ago
- Fix for #3672 — committed to MoonModules/WLED by blazoncek 6 months ago
- udp realtime - improve robustness against short packets (fix for #3672) when only two bytes were received in a packet, the "for" condition `packetsize -3` would underflow, leading to an infinite loop... — committed to JPZV/WLED by softhack007 6 months ago
- udp realtime - improve robustness against short packets (fix for #3672) when only two bytes were received in a packet, the "for" condition `packetsize -3` would underflow, leading to an infinite loop... — committed to DedeHai/WLED by softhack007 6 months ago
Yes, you are correct. on more thorough inspection there are other possible valid packets <5.