ESP8266 Developer ZoneThe Official ESP8266 Forum2017-10-30T21:51:15+08:00https://bbs.espressif.com:443/feed.php?f=7&t=69952017-10-30T21:51:15+08:002017-10-30T21:51:15+08:00https://bbs.espressif.com:443/viewtopic.php?t=6995&p=17703#p17703You can trace evc1 and the instruction that caused the error by looking at the .S output listing of your application.
Statistics: Posted by Guest — Mon Oct 30, 2017 9:51 pm
]]>2017-10-21T04:06:56+08:002017-10-21T04:06:56+08:00https://bbs.espressif.com:443/viewtopic.php?t=6995&p=16549#p16549I have seen this many times when using different WebServer code. Simple stuff. Example from the net .... Stack trace says: Exception 29: StoreProhibited: A store referenced a page mapped with an attribute that does not permit stores Decoding 20 results 0x401024b4: trc_NeedRTS at ?? line ? 0x4020de89: ieee80211_alloc_proberesp at ?? line ? 0x4020ddc6: ieee80211_alloc_proberesp at ?? line ? 0x4020df24: ieee80211_send_proberesp at ?? line ? 0x401004f4: calloc at C:\Users\Ron\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\umm_malloc/umm_malloc.c line 1684 0x4020ac6f: hostap_input at ?? line ? 0x4020ab41: hostap_input at ?? line ? 0x4020322d: loop_task at C:\Users\Ron\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_main.cpp line 56 0x40106fb4: pvPortMalloc at C:\Users\Ron\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/heap.c line 13 0x40220000: dhcp_select at /Users/igrokhotkov/espressif/arduino/tools/sdk/lwip/src/core/dhcp.c line 290 0x402120e9: cnx_node_search at ?? line ? 0x4022565d: ip_input at /Users/igrokhotkov/espressif/arduino/tools/sdk/lwip/src/core/ipv4/ip.c line 559 0x4020a3d9: hostap_input at ?? line ? 0x4020544e: pp_tx_idle_timeout at ?? line ? 0x40204d93: ppPeocessRxPktHdr at ?? line ? 0x40203247: loop_task at C:\Users\Ron\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/core_esp8266_main.cpp line 56
NOTE ==== call to calloc and NULL pointer reference (excvaddr=0x00000018)
So I wrote a Windows batch file to just loop calling curl to retrieve a single simple web page from my ESP8266 NODEMCU and ... after 240 or so successful loops problems; no page returned or CRASH!!!
calloc() seems to be returning NULL, ieee80211_alloc_proberesp() is not checking or gets mixed up.
umm_malloc: probably has trashed the heap into small chunks over the 200+ previous packets and cannot allocate memory or there is a memory leak. (How do I debug umm_malloc?)
All is well on a ESP32S NodeMCU .... 100,000 loops and still working
Cheers, Ron
Statistics: Posted by Ron — Sat Oct 21, 2017 4:06 am