ESP8266 Developer Zone The Official ESP8266 Forum 2019-03-08T00:28:52+08:00 https://bbs.espressif.com:443/feed.php?f=7&t=26701 2019-03-08T00:28:52+08:00 2019-03-08T00:28:52+08:00 https://bbs.espressif.com:443/viewtopic.php?t=26701&p=38437#p38437 <![CDATA[Re: WDT kicked off by OS_PRINTF]]> Statistics: Posted by AgentSmithers — Fri Mar 08, 2019 12:28 am


]]>
2019-03-06T02:43:44+08:00 2019-03-06T02:43:44+08:00 https://bbs.espressif.com:443/viewtopic.php?t=26701&p=38365#p38365 <![CDATA[Re: WDT kicked off by OS_PRINTF]]>
4 0x702e0
20 0x7028c
40 0x7025c
1000 0x70058

As you can see the crashes are happening closer and closer to 0x70000 due to a memory issue and not a WDT. When PrintF gets invoked the internal system may be trying to allocate space to interpret the string passed and fails to do so, hangs, then the WDT kicks in giving a red herring that a timing issue is in play. The crapping thing is Get Free Heap is displaying 21456 the same number each time I call it within the nested function. I seem to be running out of memory but there are no system calls that I seem to know/have that can indicate how much I actually have left at runtime. Any feedback would be appreciated

PostScript: Anyone knows how to get our Stacksize for Local Var memory allocation, The Heap is for Global Vars correct? so the Heap technically should not adjust in this case but the stack should?

Statistics: Posted by AgentSmithers — Wed Mar 06, 2019 2:43 am


]]>
2019-03-05T07:45:19+08:00 2019-03-05T07:45:19+08:00 https://bbs.espressif.com:443/viewtopic.php?t=26701&p=38324#p38324 <![CDATA[WDT kicked off by OS_PRINTF]]>
Outlog



FreeHeap!: 21536
data : 0x3ffe8000 ~ 0x3ffe88a0, len: 2208
rodata: 0x3ffe88a0 ~ 0x3ffeebb0, len: 25360
bss : 0x3ffeebb0 ~ 0x3fff5be0, len: 28720
heap : 0x3fff5be0 ~ 0x3fffc000, len: 25632
[ReadSPItableCurrentElement] Reading @ 0x702b0
Completed and skipping 82
[ReadSPItableNextElement]
Binary len: 8
FreeHeap!: 21536
data : 0x3ffe8000 ~ 0x3ffe88a0, len: 2208
rodata: 0x3ffe88a0 ~ 0x3ffeebb0, len: 25360
bss : 0x3ffeebb0 ~ 0x3fff5be0, len: 28720
heap : 0x3fff5be0 ~ 0x3fffc000, len: 25632
[ReadSPItableCurrentElement] Reading @ 0x702bc
Completed and skipping 82
[ReadSPItableNextElement]
Binary len: 8
FreeHeap!: 21536
data : 0x3ffe8000 ~ 0x3ffe88a0, len: 2208
rodata: 0x3ffe88a0 ~ 0x3ffeebb0, len: 25360
bss : 0x3ffeebb0 ~ 0x3fff5be0, len: 28720
heap : 0x3fff5be0 ~ 0x3fffc000, len: 25632
[ReadSPItableCurrentElement] Reading @ 0x702c8
Completed and skipping 82
[ReadSPItableNextElement]
Binary len: 8
FreeHeap!: 21536
data : 0x3ffe8000 ~ 0x3ffe88a0, len: 2208
rodata: 0x3ffe88a0 ~ 0x3ffeebb0, len: 25360
bss : 0x3ffeebb0 ~ 0x3fff5be0, len: 28720
heap : 0x3fff5be0 ~ 0x3fffc000, len: 25632
[ReadSPItableCurrentElement] Reading @ 0x702d4
Completed and skipping 82
[ReadSPItableNextElement]
Binary len: 8
FreeHeap!: 21536
data : 0x3ffe8000 ~ 0x3ffe88a0, len: 2208
rodata: 0x3ffe88a0 ~ 0x3ffeebb0, len: 25360
bss : 0x3ffeebb0 ~ 0x3fff5be0, len: 28720
heap : 0x3fff5be0 ~ 0x3fffc000, len: 25632
[ReadSPItableCurrentElement] Reading @ 0x702e0
Completed and skipping 82
[ReadSPItableNextElement]
Binary len: 8
FreeHeap!: *After a moment HW WDT TRIGGERS on first OS_PRINTF


I even called ets_wdt_disable(); to disable the watch dog and it just sits and hangs on

os_printf("FreeHeap!: %u\r\n", system_get_free_heap_size());

This screams that its not a WDT issue from the normal perspective, It really makes me think it has to do with stack allocation. Howmany times I call one function into another.


[ReadSPItableNextElement]
[HowManyElementsInSPItable]
EOF! Returning 5
[ReadSPItableFirstElement]
[ReadSPItableCurrentElement] Reading @ 0x70004
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70010
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x7001c
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70028
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70034
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70040
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x7004c
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70058
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70064
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70070
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x7007c
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70088
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70094
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x700a0
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x700ac
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x700b8
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x700c4
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x700d0
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x700dc
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x700e8
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x700f4
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70100
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x7010c
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70118
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70124
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70130
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x7013c
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70148
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70154
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70160
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x7016c
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70178
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70184
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70190
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x7019c
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x701a8
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x701b4
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x701c0
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x701cc
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x701d8
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x701e4
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x701f0
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x701fc
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70208
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70214
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70220
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x7022c
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70238
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70244
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70250
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x7025c
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70268
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70274
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70280
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x7028c
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x70298
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x702a4
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x702b0
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x702bc
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x702c8
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x702d4
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x702e0
[ReadSPItableNextElement]
[ReadSPItableCurrentElement] Reading @ 0x


Even after it just sits there with the WDT disabled it never completes. Expected value it should of spit out was 0x702ec

Statistics: Posted by AgentSmithers — Tue Mar 05, 2019 7:45 am


]]>