arcao / Syslog

An Arduino library for logging to Syslog server in IETF format (RFC 5424) and BSD format (RFC 3164)
MIT License
118 stars 48 forks source link

Using syslog right after wifi connect causes crash #21

Closed jeroenst closed 5 years ago

jeroenst commented 5 years ago

When I send a syslog message directly after wifi is connected, my esp8266 crashes most of the time. Seems to have something to do with resolving the ip based on hostname...

0x4021fbd8: memp_malloc at core/memp.c line 404 0x40220fe5: dns_check_entry at core/dns.c line 1060 0x40221558: dns_gethostbyname_addrtype at core/dns.c line 1444 0x4021466b: String::concat(char const, unsigned int) at /home/jeroen/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/WString.cpp line 288 0x40201b70: delay at /home/jeroen/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/core_esp8266_wiring.c line 46 0x402215d8: dns_gethostbyname at core/dns.c line 1472 0x4020761c: ESP8266WiFiGenericClass::hostByName(char const, IPAddress&, unsigned int) at /home/jeroen/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp line 475 0x401006ac: realloc at /home/jeroen/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/umm_malloc/umm_malloc.c line 1645 0x402142f7: String::changeBuffer(unsigned int) at /home/jeroen/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/WString.cpp line 156 0x402142f7: String::changeBuffer(unsigned int) at /home/jeroen/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/WString.cpp line 156 0x4020764c: ESP8266WiFiGenericClass::hostByName(char const, IPAddress&) at /home/jeroen/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp line 452 0x40208ec9: WiFiUDP::beginPacket(char const, unsigned short) at /home/jeroen/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/libraries/ESP8266WiFi/src/WiFiUdp.cpp line 147 0x4021466b: String::concat(char const, unsigned int) at /home/jeroen/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/WString.cpp line 288 0x40212f1e: Syslog::_sendLog(unsigned short, char const) at /home/jeroen/Arduino/libraries/Syslog/src/Syslog.cpp line 210 0x40212fb4: Syslog::log(unsigned short, char const) at /home/jeroen/Arduino/libraries/Syslog/src/Syslog.cpp line 84 0x40203c16: mylog(char const, String, int) at /home/jeroen/Arduino/espMQTT/espMQTT.ino line 522

jeroenst commented 5 years ago

https://github.com/esp8266/Arduino/issues/5722