Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OTA update crash #21

Open
zekageri opened this issue Mar 3, 2023 · 0 comments
Open

OTA update crash #21

zekageri opened this issue Mar 3, 2023 · 0 comments

Comments

@zekageri
Copy link

zekageri commented Mar 3, 2023

[1650836][D][Updater.cpp:133] begin(): OTA Partition: app0
[1703354][E][Updater.cpp:284] end(): premature end: res:0, pos:1400832/1459824

Guru Meditation Error: Core  0 panic'ed (StoreProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x401141a9  PS      : 0x00060430  A0      : 0x80114360  A1  
    : 0x3ffdd880
A2      : 0x00000000  A3      : 0x3ffc86ec  A4      : 0xffffffe9  A5  
    : 0x3ffbbf20
A6      : 0x3f8b7a40  A7      : 0x7cfbd025  A8      : 0x80114190  A9  
    : 0x3ffdd860
A10     : 0x00000001  A11     : 0x3ffbbf20  A12     : 0x00156000  A13 
    : 0x3f8b7a40
A14     : 0x00001000  A15     : 0x00000000  SAR     : 0x00000000  EXCCAUSE: 0x0000001d
EXCVADDR: 0x00000000  LBEG    : 0x40085d71  LEND    : 0x40085d79  LCOUNT  : 0x00000027


Backtrace: 0x401141a6:0x3ffdd880 0x4011435d:0x3ffdd8a0 0x400f2ccd:0x3ffdd8d0 0x4010ad8d:0x3ffdd920 0x401c6885:0x3ffdd980 0x40106aca:0x3ffdd9b0 0x401084b9:0x3ffdda30 0x4010867d:0x3ffdda90 0x401ae639:0x3ffddab0 0x401aded3:0x3ffddae0

  #0  0x401141a6:0x3ffdd880 in UpdateClass::_writeBuffer() at C:/Users/Pc/.platformio/packages/framework-arduinoespressif32/libraries/Update/src/Updater.cpp:218 (discriminator 3)
  #1  0x4011435d:0x3ffdd8a0 in UpdateClass::write(unsigned char*, unsigned int) at C:/Users/Pc/.platformio/packages/framework-arduinoespressif32/libraries/Update/src/Updater.cpp:319
  #2  0x400f2ccd:0x3ffdd8d0 in std::_Function_handler<void (AsyncWebServerRequest*, String const&, unsigned int, unsigned char*, unsigned int, bool), sSystem::firmwareHandler()::{lambda(AsyncWebServerRequest*, 
String const&, unsigned int, unsigned char*, unsigned int, bool)#2}>::_M_invoke(std::_Any_data const&, AsyncWebServerRequest*&&, String const&, unsigned int&&, unsigned char*&&, AsyncWebServerRequest*&&, bool&&) at src/utilities/serverSystem.cpp:462
      (inlined by) _M_invoke at c:\users\pc\.platformio\packages\toolchain-xtensa-esp32@8.4.0+2021r2-patch5\xtensa-esp32-elf\include\c++\8.4.0\bits/std_function.h:297
  #3  0x4010ad8d:0x3ffdd920 in std::function<void (AsyncWebServerRequest*, String const&, unsigned int, unsigned char*, unsigned int, bool)>::operator()(AsyncWebServerRequest*, String const&, unsigned int, unsigned char*, unsigned int, bool) const at c:\users\pc\.platformio\packages\toolchain-xtensa-esp32@8.4.0+2021r2-patch5\xtensa-esp32-elf\include\c++\8.4.0\bits/std_function.h:687
      (inlined by) AsyncCallbackWebHandler::handleUpload(AsyncWebServerRequest*, String const&, unsigned int, unsigned char*, unsigned int, 
bool) at lib/ESPAsyncWebServer-yuboxfixes-0xFEEDC0DE64-cleanup/src/WebHandlerImpl.h:140
  #4  0x401c6885:0x3ffdd980 in AsyncWebServerRequest::_handleUploadByte(unsigned char, bool) at lib/ESPAsyncWebServer-yuboxfixes-0xFEEDC0DE64-cleanup/src/WebRequest.cpp:397
      (inlined by) AsyncWebServerRequest::_handleUploadByte(unsigned char, bool) at lib/ESPAsyncWebServer-yuboxfixes-0xFEEDC0DE64-cleanup/src/WebRequest.cpp:391
  #5  0x40106aca:0x3ffdd9b0 in AsyncWebServerRequest::_parseMultipartPostByte(unsigned char, bool) at lib/ESPAsyncWebServer-yuboxfixes-0xFEEDC0DE64-cleanup/src/WebRequest.cpp:429
  #6  0x401084b9:0x3ffdda30 in AsyncWebServerRequest::_onData(void*, unsigned int) at lib/ESPAsyncWebServer-yuboxfixes-0xFEEDC0DE64-cleanup/src/WebRequest.cpp:139 (discriminator 3)
  #7  0x4010867d:0x3ffdda90 in AsyncWebServerRequest::_onData(void*, unsigned int) at lib/ESPAsyncWebServer-yuboxfixes-0xFEEDC0DE64-cleanup/src/WebRequest.cpp:175
  #8  0x401ae639:0x3ffddab0 in AsyncClient::_sockIsReadable() at lib/AsyncTCPSock/src/AsyncTCP.cpp:884
  #9  0x401aded3:0x3ffddae0 in _asynctcpsock_task(void*) at lib/AsyncTCPSock/src/AsyncTCP.cpp:164 (discriminator 1)




ELF file SHA256: 0e70f6cecd832721

Rebooting...
server.on("/newFirmware", HTTP_POST, [](AsyncWebServerRequest *request) {},
    [](AsyncWebServerRequest *request, const String &filename, size_t index, uint8_t *data, size_t len, bool final) {
        hsh_Server.lastFirmwareUpdt_Packet_MS = millis();
        hsh_Server.firmwareUpdating = true;
        int command = U_FLASH;
        if (!index) {
            hshDisplay.addNoty("Firmware update...");
            Update.end();
            hsh_Performance.setLastPartition();
            int fileSize = UPDATE_SIZE_UNKNOWN;

            if (request->hasArg("fileSize")) {
                fileSize = request->arg("fileSize").toInt();
            }

            if (request->hasArg("flashUpdater")) {
                boolean isFlash = request->arg("flashUpdater").toInt();
                if (isFlash) {
                    command = U_SPIFFS;
                }
            }

            if ( !Update.begin( fileSize, command ) ) {
                hsh_Server.firmwareUpdateEnd(false);
                return;
            }
        }

        if (Update.write(data, len) != len) {
            hsh_Server.firmwareUpdateEnd(false);
            return;
        }

        if (final) {

            if (!Update.end(true)) {
                hsh_Server.firmwareUpdateEnd(false, request);
                return;
            }

            hsh_Server.firmwareUpdateEnd(true, request);
        }
    });
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant