Skip to content

Exception 3 when trying to connect to api.coinmarketcap.com #3335

Closed
@witnessmenow

Description

@witnessmenow

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions