Reputation: 18221
I have ESP8266 project in Arduino IDE that connects to AWS MQTT server. For this purpose PubSubClient (https://pubsubclient.knolleary.net/) library was used.
After connect procedure execution I get crash.
Function:
pubsubClient.connect(config.mqtt.id, config.mqtt.username, config.mqtt.password))
Crash:
:ref 1
_iobuf_in: 0x3fff5ebc
_iobuf_out: 0x3fff3f94
_iobuf_in_size: 16709
_iobuf_out_size: 597
--------------- CUT HERE FOR EXCEPTION DECODER ---------------
Exception (28):
epc1=0x4021f88f epc2=0x00000000 epc3=0x00000000 excvaddr=0x00003a98 depc=0x00000000
>>>stack>>>
ctx: cont
sp: 3fff0bc0 end: 3fff0fd0 offset: 0150
3fff0d10: 00000000 2c9f0300 4000050c 3fffc278
3fff0d20: 00000000 00000000 00000022 40234a30
...
I was trying to enable debugging by setting highest log level:
But no additional information was captured on debug serial.
How to find crash problem in my project?
Exception decoder brings:
Exception 9: LoadStoreAlignmentCause: Load or store to an unaligned address
PC: 0x4024232d: br_x509_minimal_run at src/x509\x509_minimal.c:1203
EXCVADDR: 0x0000252d
Decoding stack results
0x4023cdb4: br_ssl_hs_client_run at src/ssl\ssl_hs_client.c:1877
0x4023af50: jump_handshake at src\inner.h:2211
0x4023b33d: br_ssl_engine_sendrec_ack at src/ssl\ssl_engine.c:1168
0x4021552e: is in BearSSL::WiFiClientSecureCtx::_run_until(unsigned int, bool) (C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\libraries\ESP8266WiFi\src\WiFiClientSecureBearSSL.cpp:586).
0x4023af50: jump_handshake at src\inner.h:2211
0x4023c0a8: br_ssl_hs_client_run at src/ssl\ssl_hs_client.c:960
0x40215588: BearSSL::WiFiClientSecureCtx::_wait_for_handshake() at C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\libraries\ESP8266WiFi\src\WiFiClientSecureBearSSL.cpp:609
0x4021585b: is in BearSSL::WiFiClientSecureCtx::_connectSSL(char const*) (C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\libraries\ESP8266WiFi\src\WiFiClientSecureBearSSL.cpp:1194).
0x40101218: umm_malloc(size_t) at C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266\umm_malloc\umm_malloc.cpp:912
0x402354e8: ip4_output_if_opt at core/ipv4\ip4.c:1572
0x4022cd75: mem_malloc at core\mem.c:210
0x4023550e: ip4_output_if at core/ipv4\ip4.c:1549
0x40236467: ip_chksum_pseudo at core\inet_chksum.c:392
0x4021d70c: __esp_suspend() at C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266\core_esp8266_features.h:64
0x4021d85d: is in __esp_delay(unsigned long) (C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266\core_esp8266_main.cpp:161).
0x4021d8d2: is in esp_try_delay(unsigned int, unsigned int, unsigned int) (C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266\core_esp8266_main.cpp:182).
0x4021d8d2: is in esp_try_delay(unsigned int, unsigned int, unsigned int) (C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266\core_esp8266_main.cpp:182).
0x40214306: is in WiFiClient::connect(IPAddress, unsigned short) (C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266/coredecls.h:69).
0x402354b2: ip4_output_if_src at core/ipv4\ip4.c:1589
0x4021593b: is in BearSSL::WiFiClientSecureCtx::connect(char const*, unsigned short) (C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\libraries\ESP8266WiFi\src\WiFiClientSecureBearSSL.cpp:228).
0x40218a84: is in PubSubClient::connect(char const*, char const*, char const*, char const*, unsigned char, bool, char const*, bool) (c:\ArduinoTest\libraries\PubSubClient\src\PubSubClient.cpp:196).
0x40231bd8: udp_sendto_if at core\udp.c:692
0x4021d7ba: __yield() at C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266\core_esp8266_features.h:64
0x40218c6c: is in PubSubClient::connect(char const*, char const*, char const*) (c:\ArduinoTest\libraries\PubSubClient\src\PubSubClient.cpp:170).
0x40206ef1: is in sendMQTT(unsigned long, String, String) (C:\ArduinoTest\vtsistema/vtsistema.ino:172).
0x4021c375: is in String::copy(char const*, unsigned int) (C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266\WString.cpp:274).
0x402084ff: loop() at C:\ArduinoTest\vtsistema\vtsistema.ino:599
0x402177c0: fs::FS::_defaultTimeCB() at C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266\FS.h:260
0x401011d6: umm_free(void*) at C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266\umm_malloc\umm_malloc.cpp:688
0x402177c0: fs::FS::_defaultTimeCB() at C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266\FS.h:260
0x4021d944: loop_wrapper() at C:\Users\g\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266\core_esp8266_main.cpp:258
Upvotes: 0
Views: 63