Skip to content

HTTPClient causes exception(28) in 2.4.0-rc2 #4060

Closed
@jp112sdl

Description

@jp112sdl

Basic Infos

Hardware

Hardware: ESP-12
Core Version: 2.4.0-rc2

Description

HTTPClient causes exception(28)

Settings in IDE

Module: Generic ESP8285 Module
Flash Size: 1MB
Flash Mode: DOUT
Upload Using: OTA
Reset Method: ck

Sketch

bool setStateCUxD(String id, String value) {
  if (id.indexOf(".null.") == -1 && String(GlobalConfig.ccuIP) != "0.0.0.0") {
    if (WiFi.status() == WL_CONNECTED) {
      HTTPClient http;
      http.setTimeout(1500);
      id.replace(" ", "%20");
      String url = "http://" + String(GlobalConfig.ccuIP) + ":8181/cuxd.exe?ret=dom.GetObject(%22" + id + "%22).State(" + value + ")";
      http.begin(url);
      int httpCode = http.GET();
      String payload = "";

      if (httpCode > 0) {
        payload = http.getString();
      }

      http.end();

      payload = payload.substring(payload.indexOf("<ret>"));
      payload = payload.substring(5, payload.indexOf("</ret>"));
      return (payload != "null");

    } else {
      if (!doWifiConnect())
        ESP.restart();
    }
  } else return true;
}

Debug Messages

0x402443ad: tcp_pcb_purge at core/tcp.c line 1446
0x402446c7: tcp_pcb_remove at core/tcp.c line 1468 (discriminator 1)
0x402448a4: tcp_abandon at core/tcp.c line 372
0x40244902: tcp_abort at core/tcp.c line 406
0x4020137a: delay at /Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.0-rc2/cores/esp8266/core_esp8266_wiring.c line 54
0x40211984: ClientContext::abort() at /Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.0-rc2/libraries/ESP8266WiFi/src/WiFiClient.cpp line 341
0x40211d02: ClientContext::connect(ip_addr*, unsigned short) at /Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.0-rc2/libraries/ESP8266WiFi/src/WiFiClient.cpp line 341
:  (inlined by) WiFiClient::connect(IPAddress, unsigned short) at /Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.0-rc2/libraries/ESP8266WiFi/src/WiFiClient.cpp line 135
0x402117f8: WiFiClient::connect(char const*, unsigned short) at /Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.0-rc2/libraries/ESP8266WiFi/src/WiFiClient.cpp line 341
0x40212a07: TransportTraits::create() at /Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.0-rc2/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp line 51
0x40212e94: HTTPClient::connect() at /Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.0-rc2/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp line 51
0x4021ab27: String::changeBuffer(unsigned int) at /Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.0-rc2/cores/esp8266/WString.cpp line 518
0x40213664: HTTPClient::sendRequest(char const*, unsigned char*, unsigned int) at /Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.0-rc2/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp line 51
0x401004d8: malloc at /Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.0-rc2/cores/esp8266/umm_malloc/umm_malloc.c line 1668
0x4010020c: _umm_free at /Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.0-rc2/cores/esp8266/umm_malloc/umm_malloc.c line 1291
0x40213712: HTTPClient::GET() at /Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.0-rc2/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp line 51
0x4020b25c: setStateCUxD(String, String) at /Users/user/Documents/Arduino/ECHT-Einsatz/InUse/SonoffHMLOX/HomeMatic.ino line 11

In my code I'm calling a http.Get() every 30 seconds.
That works for a few hours.
Then I get a few times a HTTP Return Code (-1) (HTTPC_ERROR_CONNECTION_REFUSED) and after that it seems that the WiFi connection is lost.
A new attempt to establish the Wifi connection fails.

With the latest stable Version 2.3.0 everything works fine.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions