188956a4af
this is a band-aid fix for random crashes when switching between presets with multiple segments - crossfade disabled. !! adding type initializers fixed it for me on -S3, however I still see (less frequent) crashes on esp32, due to heap corruption. It took me hours to get a meaningful stackdump: assert failed: heap_caps_free heap_caps.c:360 (heap != NULL && "free() target pointer is outside heap areas") Backtrace: 0x40084ee1:0x3ffb2570 0x4008e341:0x3ffb2590 0x40094709:0x3ffb25b0 0x4008534a:0x3ffb26e0 0x40094739:0x3ffb2700 0x400e9037:0x3ffb2720 0x400e917c:0x3ffb2740 0x400eaeeb:0x3ffb2760 0x40117ec5:0x3ffb27c0 0x401184ea:0x3ffb2800 0x4013509d:0x3ffb2820 #0 0x40084ee1:0x3ffb2570 in panic_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/panic.c:402 #1 0x4008e341:0x3ffb2590 in esp_system_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/esp_system.c:128 #2 0x40094709:0x3ffb25b0 in __assert_func at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/newlib/assert.c:85 #3 0x4008534a:0x3ffb26e0 in heap_caps_free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/heap/heap_caps.c:360 (inlined by) heap_caps_free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/heap/heap_caps.c:345 #4 0x40094739:0x3ffb2700 in free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/newlib/heap.c:39 #5 0x400e9037:0x3ffb2720 in Segment::deallocateData() at wled00/FX_fcn.cpp:189 #6 0x400e917c:0x3ffb2740 in Segment::resetIfRequired() at wled00/FX_fcn.cpp:206 (inlined by) Segment::resetIfRequired() at wled00/FX_fcn.cpp:203 #7 0x400eaeeb:0x3ffb2760 in WS2812FX::service() at wled00/FX_fcn.cpp:1216 (discriminator 2) #8 0x40117ec5:0x3ffb27c0 in WLED::loop() at wled00/wled.cpp:115 (discriminator 3) #9 0x401184ea:0x3ffb2800 in loop() at C:/src/wled00/wled00.ino:20 #10 0x4013509d:0x3ffb2820 in loopTask(void*) at C:/Users/user/.platformio/packages/framework-arduinoespressif32/cores/esp32/main.cpp:50 ELF file SHA256: 18c20b536f4c6ef4 |
||
---|---|---|
.. | ||
data | ||
src | ||
alexa.cpp | ||
bus_manager.cpp | ||
bus_manager.h | ||
bus_wrapper.h | ||
button.cpp | ||
cfg.cpp | ||
colors.cpp | ||
const.h | ||
dmx.cpp | ||
e131.cpp | ||
fcn_declare.h | ||
file.cpp | ||
FX_2Dfcn.cpp | ||
FX_fcn.cpp | ||
FX.cpp | ||
FX.h | ||
html_cpal.h | ||
html_other.h | ||
html_pixart.h | ||
html_pxmagic.h | ||
html_settings.h | ||
html_simple.h | ||
html_ui.h | ||
hue.cpp | ||
improv.cpp | ||
ir_codes.h | ||
ir.cpp | ||
json.cpp | ||
led.cpp | ||
lx_parser.cpp | ||
mqtt.cpp | ||
my_config_sample.h | ||
net_debug.cpp | ||
net_debug.h | ||
network.cpp | ||
NodeStruct.h | ||
ntp.cpp | ||
overlay.cpp | ||
palettes.h | ||
pin_manager.cpp | ||
pin_manager.h | ||
playlist.cpp | ||
presets.cpp | ||
remote.cpp | ||
set.cpp | ||
udp.cpp | ||
um_manager.cpp | ||
usermod_v2_empty.h | ||
usermod.cpp | ||
usermods_list.cpp | ||
util.cpp | ||
wled00.ino | ||
wled_eeprom.cpp | ||
wled_ethernet.h | ||
wled_math.cpp | ||
wled_serial.cpp | ||
wled_server.cpp | ||
wled.cpp | ||
wled.h | ||
ws.cpp | ||
xml.cpp |