You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have read the documentation at readthedocs and the issue is not addressed there.
I have tested that the issue is present in current master branch (aka latest git).
I have searched the issue tracker for a similar issue.
If there is a stack dump, I have decoded it.
I have filled out all fields below. (i hope)
Platform
Hardware: [ESP-12E]
Core Version: [2.7.2]
Development Env: [Arduino IDE]
Operating System: [Windows]
Settings in IDE
Module: [Generic ESP8266 Module|Nodemcu]
Flash Mode: [fixed by IDE]
Flash Size: [4MB]
lwip Variant: [v2_lower_Memory]
Reset Method: [nodemcu]
Flash Frequency: [40Mhz]
CPU Frequency: [80Mhz]
Upload Using: [SERIAL]
Upload Speed: [921600]
Problem Description
I'm using a sketch that was originally written for WiFi_STA, in WiFi_AP mode. This is the "webinterface" example from the "ws2812fx" library. Now the problem is that it works but after a short time the connection breaks and then takes 2-3 minutes until the ESP does a reset by itself with the message "Exception 29".
I have tried this with the "ESP Exception Decoder" tool to find out why the ESP is doing this and where exactly the error is. Unfortunately without success, but many references go to "core_esp8266_main.cpp" I have attached my error output, can someone tell me a little more about what could be the cause? The sketch also includes an "index.html.cpp" and "main.js.cpp" file. You can simply load this via the example and then insert my sketch into the original.
I also asked by "ws2812fx", but got no answer except for "AP_Mode" which seems to be very unstable. (OHH really?)
Exception 29: StoreProhibited: A store referenced a page mapped with an attribute that does not permit stores
PC: 0x4000e1c3
EXCVADDR: 0x00000018
Decoding stack results
0x4021b328: ip4_output_if_opt_src at core/ipv4/ip4.c line 1764
0x40100a14: malloc(size_t) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\umm_malloc\umm_malloc.cpp line 552
0x40100c72: calloc(size_t, size_t) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\umm_malloc\umm_malloc.cpp line 908
0x40100c64: calloc(size_t, size_t) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\umm_malloc\umm_malloc.cpp line 902
0x402092e0: loop_wrapper() at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 189
0x40213269: sys_timeout_abs at core/timeouts.c line 189
0x4020915c: loop_task(ETSEvent*) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 205
0x401001f8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 177
0x401001f8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 177
0x40211ab1: glue2esp_linkoutput at glue-esp/lwip-esp.c line 301
0x4021183b: _svfprintf_r at /home/earle/src/esp-quick-toolchain/repo/newlib/newlib/libc/stdio/nano-vfprintf.c line 667
0x4020b48c: String::setLen(int) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266/WString.h line 304
0x40211d3e: new_linkoutput at glue-lwip/lwip-git.c line 260
0x4021215c: ethernet_output at netif/ethernet.c line 312
0x402198e0: etharp_output_to_arp_index at core/ipv4/etharp.c line 770
0x4010075b: umm_free_core(void*) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\umm_malloc\umm_malloc.cpp line 351
0x40100a14: malloc(size_t) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\umm_malloc\umm_malloc.cpp line 552
0x4021be20: mem_malloc at core/mem.c line 210
0x40216759: tcp_create_segment at core/tcp_out.c line 190
0x401001f8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 177
0x40211ab1: glue2esp_linkoutput at glue-esp/lwip-esp.c line 301
0x401001f8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 177
0x401001f8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 177
0x401001f8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 177
0x401001f8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 177
0x401001f8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 177
0x401001f8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 177
0x40100277: millis() at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_wiring.cpp line 185
0x40100274: millis() at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_wiring.cpp line 185
0x402092ec: loop_wrapper() at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 192
0x402092ec: loop_wrapper() at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 192
0x401002a4: millis() at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_wiring.cpp line 188
0x40205902: WiFiServer::available(unsigned char*) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\libraries\ESP8266WiFi\src\WiFiServer.cpp line 140
0x40205b1e: WS2812FX::service() at C:\Users\Devilscave\Documents\Arduino\libraries\WS2812FX\src\WS2812FX.cpp line 72
0x4020aea8: std::_Function_handler ::_M_invoke(std::_Any_data const&) at c:\users\devilscave\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506\xtensa-lx106-elf\include\c++\4.8.2/functional line 2069
0x401001f8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 177
0x40100219: esp_schedule() at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 125
0x40209309: loop_wrapper() at C:\Users\Devilscave\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\cores\esp8266\core_esp8266_main.cpp line 199
The text was updated successfully, but these errors were encountered:
Looks to me like the stack blew up, but I don't know the built-in WiFi libraries well enough to know whether your example is valid.
Your MCVE shouldn't include third-party libraries, as that only muddies the waters.
edit: The only test I've done with the webserver code was in station mode (not AP), so I don't have experience with your issue. The example I tried worked OK without going down in flames, and it ran for several hours: https://circuits4you.com/2019/03/28/esp8266-iot-rgb-led-strip-mood-lamp-controller/ (the 'Mood-Lamp' one)
That's for strip LEDs, not the individually-addressable ones, so I didn't need a ws2812 library.
The MCVE you attached isn't possible for others to use, @Devilscave , as @Tech-TX said. We need MCVEs without external dependencies so the team can actually run them.
Your problem is most likely an Out of Memory (OOM) error because your code is . Enable all the debug options in the IDE and you'll get more info, including a note where the OOM happened. The EXCADDR of 0x18 means some structure was attempted to be allocated, got a NULL, and then the app ignore the NULL and tried to access a field in the structure at offset NULL+0x18.
Also you should at least upgrade to 2.7.4 from 2.7.2 because there were several important fixes.
#7384 # Basic Infos
Platform
Settings in IDE
Problem Description
I'm using a sketch that was originally written for WiFi_STA, in WiFi_AP mode. This is the "webinterface" example from the "ws2812fx" library. Now the problem is that it works but after a short time the connection breaks and then takes 2-3 minutes until the ESP does a reset by itself with the message "Exception 29".
I have tried this with the "ESP Exception Decoder" tool to find out why the ESP is doing this and where exactly the error is. Unfortunately without success, but many references go to "core_esp8266_main.cpp" I have attached my error output, can someone tell me a little more about what could be the cause? The sketch also includes an "index.html.cpp" and "main.js.cpp" file. You can simply load this via the example and then insert my sketch into the original.
I also asked by "ws2812fx", but got no answer except for "AP_Mode" which seems to be very unstable. (OHH really?)
MCVE Sketch
Debug Messages
The text was updated successfully, but these errors were encountered: