Closed
Description
I am getting a Exception 3 when I try connect to coinmarketcap.com's api using WiFiClientSecure. I tried one other library that I have that connects to a HTTPS endpoint using WiFiClientSecure and that worked, so not sure what is different between the two.
Info
Device: Wemos D1 mini
Version of core: latest (updated from master yesterday)
Sketch:
https://github.com/witnessmenow/arduino-coinmarketcap-api/blob/master/examples/ESP8266/GetTickerInfo/GetTickerInfo.ino
(you will need to install the library that this is an example of)
Last part of code of mine before the exception is:
https://github.com/witnessmenow/arduino-coinmarketcap-api/blob/master/src/CoinMarketCapApi.cpp#L15
(the serial print below this line does not get hit if its not commented out)
Serial Output
1384, room 16
tail 8
chksum scandone
Connecting Wifi: Mikrotik
.....scandone
state: 0 -> 2 (b0)
.state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 8
cnt
connected with Mikrotik, channel 1
dhcp client start...
.ip:192.168.1.35,mask:255.255.255.0,gw:192.168.1.1
WiFi connected
IP address:
192.168.1.35
Getting ticker data for bitcoin
:ref 1
please start sntp first !
State: sending Client Hello (1)
:wr 108 108 0
:wrc 108 108 0
:sent 108
:rn 1440
:rd 5, 1440, 0
:rdi 1440, 5
:rd 80, 1440, 5
:rdi 1435, 80
State: receiving Server Hello (2)
:rd 5, 1440, 85
:rdi 1355, 5
:rd 1350, 1440, 90
:rdi 1350, 1350
:c0 1350, 1440
:rn 1440
:rd 1440, 1440, 0
:rdi 1440, 1440
:c0 1440, 1440
:rn 1440
:rd 1440, 1440, 0
:rdi 1440, 1440
:c0 1440, 1440
:rn 1252
:rd 1243, 1252, 0
:rdi 1252, 1243
State: receiving Certificate (11)
Fatal exception 3(LoadStoreErrorCause):
epc1=0x4020ce03, epc2=0x00000000, epc3=0x00000000, excvaddr=0x40244450, depc=0x00000000
Exception (3):
epc1=0x4020ce03 epc2=0x00000000 epc3=0x00000000 excvaddr=0x40244450 depc=0x00000000
ctx: cont
sp: 3fff0a00 end: 3fff1360 offset: 01a0
>>>stack>>>
3fff0ba0: 8faeb8e8 fcc9133b a76de1a2 c8882162
3fff0bb0: 01ffeabf 3fff0c50 3fff0ec0 00000004
3fff0bc0: 3fff0c10 3fff0fa8 3fff0c10 4021ec6b
3fff0bd0: 00000000 00001fb8 00000000 3fff0c10
3fff0be0: 00000000 00000000 00000000 00000004
3fff0bf0: 00000000 3fff0fa8 3fff0c10 4021e6a5
3fff0c00: 00000000 3fff4dac 3fff34f0 40217ea8
3fff0c10: 7ccb5b8c 248ba0fa 51e9823b be71f887
3fff0c20: 9b96abf5 08db4320 5a6a97dc 4425881a
3fff0c30: 25af5af7 0739ebc2 17182d6f f2858ff4
3fff0c40: 8d24b529 94cad334 ecd003a5 db5eab24
3fff0c50: 306c7263 2b080672 05050106 04010107
3fff0c60: 30643066 2b08063b 05050106 86023007
3fff0c70: 7474682f 2f2f3a70 2e747263 6f6d6f63
3fff0c80: 61636f64 6d6f632e 4d4f432f 524f444f
3fff0c90: 64414153 75725464 41437473 7472632e
3fff0ca0: 08062530 0501062b 01300705 74681986
3fff0cb0: 2f3a7074 73636f2f 6f632e70 6f646f6d
3fff0cc0: 2e346163 636d6f63 6974792e 74686f72
3fff0cd0: b8ff79ba 47b4bd07 8fe353a9 b926528f
3fff0ce0: 66a0eebe 8a53827e 77ea5c7c f431e693
3fff0cf0: 8b5cae91 8c8d646b 4c6ee31e b156f6a3
3fff0d00: 66189402 abaf0979 7ed5fa88 428b2610
3fff0d10: f1eeaf2a 0e413c0e 866daa96 fa6aae7c
3fff0d20: bd9cf0d1 a673cf7a f773076f 5441431a
3fff0d30: bd64e10c 6d263b2f deaf366d 74be7fe7
3fff0d40: 22fd4864 af39f5b8 d619da16 5ea8d71c
3fff0d50: 60a562cb 88f78f25 d8f107ff 29d02833
3fff0d60: cdce36ca cf603d04 bc70713b 27052b60
3fff0d70: 28d5bedc 07a995dc 6c30eed2 ed4e8d4b
3fff0d80: 50d11664 3e63773b e8ff9a61 6cd02040
3fff0d90: 96c8b83f f37c00d9 659bef56 621cce8a
3fff0da0: 1eb34a90 227f65c4 6b56fdad 02941bfc
3fff0db0: fa2254c7 ac589de6 30ff2caf b0aed7c4
3fff0dc0: b3ba9a54 80af21bb 9a9810e7 c329aa65
3fff0dd0: 158031d2 aad7e360 db3beffb 118e5a9d
3fff0de0: 095d6967 cd0e05a7 8c8692af a505894d
3fff0df0: dbfbf195 2451ef61 e8b4bfd5 e25e75f5
3fff0e00: 060c4cf9 35971a1b fd186350 65d3f241
3fff0e10: dda13a0f 92a44790 43f30e01 d3e6d8fa
3fff0e20: 02ddb22f a3fc00b0 cafb3028 35781980
3fff0e30: 8df693ac b067ae74 a3d7710a c92c7e6d
3fff0e40: 5d04747b 41de3edb 4b314599 80c8973d
3fff0e50: e7f0d54b 742e6215 0a1035ee 634f17db
3fff0e60: 898b325f 38feb107 4861aa19 79f98c32
3fff0e70: ee9633ca b3e5dc1b af700668 833a9192
3fff0e80: 2e5166e7 743f6062 27cf5d97 bcfd9a0d
3fff0e90: 2d2d3979 6c71b697 588c7553 1aad5ffa
3fff0ea0: 32718c17 15ec71ba 1bfd86b0 3aeb9f5e
3fff0eb0: 99e93bf0 42266a66 69f60f76 7ffaafcf
3fff0ec0: ff7c6b64 8f06ade9 6e1d499c 1e89ecbc
3fff0ed0: 00000077 40103372 000003f7 00000000
3fff0ee0: 00000140 00000000 1142c7c1 8bc68649
3fff0ef0: f2ce7a01 bf2be06e 2762047d c95f7785
3fff0f00: 1c79483b 760af049 4b55acf8 acbb5acd
3fff0f10: 4b5f095e 9067d8cf a4838f6c 86edba8e
3fff0f20: a050d9fe a0078fde 01030277 00800100
3fff0f30: 00000000 00000000 00000000 00000000
3fff0f40: 00000000 30090000 0bc24947 8f120f14
3fff0f50: 6d571497 0a088a3a 30c9ed07 00000000
3fff0f60: 00000000 00000000 00000000 00000000
3fff0f70: 00000000 00000000 00000000 00000000
3fff0f80: 00000000 00000000 00000000 00000000
3fff0f90: 00000000 00000000 00000000 00000000
3fff0fa0: 00000000 00010000 000002dd 889288db
3fff0fb0: e2d5e0da 5b96c4bb d42f6f48 733711cb
3fff0fc0: 4cb8312f 5fdabdb2 0000000b ffffffff
3fff0fd0: 40001da0 ffffffff 0000000a 40001db4
3fff0fe0: 40001f46 00000010 3fff0340 00000002
3fff0ff0: 0000060f 00000291 000003fb 3fff0340
3fff1000: 3fff0fe8 3fff2958 0000016b 40205970
3fff1010: 3fff68ec 000000e8 3fff02e8 402059b0
3fff1020: 00000000 3fff296c 000009d7 00000001
3fff1030: 3fff2958 3fff2b19 000009d7 40216131
3fff1040: 0000155a 3fff2a2c 00001561 3fff2954
3fff1050: 3fff2974 00000007 008e0011 3fff2a80
3fff1060: 0000060f 02b789a1 1bac3e4b 18f54590
3fff1070: 5cbff6be 3fff46ac 79c6c3b0 3fff2b19
3fff1080: 00001561 00001561 3fff2a2c 40217476
3fff1090: 854580d8 bd6198f1 518df28d 9a87e39a
3fff10a0: a0c38666 000004e4 000004db 00000001
3fff10b0: 00000054 3fff4062 3fff4062 3fff46ac
3fff10c0: 00000000 00001518 00000064 40205970
3fff10d0: 3ffe971c 3ffe9bc0 00000000 3fff2b19
3fff10e0: 3fff2b19 00001561 3fff2a2c 3fff2b19
3fff10f0: 00001561 00001561 3fff2a2c 40216ec0
3fff1100: 00000067 3fff2b19 3fff2a2c 4021729c
3fff1110: 00000015 3fff2b4c 00000200 40100704
3fff1120: 3fff1170 0000000b 00000010 00000000
3fff1130: 00000000 3fff29ac 3fff2a2c 01000000
3fff1140: 3fff1170 3fff26e4 3fff2a2c 40217028
3fff1150: 000001bb 3fff26e4 3fff29ec 00001387
3fff1160: 00007934 3fff26e4 3fff00c8 40204c39
3fff1170: 3fff00c8 00000000 3fff26a4 4020423d
3fff1180: 3fff26a4 00000000 3fff1250 3fff1230
3fff1190: 000001bb 3fff00c8 3ffe8a41 3fff1230
3fff11a0: 000001bb 3fff00c8 3ffe8a41 40204dbd
3fff11b0: 3ffe9500 552d1b68 3ffe9500 552d1b68
3fff11c0: 3fff1250 3ffe8a89 3fff00c4 402022ad
3fff11d0: 00000030 3fff1230 3fff1230 40205507
3fff11e0: 3fff25e4 00000020 3fff2664 0000000f
3fff11f0: 00000000 00000159 3fff1230 40205585
3fff1200: 3fff1308 3ffe8a89 3fff1230 40205644
3fff1210: 3fff1308 3ffe8a89 3fff12a0 3fff00c4
3fff1220: 3fff1308 3ffe8a89 3fff12a0 40203548
3fff1230: 3fff2624 0000002f 00000020 3fff0334
3fff1240: 00000010 3fff1308 3fff1308 40205507
3fff1250: 3fff2684 0000000f 00000000 3fff25e4
3fff1260: 0000002f 00000020 3fff1308 40205585
3fff1270: 3fffdad0 3fff1330 3fff1308 402055d2
3fff1280: 3ffe89c7 3fff1330 3fff0308 3fff0334
3fff1290: 3fffdad0 3fff1330 3fff0308 4020209e
3fff12a0: 00000000 00000000 00000000 401008cc
3fff12b0: 3fff0308 0000000a 00000003 402051f2
3fff12c0: 40201900 00000001 3ffe903f 3fff0334
3fff12d0: 00000010 3fff1330 3fff1330 40205507
3fff12e0: 3ffe8a02 00000007 3fff1330 40205553
3fff12f0: 3ffe903e 3fff0108 3fff1330 40205585
3fff1300: 3fffdad0 000078ab 3fff27fc 0000000f
3fff1310: 00000003 3fff27dc 0000000f 00000007
3fff1320: feefeffe 000078ab 3fff00c0 40202165
3fff1330: 3fff1c5c 0000000f 00000007 40204f61
3fff1340: 3fffdad0 00000000 3fff032c 40205944
3fff1350: feefeffe feefeffe 3fff0340 40100978
<<<stack<<<
ets Jan 8 2013,rst cause:2, boot mode:(1,6)
ets Jan 8 2013,rst cause:4, boot mode:(1,6)
wdt reset
Decoded Stack:
Decoding 35 results
0x4021ea0f: SHA512_Final at crypto/sha512.c line 207 (discriminator 3)
0x4021e449: SHA384_Final at crypto/sha384.c line 74
0x40217c4c: x509_new at ssl/x509.c line 190
0x40103106: lmacProcessTXStartData at ?? line ?
0x40101bd9: trc_NeedRTS at ?? line ?
0x40205714: __yield at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/core_esp8266_main.cpp line 57
0x40205754: optimistic_yield at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/core_esp8266_main.cpp line 57
0x40215ed5: process_certificate at ssl/tls1.c line 2005
0x4021721a: do_clnt_handshake at ssl/tls1_clnt.c line 107
0x40205714: __yield at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/core_esp8266_main.cpp line 57
0x40216c64: do_handshake at ssl/tls1.c line 2005
: (inlined by) basic_read at ssl/tls1.c line 1481
0x40217040: do_client_connect at ssl/tls1_clnt.c line 168
0x401004d8: malloc at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/umm_malloc/umm_malloc.c line 1664
0x40216dcc: ssl_read at ssl/tls1.c line 2005
0x40204a21: SSLContext::connect(ClientContext*, char const*, unsigned int) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp line 615
: (inlined by) WiFiClientSecure::_connectSSL(char const*) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp line 327
0x40204116: WiFiClient::connect(IPAddress, unsigned short) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/WiFiClient.cpp line 324
0x40204ba5: WiFiClientSecure::connect(char const*, unsigned short) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp line 319
0x402022a5: CoinMarketCapApi::SendGetToCoinMarketCap(String) at /Users/brian/Documents/Arduino/libraries/arduino-coinmarketcap-api/src/CoinMarketCapApi.cpp line 15
0x402052b3: String::changeBuffer(unsigned int) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/WString.cpp line 439 (discriminator 4)
0x40205331: String::copy(char const*, unsigned int) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/WString.cpp line 439 (discriminator 4)
0x402053f0: String::operator=(String const&) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/WString.cpp line 439 (discriminator 4)
0x40203538: CoinMarketCapApi::GetTickerInfo(String, String) at /Users/brian/Documents/Arduino/libraries/arduino-coinmarketcap-api/src/CoinMarketCapApi.cpp line 71
0x402052b3: String::changeBuffer(unsigned int) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/WString.cpp line 439 (discriminator 4)
0x40205331: String::copy(char const*, unsigned int) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/WString.cpp line 439 (discriminator 4)
0x4020537e: String::String(char const*) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/WString.cpp line 439 (discriminator 4)
0x4020209a: printTickerData(String) at /var/folders/sl/1b3tnsqj3t9301xzfkh9g1900000gn/T/arduino_modified_sketch_875138/GetTickerInfo.ino line 51
0x4010053d: _umm_realloc at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/umm_malloc/umm_malloc.c line 1491
: (inlined by) realloc at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/umm_malloc/umm_malloc.c line 1709
0x40204f9e: Print::print(unsigned long, int) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/Print.cpp line 99
0x40201900: uart_start_isr at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/uart.c line 461
0x402052b3: String::changeBuffer(unsigned int) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/WString.cpp line 439 (discriminator 4)
0x402052ff: String::reserve(unsigned int) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/WString.cpp line 439 (discriminator 4)
0x40205331: String::copy(char const*, unsigned int) at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/WString.cpp line 439 (discriminator 4)
0x40202161: loop at /var/folders/sl/1b3tnsqj3t9301xzfkh9g1900000gn/T/arduino_modified_sketch_875138/GetTickerInfo.ino line 94
0x402056e8: loop_wrapper at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/core_esp8266_main.cpp line 57
0x4010070c: cont_norm at /Users/brian/Documents/Arduino/hardware/esp8266com/esp8266/cores/esp8266/cont.S line 109