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

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

Closed
witnessmenow opened this issue Jun 7, 2017 · 8 comments
Closed

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

witnessmenow opened this issue Jun 7, 2017 · 8 comments
Assignees
Milestone

Comments

@witnessmenow
Copy link

witnessmenow commented Jun 7, 2017

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
@witnessmenow
Copy link
Author

Some more info:
On my old windows machine that is running old core (some version of 2.3 from github) the same code works fine.

@witnessmenow
Copy link
Author

witnessmenow commented Sep 18, 2017

This is still an issue for me, tested today using 2.4.0-rc1

Here is a basic sketch that reproduces the error. This sketch works fine with the 2.3.0 release

Is there a special cert or something that this site uses that causes issues?

#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>

WiFiClientSecure client;

char ssid[] = "SSID";       // your network SSID (name)
char password[] = "pass";  // your network key

void setup() {
  Serial.begin(115200);

  // Set WiFi to station mode and disconnect from an AP if it was Previously
  // connected
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);

  // Attempt to connect to Wifi network:
  Serial.print("Connecting Wifi: ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  IPAddress ip = WiFi.localIP();
  Serial.println(ip);

}

void connectToCoinMarket(){
  if (client.connect("api.coinmarketcap.com", 443)) {
    Serial.println(".... connected to server");
    char c;
    int ch_count=0;
    client.println("GET /v1/ticker/bitcoin HTTP/1.1");
    client.println("Host: api.coinmarketcap.com");
    client.println(F("User-Agent: arduino/1.0.0"));
    client.println();
    client.setTimeout(1200);
    char endOfHeaders[] = "\r\n\r\n";
    bool ok = client.find(endOfHeaders);

    if (!ok) {
      Serial.println("No response or invalid response!");
    }
  }
}

void loop() {
  Serial.println("Connecting To coinMarketCap");
  connectToCoinMarket();
  delay(2000);

}

Serial from above sketch:

 .......
WiFi connected
IP address: 
192.168.1.52
Connecting To coinMarketCap

Exception (3):
epc1=0x4020b097 epc2=0x00000000 epc3=0x00000000 excvaddr=0x402426b0 depc=0x00000000

ctx: cont 
sp: 3fff06f0 end: 3fff0f00 offset: 01a0

>>>stack>>>
3fff0890:  8faeb8e8 fcc9133b a76de1a2 c8882162  
3fff08a0:  01ffeabf 3fff0940 3fff0bb0 00000004  
3fff08b0:  3fff0900 3fff0c98 3fff0900 4021cecf  
3fff08c0:  00000000 00001fb8 00000000 3fff0900  
3fff08d0:  00000000 00000000 00000000 00000004  
3fff08e0:  00000000 3fff0c98 3fff0900 4021c909  
3fff08f0:  00000000 3fff465c 3fff2a23 4021610c  
3fff0900:  7ccb5b8c 248ba0fa 51e9823b be71f887  
3fff0910:  9b96abf5 08db4320 5a6a97dc 4425881a  
3fff0920:  25af5af7 0739ebc2 17182d6f f2858ff4  
3fff0930:  8d24b529 94cad334 ecd003a5 db5eab24  
3fff0940:  306c7263 2b080672 05050106 04010107  
3fff0950:  30643066 2b08063b 05050106 86023007  
3fff0960:  7474682f 2f2f3a70 2e747263 6f6d6f63  
3fff0970:  61636f64 6d6f632e 4d4f432f 524f444f  
3fff0980:  64414153 75725464 41437473 7472632e  
3fff0990:  08062530 0501062b 01300705 74681986  
3fff09a0:  2f3a7074 73636f2f 6f632e70 6f646f6d  
3fff09b0:  2e346163 636d6f63 6974792e 74686f72  
3fff09c0:  b8ff79ba 47b4bd07 8fe353a9 b926528f  
3fff09d0:  66a0eebe 8a53827e 77ea5c7c f431e693  
3fff09e0:  8b5cae91 8c8d646b 4c6ee31e b156f6a3  
3fff09f0:  66189402 abaf0979 7ed5fa88 428b2610  
3fff0a00:  f1eeaf2a 0e413c0e 866daa96 fa6aae7c  
3fff0a10:  bd9cf0d1 a673cf7a f773076f 5441431a  
3fff0a20:  bd64e10c 6d263b2f deaf366d 74be7fe7  
3fff0a30:  22fd4864 af39f5b8 d619da16 5ea8d71c  
3fff0a40:  60a562cb 88f78f25 d8f107ff 29d02833  
3fff0a50:  cdce36ca cf603d04 bc70713b 27052b60  
3fff0a60:  28d5bedc 07a995dc 6c30eed2 ed4e8d4b  
3fff0a70:  50d11664 3e63773b e8ff9a61 6cd02040  
3fff0a80:  96c8b83f f37c00d9 659bef56 621cce8a  
3fff0a90:  1eb34a90 227f65c4 6b56fdad 02941bfc  
3fff0aa0:  fa2254c7 ac589de6 30ff2caf b0aed7c4  
3fff0ab0:  b3ba9a54 80af21bb 9a9810e7 c329aa65  
3fff0ac0:  158031d2 aad7e360 db3beffb 118e5a9d  
3fff0ad0:  095d6967 cd0e05a7 8c8692af a505894d  
3fff0ae0:  dbfbf195 2451ef61 e8b4bfd5 e25e75f5  
3fff0af0:  060c4cf9 35971a1b fd186350 65d3f241  
3fff0b00:  dda13a0f 92a44790 43f30e01 d3e6d8fa  
3fff0b10:  02ddb22f a3fc00b0 cafb3028 35781980  
3fff0b20:  8df693ac b067ae74 a3d7710a c92c7e6d  
3fff0b30:  5d04747b 41de3edb 4b314599 80c8973d  
3fff0b40:  e7f0d54b 742e6215 0a1035ee 634f17db  
3fff0b50:  898b325f 38feb107 4861aa19 79f98c32  
3fff0b60:  ee9633ca b3e5dc1b af700668 833a9192  
3fff0b70:  2e5166e7 743f6062 27cf5d97 bcfd9a0d  
3fff0b80:  2d2d3979 6c71b697 588c7553 1aad5ffa  
3fff0b90:  32718c17 15ec71ba 1bfd86b0 3aeb9f5e  
3fff0ba0:  99e93bf0 42266a66 69f60f76 7ffaafcf  
3fff0bb0:  ff7c6b64 8f06ade9 6e1d499c 1e89ecbc  
3fff0bc0:  00000077 40103106 000003f7 00000000  
3fff0bd0:  00000140 00000000 1142c7c1 8bc68649  
3fff0be0:  f2ce7a01 bf2be06e 2762047d c95f7785  
3fff0bf0:  1c79483b 760af049 4b55acf8 acbb5acd  
3fff0c00:  4b5f095e 9067d8cf a4838f6c 86edba8e  
3fff0c10:  a050d9fe a0078fde 01030277 00800100  
3fff0c20:  00000000 00000000 00000000 00000000  
3fff0c30:  00000000 30090000 0bc24947 8f120f14  
3fff0c40:  6d571497 0a088a3a 30c9ed07 00000000  
3fff0c50:  00000000 00000000 00000000 00000000  
3fff0c60:  00000000 00000000 00000000 00000000  
3fff0c70:  00000000 00000000 00000000 00000000  
3fff0c80:  00000000 00000000 00000000 00000000  
3fff0c90:  00000000 00010000 000002de a312c579  
3fff0ca0:  ec588857 aaa07562 ba8a1c16 851ab873  
3fff0cb0:  5183fba5 10809d1c 3ffedee0 00000006  
3fff0cc0:  40101bd9 3ffedee0 3ffedee0 4f831dff  
3fff0cd0:  00007fff 004ad8d0 3ffefee0 00000002  
3fff0ce0:  0000060f 00000291 000003fb 3ffefee0  
3fff0cf0:  3fff0cd8 3fff2330 0000016b 40203c6c  
3fff0d00:  3fff55c4 00000008 3ffeace8 40203cac  
3fff0d10:  0000112c 0000000c 000005a2 00000001  
3fff0d20:  3fff2330 3fff2481 000005a2 40214395  
3fff0d30:  00001125 3fff23a4 0000112c 3fff232c  
3fff0d40:  3fff233c 00000007 00860011 3fff23f8  
3fff0d50:  0000060f 4d8a2ca4 47dacc3e 2dd2ea84  
3fff0d60:  60602232 3fff400c 82d9637f 3fff2481  
3fff0d70:  0000112c 0000112c 3fff23a4 402156da  
3fff0d80:  c1c8379c 920b0f3f 1e112b0a cea924b5  
3fff0d90:  746a38cc 00001236 3ffefee0 00000000  
3fff0da0:  00000043 3fff358a 3fff358a 3fff400c  
3fff0db0:  00000000 000010e3 00000064 40203c6c  
3fff0dc0:  00000050 00000000 00000037 3fff2481  
3fff0dd0:  3fff2481 0000112c 3fff23a4 3fff2481  
3fff0de0:  0000112c 0000112c 3fff23a4 40215124  
3fff0df0:  00000067 3fff2481 3fff23a4 40215500  
3fff0e00:  00000015 3fff24b4 3fff23a4 401004d8  
3fff0e10:  3fff0e60 0000000b 00000010 00000000  
3fff0e20:  00000000 3fff2194 3fff23a4 01000000  
3fff0e30:  3fff0e60 3fff22a4 3fff23a4 4021528c  
3fff0e40:  000001bb 3fff22a4 3ffefc90 3ffe89b4  
3fff0e50:  00001236 3fff22a4 3ffefc90 402033d1  
3fff0e60:  3ffefc90 00000000 3fff215c 40202aee  
3fff0e70:  3fff215c 00000001 3ffe907d 3ffefed8  
3fff0e80:  000001bb 3ffefc90 3ffe89b4 3ffefed8  
3fff0e90:  000001bb 3ffefc90 3ffe89b4 402035f1  
3fff0ea0:  3ffe9078 b28b1168 3ffe9078 b28b1168  
3fff0eb0:  3fffdad0 00000000 3ffefc90 40202063  
3fff0ec0:  feefeffe 3ffefcac 3ffefeac 402038c8  
3fff0ed0:  3ffe9078 00000000 3ffefed0 402020d6  
3fff0ee0:  3fffdad0 00000000 3ffefed0 40203c40  
3fff0ef0:  feefeffe feefeffe 3ffefee0 4010070c  
<<<stack<<<

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

Decoded as:

Decoding 22 results
0x4021cecf: SHA512_Final at crypto/sha512.c line 207 (discriminator 3)
0x4021c909: SHA384_Final at crypto/sha384.c line 74
0x4021610c: x509_new at ssl/x509.c line 190
0x40103106: lmacProcessTXStartData at ?? line ?
0x40101bd9: trc_NeedRTS at ?? line ?
0x40203c6c: __yield at C:\Users\Brian\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0-rc1\cores\esp8266/core_esp8266_main.cpp line 57
0x40203cac: optimistic_yield at C:\Users\Brian\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0-rc1\cores\esp8266/core_esp8266_main.cpp line 57
0x40214395: process_certificate at ssl/tls1.c line 2005
0x402156da: do_clnt_handshake at ssl/tls1_clnt.c line 107
0x40203c6c: __yield at C:\Users\Brian\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0-rc1\cores\esp8266/core_esp8266_main.cpp line 57
0x40215124: do_handshake at ssl/tls1.c line 2005
:  (inlined by) basic_read at ssl/tls1.c line 1481
0x40215500: do_client_connect at ssl/tls1_clnt.c line 168
0x401004d8: malloc at C:\Users\Brian\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0-rc1\cores\esp8266\umm_malloc/umm_malloc.c line 1664
0x4021528c: ssl_read at ssl/tls1.c line 2005
0x402033d1: SSLContext::connect(ClientContext*, char const*, unsigned int) at C:\Users\Brian\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0-rc1\libraries\ESP8266WiFi\src/WiFiClientSecure.cpp line 609
:  (inlined by) WiFiClientSecure::_connectSSL(char const*) at C:\Users\Brian\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0-rc1\libraries\ESP8266WiFi\src/WiFiClientSecure.cpp line 321
0x40202aee: WiFiClient::connect(IPAddress, unsigned short) at C:\Users\Brian\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0-rc1\libraries\ESP8266WiFi\src/WiFiClient.cpp line 324
0x402035f1: WiFiClientSecure::connect(char const*, unsigned short) at C:\Users\Brian\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0-rc1\libraries\ESP8266WiFi\src/WiFiClientSecure.cpp line 313
0x40202063: connectToCoinMarket() at C:\Users\Brian\Documents\Arduino\CoinMarketTest/CoinMarketTest.ino line 35
0x402038c8: Print::println(char const*) at C:\Users\Brian\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0-rc1\cores\esp8266/Print.cpp line 87
0x402020d6: loop at C:\Users\Brian\Documents\Arduino\CoinMarketTest/CoinMarketTest.ino line 56
0x40203c40: loop_wrapper at C:\Users\Brian\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0-rc1\cores\esp8266/core_esp8266_main.cpp line 57
0x4010070c: cont_norm at C:\Users\Brian\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0-rc1\cores\esp8266/cont.S line 109

@witnessmenow
Copy link
Author

@igrr sorry to reference you directly but would you be able to advice on the next steps with this?

It's a pretty old issue at this stage so I'm not sure if me adding a new comment would get noticed, but I am also conscious of creating a duplicate to just bump it to the top

@igrr
Copy link
Member

igrr commented Sep 20, 2017

This seems to be the same issue as reported in this comment: #3140 (comment), it was fixed in c52b0da after 2.4.0-rc1 was released. Can you try the latest git version? (installation instructions are on the front page)

Edit: looking at the backtrace again, i see that it is actually not related. Will investigate.

@igrr igrr self-assigned this Sep 20, 2017
@igrr igrr added this to the 2.4.0 milestone Sep 20, 2017
@igrr igrr closed this as completed in c894795 Sep 20, 2017
@igrr igrr reopened this Sep 20, 2017
@igrr
Copy link
Member

igrr commented Sep 20, 2017

Fixed in master, please give a try.

@witnessmenow
Copy link
Author

Thanks @igrr I'll try the git version after work this evening.

d-a-v pushed a commit to d-a-v/Arduino that referenced this issue Sep 29, 2017
SHA512 module stored padding in PROGMEM, but would then pass the pointer
to padding into Update function which would do a memcpy. Use the same
approach as with SHA256, that is to copy padding to the stack first, and
then pass it to Update.
@d-a-v
Copy link
Collaborator

d-a-v commented Dec 13, 2017

@witnessmenow any feedback on this ?

@witnessmenow
Copy link
Author

@igrr I know you fixed this a long time ago and I forgot to get back to you and then didn't get time to test since davs reminder, but just wanted to say that i tested this out on 2.4 today and it's working fine. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants