-->
Page 1 of 1

OTA - ESPhttpUpdate crash

PostPosted: Mon Mar 21, 2016 6:22 am
by fgomes
Hi, I get the following crash when I try to update the node in my sketch, any idea of the cause? If a make a standalone sketch just to test the upgrade it (sort of) works, it doesn't crash and it works not immediatly after I program it to the node, but works after programming and reseting the node. I'm using the NodeMCU 0.9 configuration, with a custom board with an ESP12 module. Could it be a RAM issue, since it works with a simple sketch and not with this sketch?

Thanks in advance!

Fernando

Code:
Code: Select all  Serial.println("\nChecking if there is an updated firmware");
  t_httpUpdate_return ret = ESPhttpUpdate.update(upgradeFile);
  Serial.print("Update: ");
  Serial.println(ret);
  switch(ret) {
       case HTTP_UPDATE_FAILED:
          Serial.printf("HTTP_UPDATE_FAILD Error (%d): %s", ESPhttpUpdate.getLastError(), ESPhttpUpdate.getLastErrorString().c_str());
          break;

      case HTTP_UPDATE_NO_UPDATES:
          Serial.println("HTTP_UPDATE_NO_UPDATES");
          break;

      case HTTP_UPDATE_OK:
          Serial.println("HTTP_UPDATE_OK");
          break;
  }


Result:
Code: Select allChecking if there is an updated firmware

Exception (29):
epc1=0x40213f38 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

ctx: cont
sp: 3fff5420 end: 3fff5990 offset: 01a0

>>>stack>>>
3fff55c0:  3fff2b30 00057000 00000000 40213f31
3fff55d0:  3ffed0a4 00020000 3ffeca9c 3fff5aa4
3fff55e0:  00000000 00000000 3fff6138 40212d9c
3fff55f0:  00056df0 00000000 3fff6138 40212a0d
3fff5600:  00001000 00056df0 3fff5640 40214478
3fff5610:  3ffeca9c 00000000 3fff5680 00000001
3fff5620:  3fff5aa4 00056df0 3fff4874 402104eb
3fff5630:  3ffec0b0 00000000 000003e8 40214550
3fff5640:  3fff64f0 0000000f 00000000 4020fcd0
3fff5650:  3fff6138 3fff5aa4 3fff5680 3fff4970
3fff5660:  40210df0 001640c8 3fff6138 3fff59b8
3fff5670:  3fff6138 3fff4874 3fff56e0 402107ff
3fff5680:  3fff64d8 0000000f 00000000 400001e9
3fff5690:  00000000 00000000 3ffebb3c 40214348
3fff56a0:  00056df0 00000000 00000000 00000001
3fff56b0:  00400000 00000000 00000000 00000000
3fff56c0:  00000000 00000000 3fff56e0 3ffeca9c
3fff56d0:  00000001 3fff4874 3ffeca9c 402108e5
3fff56e0:  3fff6138 00000000 3fff5c00 0000000f
3fff56f0:  0000000f 00000050 3f011f40 3fff6198
3fff5700:  0000002f 00000020 3fff5900 3fff6018
3fff5710:  0000000f 00000000 3fff61d0 000000ef
3fff5720:  000000e6 3fff60f8 0000001f 00000013
3fff5730:  3fff60e0 0000000f 00000000 3fff6034
3fff5740:  00000001 000000c8 00056df0 40211800
3fff5750:  00000000 3fff365c 3fff59e0 40211809
3fff5760:  3fff5790 00000000 3fff59e0 40213a4c
3fff5770:  3fff59e0 3fff365c 3fff59e0 3ffe9118
3fff5780:  0000003e 3fff365c 3fff59e0 40207cda
3fff5790:  70747468 632f2f3a 72746e6f 65726c6f
3fff57a0:  632e6564 702f6d6f 6163646f 502f7473
3fff57b0:  6163646f 70537473 656b6165 632e3172
3fff57c0:  622e7070 fe006e69 feefeffe feefeffe
3fff57d0:  feefeffe feefeffe feefeffe feefeffe
3fff57e0:  feefeffe feefeffe feefeffe feefeffe
3fff57f0:  feefeffe feefeffe feefeffe feefeffe
3fff5800:  feefeffe feefeffe feefeffe feefeffe
3fff5810:  feefeffe feefeffe feefeffe feefeffe
3fff5820:  feefeffe feefeffe feefeffe feefeffe
3fff5830:  feefeffe feefeffe feefeffe feefeffe
3fff5840:  feefeffe feefeffe feefeffe feefeffe
3fff5850:  feefeffe feefeffe feefeffe feefeffe
3fff5860:  feefeffe feefeffe feefeffe feefeffe
3fff5870:  feefeffe feefeffe feefeffe feefeffe
3fff5880:  feefeffe feefeffe feefeffe feefeffe
3fff5890:  00000000 00000000 3ffeb644 00000000
3fff58a0:  3fff67b8 0000000f 00000000 3fff67d0
3fff58b0:  0000000f 00000000 00000000 00000000
3fff58c0:  00000000 3ffebe78 00000000 3ffebe78
3fff58d0:  00000000 3ffebe78 00000000 3ffebe78
3fff58e0:  00000000 3ffebe78 00000000 3ffebe78
3fff58f0:  00000000 00000000 ffffffff feef0000
3fff5900:  00000000 fe01ef35 00000000 00000000
3fff5910:  feefeffe feefeffe feefeffe feefeffe
3fff5920:  feefeffe feefeffe feefeffe feefeffe
3fff5930:  feefeffe feefeffe feefeffe feefeffe
3fff5940:  feefeffe feefeffe feefeffe feefeffe
3fff5950:  feefeffe feefeffe feefeffe feefeffe
3fff5960:  feefeffe feefeffe feefeffe 3fff4964
3fff5970:  3fffdad0 00000000 3fff495c 40210c54
3fff5980:  feefeffe feefeffe 3fff4970 40100114
<<<stack<<<

 ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x4010f000, len 1264, room 16
tail 0
chksum 0x42
csum 0x42
~ld

Re: OTA - ESPhttpUpdate crash

PostPosted: Tue Mar 22, 2016 6:12 am
by fgomes
Answering to my question, might be useful to others, if I move the update code to the start of the sketch it seems to work, so it seems that it is a RAM issue, the ESPhttpUpdate class might need some memory error handling in order to avoid the system crash without any additional information. Currently I am calling it after initializing another class that uses some 'large' RAM buffers, so it might not leave enough RAM for the ESPhttpUpdate.

Best regards

Fernando

Re: OTA - ESPhttpUpdate crash

PostPosted: Fri Sep 09, 2016 6:24 am
by Vamshi253
Hello Fernando,

Thanks for the post.

Thanks for providing the "ESP8266 WeatherStation Getting started" book.

At this moment I am engaged in developing the ESP8266 module which measures temperature and humidity.

Concerning Over The Air (OTA) update , I need to do it using HTTP Server.

But I cannot be able to find much resources in detailed on the internet.

Could you help me regarding this?