Skip to content

0.16 crashes when changing from 1D stip to 2D Matrix and clicking on save. 0.15 seams fine #4800

Description

@Andro-Marian

What happened?

Crashes when changing from 1D to 2D and click on save

To Reproduce Bug

  1. Fresh install the latest beta 0.16.
  2. Open settings -> 2D Configuration -> Strip or panel: change to 2D Matrix -> Click: Save
The connection was reset

The connection to the server was reset while the page was loading.

    The site could be temporarily unavailable or too busy. Try again in a few moments.
    If you are unable to load any pages, check your computer’s network connection.
    If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the web.```

### Expected Behavior

To save the settings

### Install Method

Binary from WLED.me

### What version of WLED?

0.16

### Which microcontroller/board are you seeing the problem on?

ESP32

### Relevant log/trace output

```shell
Backtrace: 0x4008ab44:0x3ffe11f0 0x4008aea1:0x3ffe1210 0x401c0557:0x3ffe1230 0x401680e3:0x3ffe1260 0x4013c1b4:0x3ffe1280 0x40118ba5:0x3ffe12a0 0x4013c7c6:0x3ffe1320 0x4013c827:0x3ffe13b0 0x4008c92a:0x3ffe13e0
  #0  0x4008ab44:0x3ffe11f0 in invoke_abort at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:648
  #1  0x4008aea1:0x3ffe1210 in vApplicationStackOverflowHook at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:648    
  #2  0x401c0557:0x3ffe1230 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<WiFiClientRxBuffer*>(WiFiClientRxBuffer*) at C:\Users\DesktopTV\.platformio\packages\framework-arduinoespressif32\libraries\WiFi\src/WiFiClient.cpp:572
      (inlined by) std::__shared_ptr<WiFiClientRxBuffer, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<WiFiClientRxBuffer>(WiFiClientRxBuffer*) at c:\users\desktoptv\.platformio\packages\toolchain-xtensa32\xtensa-esp32-elf\include\c++\5.2.0\bits/shared_ptr_base.h:882
      (inlined by) void std::__shared_ptr<WiFiClientRxBuffer, (__gnu_cxx::_Lock_policy)2>::reset<WiFiClientRxBuffer>(WiFiClientRxBuffer*) at c:\users\desktoptv\.platformio\packages\toolchain-xtensa32\xtensa-esp32-elf\include\c++\5.2.0\bits/shared_ptr_base.h:1030
  #3  0x401680e3:0x3ffe1260 in tcp_trigger_input_pcb_close at ??:?
  #4  0x4013c1b4:0x3ffe1280 in DNSServer::replyWithIP() at C:\Users\DesktopTV\.platformio\packages\framework-arduinoespressif32\libraries\DNSServer\src/DNSServer.cpp:189
  #5  0x40118ba5:0x3ffe12a0 in EspalexaDevice::getRGB() at wled00/src/dependencies/espalexa/EspalexaDevice.cpp:312
  #6  0x4013c7c6:0x3ffe1320 in AsyncUDP::listenMulticast(ip_addr const*, unsigned short, unsigned char, tcpip_adapter_if_t) at C:\Users\DesktopTV\.platformio\packages\framework-arduinoespressif32\libraries\AsyncUDP\src/AsyncUDP.cpp:411
  #7  0x4013c827:0x3ffe13b0 in AsyncUDP::listenMulticast(ip_addr const*, unsigned short, unsigned char, tcpip_adapter_if_t) at C:\Users\DesktopTV\.platformio\packages\framework-arduinoespressif32\libraries\AsyncUDP\src/AsyncUDP.cpp:411
  #8  0x4008c92a:0x3ffe13e0 in vPortTaskWrapper at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c:355 (discriminator 1)

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Activity

  1. Andro-Marian commented on Jul 31, 2025

    @Andro-Marian
    Author

    Or:

    Backtrace: 0x4008ab44:0x3ffddea0 0x4008aea1:0x3ffddec0 0x40090209:0x3ffddee0 0x400862f6:0x3ffddf00 0x4008678d:0x3ffddf20 0x4000bec7:0x3ffddf40 0x4013d2bb:0x3ffddf60 0x4013d2c9:0x3ffddf80 0x40122af6:0x3ffddfa0 0x40122d81:0x3ffde080 0x40137a19:0x3ffde0a0 0x401c53ed:0x3ffde0f0 0x4013818d:0x3ffde110 0x40133dcd:0x3ffde150 0x4013537a:0x3ffde190 0x401353a9:0x3ffde1c0 0x4012a8a1:0x3ffde1e0 0x4012ad22:0x3ffde220 0x4012ad9b:0x3ffde240 0x4008c92a:0x3ffde270
      #0  0x4008ab44:0x3ffddea0 in invoke_abort at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:648
      #1  0x4008aea1:0x3ffddec0 in abort at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:648
      #2  0x40090209:0x3ffddee0 in multi_heap_free at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap_poisoning.c:305    
      #3  0x400862f6:0x3ffddf00 in heap_caps_free at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/heap/heap_caps.c:354
      #4  0x4008678d:0x3ffddf20 in _free_r at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/newlib/syscalls.c:42
      #5  0x4000bec7:0x3ffddf40 in ?? ??:0
      #6  0x4013d2bb:0x3ffddf60 in String::invalidate() at C:\Users\DesktopTV\.platformio\packages\framework-arduinoespressif32\cores\esp32/WString.cpp:859
      #7  0x4013d2c9:0x3ffddf80 in String::~String() at C:\Users\DesktopTV\.platformio\packages\framework-arduinoespressif32\cores\esp32/WString.cpp:859
      #8  0x40122af6:0x3ffddfa0 in serveSettings(AsyncWebServerRequest*, bool) at wled00/wled_server.cpp:669
      #9  0x40122d81:0x3ffde080 in std::_Function_handler<void (AsyncWebServerRequest*), initServer()::{lambda(AsyncWebServerRequest*)#10}>::_M_invoke(std::_Any_data const&, AsyncWebServerRequest*&&) at wled00/wled_server.cpp:300
          (inlined by) _M_invoke at c:\users\desktoptv\.platformio\packages\toolchain-xtensa32\xtensa-esp32-elf\include\c++\5.2.0/functional:1871     
      #10 0x40137a19:0x3ffde0a0 in std::function<void (AsyncWebServerRequest*)>::operator()(AsyncWebServerRequest*) const at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/DynamicBuffer.h:259
          (inlined by) AsyncCallbackWebHandler::handleRequest(AsyncWebServerRequest*) at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/WebHandlerImpl.h:132
      #11 0x401c53ed:0x3ffde0f0 in AsyncWebServerRequest::_handleRequest() at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/WebRequest.cpp:1048     
      #12 0x4013818d:0x3ffde110 in AsyncWebServer::processQueue() at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/DynamicBuffer.h:259
      #13 0x40133dcd:0x3ffde150 in AsyncWebServerRequest::_requestReady() at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/WebRequest.cpp:1048      
      #14 0x4013537a:0x3ffde190 in AsyncWebServerRequest::_onData(void*, unsigned int) at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/WebRequest.cpp:1048
      #15 0x401353a9:0x3ffde1c0 in std::_Function_handler<void (void*, AsyncClient*, void*, unsigned int), AsyncWebServerRequest::AsyncWebServerRequest(AsyncWebServer*, AsyncClient*)::{lambda(void*, AsyncClient*, void*, unsigned int)#5}>::_M_invoke(std::_Any_data const&, void*&&, AsyncClient*&&, std::_Any_data const&, unsigned int&&) at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/WebRequest.cpp:1048
          (inlined by) _M_invoke at c:\users\desktoptv\.platformio\packages\toolchain-xtensa32\xtensa-esp32-elf\include\c++\5.2.0/functional:1871     
      #16 0x4012a8a1:0x3ffde1e0 in std::function<void (void*, AsyncClient*, void*, unsigned int)>::operator()(void*, AsyncClient*, void*, unsigned int) const at .pio\libdeps\esp32dev\AsyncTCP\src/AsyncTCP.cpp:1123
          (inlined by) AsyncClient::_recv(pbuf*, signed char) at .pio\libdeps\esp32dev\AsyncTCP\src/AsyncTCP.cpp:947
      #17 0x4012ad22:0x3ffde220 in AsyncClient_detail::handle_async_event(AsyncClient_event_t*) at .pio\libdeps\esp32dev\AsyncTCP\src/AsyncTCP.cpp:1123
      #18 0x4012ad9b:0x3ffde240 in _async_service_task(void*) at .pio\libdeps\esp32dev\AsyncTCP\src/AsyncTCP.cpp:1123
      #19 0x4008c92a:0x3ffde270 in vPortTaskWrapper at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c:355 (discriminator 1)
    
    Rebooting...
    
  2. DedeHai commented on Jul 31, 2025

    @DedeHai
    Collaborator

    try if #4791 fixes this.

  3. Andro-Marian commented on Jul 31, 2025

    @Andro-Marian
    Author
    ELF file SHA256: 0000000000000000
    
    Backtrace: 0x4008aad8:0x3ffdd6e0 0x4008ae35:0x3ffdd700 0x4009019d:0x3ffdd720 0x400862fa:0x3ffdd740 0x400e05c1:0x3ffdd760 0x400ed3a0:0x3ffdd780 0x400ed7c4:0x3ffdd7a0 0x400eda4a:0x3ffdd7d0 0x40115df9:0x3ffdd920 0x4012276d:0x3ffddd10 0x40122df5:0x3ffdddf0 0x40137a8d:0x3ffdde10 0x401c548d:0x3ffdde60 0x40138201:0x3ffdde80 0x40133e41:0x3ffddec0 0x401353ee:0x3ffddf00 0x4013541d:0x3ffddf30 0x4012a915:0x3ffddf50 0x4012ad96:0x3ffddf90 0x4012ae0f:0x3ffddfb0 0x4008c8be:0x3ffddfe0
      #0  0x4008aad8:0x3ffdd6e0 in invoke_abort at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:648
      #1  0x4008ae35:0x3ffdd700 in abort at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:648
      #2  0x4009019d:0x3ffdd720 in multi_heap_free at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap_poisoning.c:305    
      #3  0x400862fa:0x3ffdd740 in heap_caps_free at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/heap/heap_caps.c:354
      #4  0x400e05c1:0x3ffdd760 in Segment::~Segment() at wled00/FX.cpp:3248
          (inlined by) Segment::~Segment() at wled00/FX.h:625
      #5  0x400ed3a0:0x3ffdd780 in void std::_Destroy<Segment>(Segment*) at wled00/src/dependencies/json/ArduinoJson-v6.h:4836
          (inlined by) void std::_Destroy_aux<false>::__destroy<Segment*>(Segment*, Segment*) at c:\users\desktoptv\.platformio\packages\toolchain-xtensa32\xtensa-esp32-elf\include\c++\5.2.0\bits/stl_construct.h:103
      #6  0x400ed7c4:0x3ffdd7a0 in void std::_Destroy<Segment*>(Segment*, Segment*) at wled00/src/dependencies/json/ArduinoJson-v6.h:4836
          (inlined by) void std::_Destroy<Segment*, Segment>(Segment*, Segment*, std::allocator<Segment>&) at c:\users\desktoptv\.platformio\packages\toolchain-xtensa32\xtensa-esp32-elf\include\c++\5.2.0\bits/stl_construct.h:151
          (inlined by) std::vector<Segment, std::allocator<Segment> >::_M_erase_at_end(Segment*) at c:\users\desktoptv\.platformio\packages\toolchain-xtensa32\xtensa-esp32-elf\include\c++\5.2.0\bits/stl_vector.h:1438
          (inlined by) std::vector<Segment, std::allocator<Segment> >::clear() at c:\users\desktoptv\.platformio\packages\toolchain-xtensa32\xtensa-esp32-elf\include\c++\5.2.0\bits/stl_vector.h:1212
          (inlined by) WS2812FX::resetSegments() at wled00/FX_fcn.cpp:1842
      #7  0x400eda4a:0x3ffdd7d0 in WS2812FX::makeAutoSegments(bool) at wled00/src/dependencies/json/ArduinoJson-v6.h:4836
      #8  0x40115df9:0x3ffdd920 in handleSettingsSet(AsyncWebServerRequest*, unsigned char) at wled00/set.cpp:817
      #9  0x4012276d:0x3ffddd10 in serveSettings(AsyncWebServerRequest*, bool) at wled00/wled_server.cpp:609 (discriminator 5)
      #10 0x40122df5:0x3ffdddf0 in std::_Function_handler<void (AsyncWebServerRequest*), initServer()::{lambda(AsyncWebServerRequest*)#10}>::_M_invoke(std::_Any_data const&, AsyncWebServerRequest*&&) at wled00/wled_server.cpp:300
          (inlined by) _M_invoke at c:\users\desktoptv\.platformio\packages\toolchain-xtensa32\xtensa-esp32-elf\include\c++\5.2.0/functional:1871     
      #11 0x40137a8d:0x3ffdde10 in std::function<void (AsyncWebServerRequest*)>::operator()(AsyncWebServerRequest*) const at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/DynamicBuffer.h:259
          (inlined by) AsyncCallbackWebHandler::handleRequest(AsyncWebServerRequest*) at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/WebHandlerImpl.h:132
      #12 0x401c548d:0x3ffdde60 in AsyncWebServerRequest::_handleRequest() at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/WebRequest.cpp:1048     
      #13 0x40138201:0x3ffdde80 in AsyncWebServer::processQueue() at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/DynamicBuffer.h:259
      #14 0x40133e41:0x3ffddec0 in AsyncWebServerRequest::_requestReady() at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/WebRequest.cpp:1048      
      #15 0x401353ee:0x3ffddf00 in AsyncWebServerRequest::_onData(void*, unsigned int) at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/WebRequest.cpp:1048
      #16 0x4013541d:0x3ffddf30 in std::_Function_handler<void (void*, AsyncClient*, void*, unsigned int), AsyncWebServerRequest::AsyncWebServerRequest(AsyncWebServer*, AsyncClient*)::{lambda(void*, AsyncClient*, void*, unsigned int)#5}>::_M_invoke(std::_Any_data const&, void*&&, AsyncClient*&&, std::_Any_data const&, unsigned int&&) at .pio\libdeps\esp32dev\ESPAsyncWebServerWLED\src/WebRequest.cpp:1048
          (inlined by) _M_invoke at c:\users\desktoptv\.platformio\packages\toolchain-xtensa32\xtensa-esp32-elf\include\c++\5.2.0/functional:1871     
      #17 0x4012a915:0x3ffddf50 in std::function<void (void*, AsyncClient*, void*, unsigned int)>::operator()(void*, AsyncClient*, void*, unsigned int) const at .pio\libdeps\esp32dev\AsyncTCP\src/AsyncTCP.cpp:1123
          (inlined by) AsyncClient::_recv(pbuf*, signed char) at .pio\libdeps\esp32dev\AsyncTCP\src/AsyncTCP.cpp:947
      #18 0x4012ad96:0x3ffddf90 in AsyncClient_detail::handle_async_event(AsyncClient_event_t*) at .pio\libdeps\esp32dev\AsyncTCP\src/AsyncTCP.cpp:1123
      #19 0x4012ae0f:0x3ffddfb0 in _async_service_task(void*) at .pio\libdeps\esp32dev\AsyncTCP\src/AsyncTCP.cpp:1123
      #20 0x4008c8be:0x3ffddfe0 in vPortTaskWrapper at /home/cschwinne/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c:355 (discriminator 1)
    
    Rebooting...
    

    Still crashes

  4. changed the title [-]ESP crashes when changing from 1D stip to 2D Matrix and clicking on save[/-] [+]0.16 crashes when changing from 1D stip to 2D Matrix and clicking on save. 0.15 seams fine[/+] on Jul 31, 2025
  5. blazoncek commented on Jul 31, 2025

    @blazoncek
    Contributor

    Crash dumps point to issues with networking stack. As with your previous report I am suspecting not WLED related.
    You may also want to monitor your network traffic if there are any unusual packets broadcast.

  6. Andro-Marian commented on Jul 31, 2025

    @Andro-Marian
    Author

    I don't think is the internet. Is different. And just when saving on the 2D setting page. No problem on 0.15 release for some reason.
    And again. no problem on other versions.

  7. blazoncek commented on Jul 31, 2025

    @blazoncek
    Contributor

    There were no changes to 2D set-up.

  8. Andro-Marian commented on Jul 31, 2025

    @Andro-Marian
    Author

    Crashes even in AP.

    Something pointing to: serveSettings(AsyncWebServerRequest*, bool) at wled00/wled_server.cpp:669

    669 is a return from

          if (request->hasArg(F("revert")) && inLocalSubnet(request->client()->remoteIP()) && Update.canRollBack()) {
            doReboot = Update.rollBack();
            if (doReboot) {
              serveMessage(request, 200, F("Reverted to previous version!"), FPSTR(s_rebooting), 133);
            } else {
              serveMessage(request, 500, F("Rollback failed!"), F("Please reboot and retry."), 254);
            }
            return; <- here for some reason
          }
    

    When this rollback version was added. May worth testing before it.

    Can't find what changed from 0.15.0.
    I closed it for now.

  9. Andro-Marian commented on Aug 3, 2025

    @Andro-Marian
    Author

    0.15.1 seams to work fine on this

  10. Andro-Marian commented on Aug 3, 2025

    @Andro-Marian
    Author

    This seams to be happening if the Leds count are 30. If i bigger the crash not occurs for some reason.
    Need a way to debug this but not sure how. I don't know if here is a way to download all the previous builds to try.

  11. Andro-Marian commented on Aug 4, 2025

    @Andro-Marian
    Author

    I think the: #4658 adds this bug somehow

    Image
  12. DedeHai commented on Sep 17, 2025

    @DedeHai
    Collaborator

    There are still bugs in 2D setup, but I was not able to find it yet. see #4911

  13. DedeHai commented on Sep 17, 2025

    @DedeHai
    Collaborator

    @Gawd21 in your config: is the number of leds smaller than the size of the matrix?

  14. DedeHai commented on Sep 17, 2025

    @DedeHai
    Collaborator

    if you set your LEDs to 100 and then set 2D, does it work i.e. is it the same bahaviour as in #4911 ? If leds are off it works?
    The setting LEDs to 2 may be an outlier but still useful info.

  15. DedeHai commented on Sep 17, 2025

    @DedeHai
    Collaborator

    It is a bit of a mystery bug. If you could confirm or deny whats in the other issue (i.e. LEDs on/off and number of LEDs < matrix size) that would be helpful. please report in the other issue so its easier to track.

  16. github-actions commented on Jan 28, 2026

    @github-actions

    Hey! This issue has been open for quite some time without any new comments now. It will be closed automatically in a week if no further activity occurs.
    Thank you for using WLED! ✨

  17. added
    staleThis issue will be closed soon because of prolonged inactivity
    on Jan 28, 2026
  18. DedeHai commented on Jan 28, 2026

    @DedeHai
    Collaborator

    fixed in #5023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugstaleThis issue will be closed soon because of prolonged inactivity

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions