esp8266 / Arduino

ESP8266 core for Arduino
GNU Lesser General Public License v2.1
16.03k stars 13.33k forks source link

tcp client(or https client) will stuck when freeheap is low #5621

Open i3water opened 5 years ago

i3water commented 5 years ago

Basic Infos

Platform

Settings in IDE

Problem Description

I use BearSSL::WiFiClientSecure client to build a MQTT client and a HTTPS client in my project, it will stuck some time when the client connect to server url, but the codes may not Abort called at once.I set a ticker run every 3s to test, when the codes stuck, the ticker may run a long time. I rewrite the BasicHTTPSClient to descrip this bug, when the freeheap is low the tcp client or http client will stuck. But the WDT or softWDT still run for a minutes or a long time.

MCVE Sketch

/**
   BasicHTTPSClient.ino

    Created on: 20.08.2018

*/

#include <Arduino.h>

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>

#include <ESP8266HTTPClient.h>

#include <WiFiClientSecureBearSSL.h>
// Fingerprint for demo URL, expires on June 2, 2019, needs to be updated well before this date
const uint8_t fingerprint[20] = {0x5A, 0xCF, 0xFE, 0xF0, 0xF1, 0xA6, 0xF4, 0x5F, 0xD2, 0x11, 0x11, 0xC6, 0x1D, 0x2F, 0x0E, 0xBC, 0x39, 0x8D, 0x50, 0xE0};

ESP8266WiFiMulti WiFiMulti;

#include <Ticker.h>

Ticker flipper;

uint32_t buff_num = 4800;
uint32_t test[4800];

void checkHeap() {
  Serial.print("heap: ");
  Serial.println(ESP.getFreeHeap());
}

void setup() {
  for(uint32_t num = 0; num < buff_num; num++)
  {
    test[num] = 0xFFFFFFFF;
  }

  Serial.begin(115200);
  // Serial.setDebugOutput(true);

  Serial.println();
  Serial.println();
  Serial.println();

  for (uint8_t t = 4; t > 0; t--) {
    Serial.printf("[SETUP] WAIT %d...\n", t);
    Serial.flush();
    delay(1000);
  }

  WiFi.mode(WIFI_STA);
  WiFi.begin();

  flipper.attach(3, checkHeap);
  //WiFiMulti.addAP("i3phone,19900924");  
}

void loop() {
  // wait for WiFi connection
  if ((WiFi.status() == WL_CONNECTED)) {

    std::unique_ptr<BearSSL::WiFiClientSecure>client(new BearSSL::WiFiClientSecure);

    //client->setFingerprint(fingerprint);
    client->setInsecure();

    HTTPClient https;

    Serial.print("[HTTPS] begin...\n");

    checkHeap();

    if (https.begin(*client, "https://jigsaw.w3.org/HTTP/connection.html")) {  // HTTPS

      Serial.print("[HTTPS] GET...\n");
      // start connection and send HTTP header
      int httpCode = https.GET();

      // httpCode will be negative on error
      if (httpCode > 0) {
        // HTTP header has been send and Server response header has been handled
        Serial.printf("[HTTPS] GET... code: %d\n", httpCode);

        // file found at server
        if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
          String payload = https.getString();
          Serial.println(payload);
        }
      } else {
        Serial.printf("[HTTPS] GET... failed, error: %s\n", https.errorToString(httpCode).c_str());
      }

      https.end();
    } else {
      Serial.printf("[HTTPS] Unable to connect\n");
    }
  }

  Serial.println("Wait 5s before next round...");
  delay(5000);
}

Debug Messages

SDK:3.0.0-dev(c0f7b44)/Core:win-2.5.0-dev=-195000/lwIP:STABLE-2_1_2_RELEASE/glue:1.0-11-g87c709d/BearSSL:79edbc8

[SETUP] WAIT 4...
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 8
cnt 

connected with 有没有wifi, channel 1
dhcp client start...
ip:192.168.0.111,mask:255.255.255.0,gw:192.168.0.1
[SETUP] WAIT 3...
[SETUP] WAIT 2...
[SETUP] WAIT 1...
Wait 5s before next round...
scandone
heap: 30240
[HTTPS] begin...
heap: 24216
[HTTPS] GET...
:oom(608)@?
:oom(608)@?
:oom(608)@?
:oom(608)@?
heap: 784
:oom(608)@?
pm open,type:2 0
:oom(608)@?
:oom(76)@?
:oom(84)@?
:oom(608)@?
heap: 264
:oom(96)@?
:oom(96)@?
:oom(608)@?
heap: 264
:oom(96)@?
:oom(96)@?
heap: 264
:oom(96)@?
:oom(164)@?
:oom(96)@?
heap: 264
:oom(96)@?
:oom(96)@?
:oom(96)@?
heap: 264
heap: 264
heap: 264
:oom(96)@?
:oom(96)@?
:oom(96)@?
heap: 264
:oom(96)@?
:oom(96)@?
heap: 264
:oom(96)@?
heap: 264
:oom(164)@?
heap: 264
heap: 264
heap: 264
heap: 264
heap: 264
:oom(96)@?
:oom(96)@?
:oom(96)@?
heap: 264
:oom(164)@?
heap: 264
:oom(96)@?
:oom(96)@?
:oom(96)@?
heap: 264
heap: 264

after hours

Soft WDT reset

>>>stack>>>

ctx: sys
sp: 3fffece0 end: 3fffffb0 offset: 01b0
3fffee90:  00000000 3ffee3f0 3fff4a04 40202eab  
3fffeea0:  242137c3 000b335b 3fff4a04 402045e7  
3fffeeb0:  00000002 3ffee4c0 00000028 4023cb10  
3fffeec0:  3ffea2ea 00000002 3ffee3f0 3ffea2ee  
3fffeed0:  40242362 00000100 3ffea2e2 3ffee868  
3fffeee0:  3fffdc10 00000000 3fff4a04 402046bf  
3fffeef0:  0000003c 3fff4aec 3fff4a04 40203095  
3fffef00:  0000001e 3fff4aec 3fff4a04 4020458b  
3fffef10:  3ffecc50 3fff4aec 3fff4a04 40203934  
3fffef20:  3ffecc50 40100ed7 3fff4aec 40202c44  
3fffef30:  40100f12 00000000 00000002 3ffee868  
3fffef40:  3fffdc10 00000000 3fff4aec 4024aa1c  
3fffef50:  40000f49 3fffdab0 3fffdab0 40000f49  
3fffef60:  40000e19 40001878 00000004 00000000  
3fffef70:  3fffff10 aa55aa55 00000007 40104a84  
3fffef80:  40104a8a 00000004 00000000 fd07c24c  
3fffef90:  4010000d 100359d8 c85ab83e f8cfaa18  
3fffefa0:  40100d3c 3fffef3c 40100ce9 3ffffd68  
3fffefb0:  3fffffc0 00000000 00000000 feefeffe  
3fffefc0:  feefeffe feefeffe feefeffe feefeffe  
3fffefd0:  feefeffe feefeffe feefeffe feefeffe  
3fffefe0:  feefeffe feefeffe feefeffe feefeffe  
3fffeff0:  feefeffe feefeffe feefeffe feefeffe  
3ffff000:  feefeffe feefeffe feefeffe feefeffe  
3ffff010:  feefeffe feefeffe feefeffe feefeffe  
3ffff020:  feefeffe feefeffe feefeffe feefeffe  
3ffff030:  feefeffe feefeffe feefeffe feefeffe  
3ffff040:  feefeffe feefeffe feefeffe feefeffe  
3ffff050:  feefeffe feefeffe feefeffe feefeffe  
3ffff060:  feefeffe feefeffe feefeffe feefeffe  
3ffff070:  feefeffe feefeffe feefeffe feefeffe  
3ffff080:  feefeffe feefeffe feefeffe feefeffe  
3ffff090:  feefeffe feefeffe feefeffe feefeffe  
3ffff0a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff0b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff0c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff0d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff0e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff0f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff100:  feefeffe feefeffe feefeffe feefeffe  
3ffff110:  feefeffe feefeffe feefeffe feefeffe  
3ffff120:  feefeffe feefeffe feefeffe feefeffe  
3ffff130:  feefeffe feefeffe feefeffe feefeffe  
3ffff140:  feefeffe feefeffe feefeffe feefeffe  
3ffff150:  feefeffe feefeffe feefeffe feefeffe  
3ffff160:  feefeffe feefeffe feefeffe feefeffe  
3ffff170:  feefeffe feefeffe feefeffe feefeffe  
3ffff180:  feefeffe feefeffe feefeffe feefeffe  
3ffff190:  feefeffe feefeffe feefeffe feefeffe  
3ffff1a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff1b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff1c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff1d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff1e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff1f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff200:  feefeffe feefeffe feefeffe feefeffe  
3ffff210:  feefeffe feefeffe feefeffe feefeffe  
3ffff220:  feefeffe feefeffe feefeffe feefeffe  
3ffff230:  feefeffe feefeffe feefeffe feefeffe  
3ffff240:  feefeffe feefeffe feefeffe feefeffe  
3ffff250:  feefeffe feefeffe feefeffe feefeffe  
3ffff260:  feefeffe feefeffe feefeffe feefeffe  
3ffff270:  feefeffe feefeffe feefeffe feefeffe  
3ffff280:  feefeffe feefeffe feefeffe feefeffe  
3ffff290:  feefeffe feefeffe feefeffe feefeffe  
3ffff2a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff2b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff2c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff2d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff2e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff2f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff300:  feefeffe feefeffe feefeffe feefeffe  
3ffff310:  feefeffe feefeffe feefeffe feefeffe  
3ffff320:  feefeffe feefeffe feefeffe feefeffe  
3ffff330:  feefeffe feefeffe feefeffe feefeffe  
3ffff340:  feefeffe feefeffe feefeffe feefeffe  
3ffff350:  feefeffe feefeffe feefeffe feefeffe  
3ffff360:  feefeffe feefeffe feefeffe feefeffe  
3ffff370:  feefeffe feefeffe feefeffe feefeffe  
3ffff380:  feefeffe feefeffe feefeffe feefeffe  
3ffff390:  feefeffe feefeffe feefeffe feefeffe  
3ffff3a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff3b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff3c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff3d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff3e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff3f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff400:  feefeffe feefeffe feefeffe feefeffe  
3ffff410:  feefeffe feefeffe feefeffe feefeffe  
3ffff420:  feefeffe feefeffe feefeffe feefeffe  
3ffff430:  feefeffe feefeffe feefeffe feefeffe  
3ffff440:  feefeffe feefeffe feefeffe feefeffe  
3ffff450:  feefeffe feefeffe feefeffe feefeffe  
3ffff460:  feefeffe feefeffe feefeffe feefeffe  
3ffff470:  feefeffe feefeffe feefeffe feefeffe  
3ffff480:  feefeffe feefeffe feefeffe feefeffe  
3ffff490:  feefeffe feefeffe feefeffe feefeffe  
3ffff4a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff4b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff4c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff4d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff4e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff4f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff500:  feefeffe feefeffe feefeffe feefeffe  
3ffff510:  feefeffe feefeffe feefeffe feefeffe  
3ffff520:  feefeffe feefeffe feefeffe feefeffe  
3ffff530:  feefeffe feefeffe feefeffe feefeffe  
3ffff540:  feefeffe feefeffe feefeffe feefeffe  
3ffff550:  feefeffe feefeffe feefeffe feefeffe  
3ffff560:  feefeffe feefeffe feefeffe feefeffe  
3ffff570:  7c53ecfb afe533a1 bff42ea9 d4fb3cde  
3ffff580:  e5261c91 b20e54a8 1ee3ab92 b5ec48ee  
3ffff590:  5c5c5c5c 5c5c5c5c 5c5c5c5c 5c5c5c5c  
3ffff5a0:  5c5c5c5c 5c5c5c5c 5c5c5c5c 5c5c5c5c  
3ffff5b0:  98ae03f3 011f4524 45f344a3 33d95799  
3ffff5c0:  de672a42 5ca33063 c58cb21a f0e95e0e  
3ffff5d0:  d11f1eff cb6e6161 a0ee2d84 db95b204  
3ffff5e0:  307eb0c4 3581466e 7fe0602a 2e4bb1ce  
3ffff5f0:  3994c3d1 f0001209 7d20aa19 c4b26ae6  
3ffff600:  556f4112 565e6526 9115e4f9 4adec201  
3ffff610:  528a530e 981e78ce 47d785ab 46bbb30e  
3ffff620:  294b369d 4199598d 3930b296 265cf5df  
3ffff630:  a3066855 3547ff03 fdaeca5a 94f301d5  
3ffff640:  80000000 00000000 00000000 00000000  
3ffff650:  00000000 00000000 00000000 00000300  
3ffff660:  6e1e8081 4b6b5308 516cbec9 0f889506  
3ffff670:  6ab2ff58 a6405ec7 97cf450f 38a45a55  
3ffff680:  156f1dd7 f7dad119 7cdcc8e3 00000080  
3ffff690:  03030000 010000d1 8fcff182 000093f7  
3ffff6a0:  cf415a05 4f043e8c a838bb3c e9d391fb  
3ffff6b0:  f7f90000 95a4d190 a8c02bc0 5acca9cc  
3ffff6c0:  30c0acc0 2fc02cc0 afc023c0 adc0aec0  
3ffff6d0:  28c009c0 27c024c0 14c02dc0 13c00ac0  
3ffff6e0:  32c025c0 31c02ec0 2ac004c0 29c026c0  
3ffff6f0:  0f009c00 0ec005c0 9dc0a0c0 9dc09cc0  
3ffff700:  3d002f00 a1003c00 12c003c0 35c008c0  
3ffff710:  e6b055ac a62648b2 4cd4a284 82c31659  
3ffff720:  09f3a3fd fbb76a0e e37b5170 c4434c41  
3ffff730:  324e06ba cb18a21c b3d0cd01 1e82b398  
3ffff740:  508b8d89 97d4771e 94c3fbac 153eff5c  
3ffff750:  33ef8b45 41a55c6d 83926461 bf004f9f  
3ffff760:  eb98fc17 c7e2ac39 100df60c b2be55ed  
3ffff770:  c10638bf e010dca1 0ba56bf6 b0f1f28c  
3ffff780:  afbd51cd 550eda54 3e77d49b 9e913962  
3ffff790:  ac20d58c 2d28a9d6 abbc9ff5 58de2b72  
3ffff7a0:  7c26ba07 35238da6 3417b427 d79229ef  
3ffff7b0:  37a10fdc 88f57862 c792928c 002fd22f  
3ffff7c0:  d9bad82d 4179751e e957ed4f 7aa79938  
3ffff7d0:  d90da113 ab90940c 19e71e5b 135d0826  
3ffff7e0:  c8704292 de065576 40cac99b 034a8500  
3ffff7f0:  6c743224 8b038346 e784231e 9d4e486e  
3ffff800:  5d073dae 021628e6 941c55ee 5169a47f  
3ffff810:  3c7bb867 91190995 b30145fa d568726f  
3ffff820:  fe67f0c3 03a08fe0 86a027ea 7d22b908  
3ffff830:  13e13802 956df77f b48c22d0 7be1392a  
3ffff840:  8910e333 13f99c5e c957dcb9 2db1e155  
3ffff850:  f4111852 d779d081 3960c43d aa0da0e9  
3ffff860:  0cfd5e88 1162e531 2d390cb2 4317c632  
3ffff870:  e16a1383 78695391 ceb461e9 987939c2  
3ffff880:  d7b830e8 76eac9db 03484658 24b83ed0  
3ffff890:  6ad63b4e 7d831744 7bc508a3 573810ed  
3ffff8a0:  ac6f00d6 45560b30 daa9f8f6 581d680f  
3ffff8b0:  68e0ce36 e723ba23 7a7c2f78 ac2ac66f  
3ffff8c0:  652adf57 8ba780cf e3083b3f ca03e8b2  
3ffff8d0:  fcada1ab 1da31111 6a17132d c4373547  
3ffff8e0:  e950a915 562a9013 8468bb3d 2ac460fa  
3ffff8f0:  d312a675 ee56b1c6 00cf3ced 39fec959  
3ffff900:  82440b61 b0e2f2f5 b51c4b70 db2e7550  
3ffff910:  e2bfe0e4 cc8f687c 40256860 3a97c5af  
3ffff920:  3ffff918 92201c7b a595e7a0 417ae970  
3ffff930:  7eb9b0f7 33bb3dec 0f4c1e34 37c0e014  
3ffff940:  ca9aea21 0ddd15e6 e2bfe3e4 194d1db5  
3ffff950:  11842d29 de38b1d8 a716a7a2 ca9aea21  
3ffff960:  0f4c1e34 a716a7a2 7eb9b0f7 0ddd15e6  
3ffff970:  3ffffab0 92201c7b cc8f687c a595e7a0  
3ffff980:  de38b1d8 33bb3dec f3bcc908 6a09e667  
3ffff990:  84caa73b bb67ae85 fe94f82b 3c6ef372  
3ffff9a0:  5f1d36f1 a54ff53a ade682d1 510e527f  
3ffff9b0:  2b3e6c1f 9b05688c fb41bd6b 1f83d9ab  
3ffff9c0:  137e2179 5be0cd19 748f82ee 3b9b82b7  
3ffff9d0:  d8ec7048 4d277184 748f82ee 00000000  
3ffff9e0:  3fff6f3c 00000080 00000080 4021c560  
3ffff9f0:  3ffffa20 3ffffab0 3ffffaa0 4021cdcb  
3ffffa00:  bb7da562 f30b1b1d d301166f 3ffffa20  
3ffffa10:  402565a4 00000006 3fff6ebc 4022953d  
3ffffa20:  00000080 d1000001 00000303 f7930000  
3ffffa30:  82f1cf8f 8c3e044f 055a41cf fb91d3e9  
3ffffa40:  3cbb38a8 90d1a495 0000f9f7 cca9cc5a  
3ffffa50:  c02bc0a8 c02cc02f c0acc030 c0aec0ad  
3ffffa60:  c023c0af c024c027 c009c028 c00ac013  
3ffffa70:  c02dc014 c02ec031 c025c032 c026c029  
3ffffa80:  c004c02a c005c00e 009c000f c09cc09d  
3ffffa90:  c0a0c09d 003c00a1 002f003d c008c035  
3ffffaa0:  c003c012 bb7da562 00000080 00000000  
3ffffab0:  2e548eb7 ab84cfd8 678a8b1f ccebdbaf  
3ffffac0:  7d4ea922 4a4c0959 2bac9f6d d90b3327  
3ffffad0:  40069f4c 88cf3294 448b89d4 65a052ad  
3ffffae0:  0a8ddb9f c69a814e b9140919 3a197ef1  
3ffffaf0:  00000000 3ffffb41 3fff702c 3fff6fec  
3ffffb00:  000000da 402568e0 3fff6864 0000001c  
3ffffb10:  10e53b97 e261bb56 4024071f 00000001  
3ffffb20:  00000000 00000000 0000001f 4010525d  
3ffffb30:  4000050c 3ffecb10 3fff4074 00000001  
3ffffb40:  40102224 00000030 0000001f fffffffe  
3ffffb50:  00000000 00000000 0000001f 4010525d  
3ffffb60:  4000050c 059ad22a 00007fff 0000012b  
3ffffb70:  40104662 00000030 0000001f fffffffe  
3ffffb80:  4010464e 00000001 00000000 00000001  
3ffffb90:  00000000 00004145 00000000 fffffffe  
3ffffba0:  ffffffff 3fffc6fc 00030000 00080000  
3ffffbb0:  000005e0 00000000 40103785 3ffed520  
3ffffbc0:  0000003c 00000000 3ffe93a5 000000fd  
3ffffbd0:  00000000 00000000 00000020 40101576  
3ffffbe0:  00000005 00000000 00000020 40101576  
3ffffbf0:  3ffe93a5 4010497b 3ffece08 40101576  
3ffffc00:  00000005 00000000 00000020 40101576  
3ffffc10:  3ffe93a5 4010497b 3ffece08 40102462  
3ffffc20:  40102291 3ffece08 3ffed520 40102462  
3ffffc30:  0000001f 24c1f524 3ffed800 40102462  
3ffffc40:  3ffe9c2c 00000000 00000000 00000001  
3ffffc50:  0000001f 24c1f524 401028a2 00000100  
3ffffc60:  7fffffff 3ffe9c2c 3ffe9c2c 00000001  
3ffffc70:  00000001 00004288 00040000 00000022  
3ffffc80:  00000000 24c1f524 00000000 4000050c  
3ffffc90:  3fffc278 4010263c 3fffc200 00000022  
3ffffca0:  3ffe9c38 00000030 0000001e ffffffff  
3ffffcb0:  40202eae 00000030 00000010 ffffffff  
3ffffcc0:  40202eab 00000000 24c1fc08 00000000  
3ffffcd0:  00000005 00004145 00000000 fffffffe  
3ffffce0:  ffffffff 3fffc6fc 00000001 3fff4a04  
3ffffcf0:  074ca475 00000008 00000001 00000030  
3ffffd00:  074c97e7 00000008 00000001 00000030  
3ffffd10:  00000000 00000000 3fff62c4 40215d02  
3ffffd20:  00000000 4bc6a7f0 7ced9168 00000000  
3ffffd30:  00000000 00000000 4bc6a7f0 00000000  
3ffffd40:  3fff39bc 00000153 00000153 4010054c  
3ffffd50:  000000da 00000000 3fff4974 40100ca0  
3ffffd60:  002a7428 00000000 3ffe850c 074ca482  
3ffffd70:  00000008 00000001 40207c8c 3fffefa0  
3ffffd80:  00000008 00000001 00000064 40207d6a  
3ffffd90:  00000020 402568e0 00000064 40207dad  
3ffffda0:  00000000 00000000 3fff4a04 40202eab  
3ffffdb0:  00000008 074ca482 3fff4a04 40204642  
3ffffdc0:  000000da 00000005 0bbef1cd 00000000  
3ffffdd0:  4021ec08 4021ebb0 3fff63ac 4021e6be  
3ffffde0:  3fff68ac 3fff489c 3fff63ac 00000000  
3ffffdf0:  00000001 00000001 3fff4a04 40204874  
3ffffe00:  00000001 3fff489c 3fff4a04 40204a57  
3ffffe10:  00000000 3ffffe70 40207c8c 3fffefa0  
3ffffe20:  00000000 00000000 00000000 4020157b  
3ffffe30:  00000d50 3fff47a4 3fff4a04 402038c1  
3ffffe40:  000001bb 00000010 3ffffe94 00000000  
3ffffe50:  000001bb 3fff4a04 3fff489c 00000000  
3ffffe60:  000001bb 3fff4a04 3fff489c 40204b1e  
3ffffe70:  40208870 15341e80 3fffff10 402083c0  
3ffffe80:  00000001 3fff4a04 3fffff10 40205c6c  
3ffffe90:  3fffff88 00000001 3fff4ac4 40100ca0  
3ffffea0:  3fff4acc 00000000 3fffff10 40206454  
3ffffeb0:  3ffe8599 00000030 3fffff10 3fff393c  
3ffffec0:  00000001 3fff4a04 3fff3820 40206a10  
3ffffed0:  3ffe88cc 3fff4a04 3fff479c 40206ced  
3ffffee0:  3ffe85c4 00000000 3fffff88 3fff393c  
3ffffef0:  00000001 3fff4a04 3fff3820 40206502  
3fffff00:  3fffdad0 3fff4a04 3fff3820 40202971  
3fffff10:  00000000 00000000 3fff4a04 3fff489c  
3fffff20:  0000000f 0000000d 400001bb 3f001388  
3fffff30:  3fff6294 0000001f 00000015 3fff499c  
3fffff40:  0000000f 00000005 3fff4814 0000000f  
3fffff50:  00000000 3fff4834 0000001f 00000011  
3fffff60:  3fff4784 0000000f 00000000 00000000  
3fffff70:  00000000 00000000 ffffffff 00000000  
3fffff80:  00000000 00000000 00000000 00000000  
3fffff90:  00000000 00000000 00000001 40207cad  
3fffffa0:  3fffdad0 00000000 3fff390c 40207d38  
<<<stack<<<

last failed alloc call: 40201A94(324)

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

other log

connected with 有没有wifi, channel 1
dhcp client start...
ip:192.168.0.111,mask:255.255.255.0,gw:192.168.0.1
[SETUP] WAIT 3...
[SETUP] WAIT 2...
[SETUP] WAIT 1...
Wait 5s before next round...
scandone
heap: 29840
[HTTPS] begin...
heap: 22232
[HTTPS] GET...
heap: 1248
:oom(500)@pm.c:887
pm_err,flash_tmp alloc fail
:oom(608)@?
:oom(608)@?
:oom(608)@?
:oom(608)@?
:oom(608)@?
:oom(608)@?
heap: 552
:oom(608)@?
:oom(608)@?
:oom(608)@?
heap: 592
:oom(608)@?
heap: 592

after 3 hours, and not abort called 
d-a-v commented 5 years ago

Thanks You removed your logs that were useful, even more if you decode the (removed) stack trace and also enable OOM(OutOfMemory) debug option before running your sketch.

i3water commented 5 years ago

Thanks You removed your logs that were useful, even more if you decode the (removed) stack trace and also enable OOM(OutOfMemory) debug option before running your sketch.

Thanks, I think the logs not same as I descrip, so I removed it. I will enable OOM debug and hope will get more useful logs.

i3water commented 5 years ago

@d-a-v Hi, dear d-a-v, I update the example codes, this codes can stuck and will not Abort called for a long time(may hous or days). Excuse me, is there some way to avoid stuck when there is low heap? I have set a function like below codes, but it will stuck some times. And with different version codes, the compare heaps is different.

if (ESP.getFreeHeap() < 4000) return;
jshankar494 commented 5 years ago

Board used:- ESP8266 - WeMos

Abort called

stack>>>

ctx: cont sp: 3ffffbb0 end: 3fffffc0 offset: 01b0 3ffffd60: 3fffdad0 00000001 3ffef4dc 3ffef60c
3ffffd70: 3fffdad0 00000001 3ffef4dc 3ffef60c
3ffffd80: 3ffef200 00000000 3ffef4dc 401004be
3ffffd90: feefeffe 00000000 3ffef4dc 40203fc4
3ffffda0: feefeffe feefeffe feefeffe feefeffe
3ffffdb0: feefeffe feefeffe feefeffe feefeffe
3ffffdc0: feefeffe feefeffe feefeffe feefeffe
3ffffdd0: feefeffe feefeffe feefeffe feefeffe
3ffffde0: feefeffe feefeffe feefeffe feefeffe
3ffffdf0: feefeffe feefeffe feefeffe feefeffe
3ffffe00: feefeffe feefeffe feefeffe feefeffe
3ffffe10: feefeffe feefeffe feefeffe feefeffe
3ffffe20: feefeffe feefeffe feefeffe feefeffe
3ffffe30: feefeffe feefeffe feefeffe feefeffe
3ffffe40: feefeffe feefeffe feefeffe feefeffe
3ffffe50: feefeffe feefeffe feefeffe feefeffe
3ffffe60: feefeffe feefeffe feefeffe feefeffe
3ffffe70: feefeffe feefeffe feefeffe feefeffe
3ffffe80: feefeffe feefeffe feefeffe feefeffe
3ffffe90: feefeffe feefeffe feefeffe feefeffe
3ffffea0: feefeffe feefeffe feefeffe feefeffe
3ffffeb0: feefeffe feefeffe feefeffe feefeffe
3ffffec0: feefeffe feefeffe feefeffe feefeffe
3ffffed0: feefeffe feefeffe feefeffe feefeffe
3ffffee0: feefeffe feefeffe feefeffe feefeffe
3ffffef0: feefeffe feefeffe feefeffe feefeffe
3fffff00: feefeffe feefeffe feefeffe feefeffe
3fffff10: feefeffe feefeffe feefeffe feefeffe
3fffff20: feefeffe feefeffe feefeffe feefeffe
3fffff30: feefeffe feefeffe feefeffe feefeffe
3fffff40: feefeffe feefeffe feefeffe feefeffe
3fffff50: feefeffe feefeffe feefeffe feefeffe
3fffff60: feefeffe feefeffe feefeffe feefeffe
3fffff70: feefeffe feefeffe feefeffe feefeffe
3fffff80: feefeffe feefeffe feefeffe feefeffe
3fffff90: feefeffe feefeffe feefeffe 3ffef60c
3fffffa0: 3fffdad0 00000000 3ffef5dc 4020c264
3fffffb0: feefeffe feefeffe 3ffe8570 401007a9
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16 tail 8 chksum 0x2d csum 0x2d vac02aff5 ~ld ISR not in IRAM!

Please help me to figure out the issue.

Thanks