A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/esp8266/Arduino/issues/6982 below:

MDNS.end() exception 28 · Issue #6982 · esp8266/Arduino · GitHub

Basic Infos Platform Settings in IDE not relevant, occurs on many boards Problem Description

Calling MDNS.end() when already closed causes exception 28. Yes, I know it's not a normal thing to do, but if your code gets "out of step" for some other reason, an exception is a heavy punishment! Can we change it to just silently do nothing, as most other APIs do? For example calling WiFi.disconnect() when already disconnected causes no ill effects

MCVE Sketch
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <ArduinoOTA.h>

void setup() {
  Serial.begin(115200);
  Serial.println("Booting");
  WiFi.mode(WIFI_STA);
  WiFi.begin("XXXXXXXX", "XXXXXXXX");
  WiFi.waitForConnectResult();

  ArduinoOTA.begin();
  Serial.println("Ready");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  Serial.print("Close MDNS OK\n");
  MDNS.end();
  Serial.print("Close Again\n");
  MDNS.end();
  Serial.print("You will never see this message\n");

}

void loop() {
  ArduinoOTA.handle();
}
Debug Messages
Booting
Ready
IP address: 192.168.1.106
Close MDNS OK
Close Again

Exception (28):
epc1=0x40207a2b epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

>>>stack>>>

ctx: cont
sp: 3ffffd30 end: 3fffffc0 offset: 01a0
3ffffed0:  3ffe86b7 0000204a 00000000 00000000  
3ffffee0:  4020c438 00000000 0000019d 401009a0  
3ffffef0:  000008a0 00000000 3ffee48c 40207ac2  
3fffff00:  00000ca0 00000194 00000194 3ffee708  
3fffff10:  3fffdad0 3ffee48c 3ffee48c 40206341  
3fffff20:  3ffe866b 00000000 3ffee48c 40203650  
3fffff30:  3ffe0000 00000000 01010003 40010001  
3fffff40:  40200000 00000000 3ffee48c 40202fd0  
3fffff50:  00000000 00000000 3ffe865f 3ffee708  
3fffff60:  3fffdad0 3ffee48c 3ffee48c 40202ff6  
3fffff70:  3fffdad0 3ffee48c 3ffee5c0 40203020  
3fffff80:  3fffdad0 3ffee470 3ffee5c0 402010d4  
3fffff90:  4020c438 6a01a8c0 feefeffe feefeffe  
3fffffa0:  feefeffe 00000000 3ffee6c8 4020a634  
3fffffb0:  feefeffe feefeffe 3ffe84f8 40100eed  
<<<stack<<<


Decoded Stack Trace
Exception 28: LoadProhibited: A load referenced a page mapped with an attribute that does not permit loads
PC: 0x40207a2b: esp8266::MDNSImplementation::MDNSResponder::_sendMDNSMessage_Multicast(esp8266::MDNSImplementation::MDNSResponder::stcMDNSSendParameter&) at C:\Users\phil\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266mDNS\src\LEAmDNS_Transfer.cpp line 125
EXCVADDR: 0x00000000

Decoding stack results
0x401009a0: umm_free_core(void*) at C:\Users\phil\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\cores\esp8266\umm_malloc\umm_malloc.cpp line 316
0x40207ac2: esp8266::MDNSImplementation::MDNSResponder::_sendMDNSMessage(esp8266::MDNSImplementation::MDNSResponder::stcMDNSSendParameter&) at C:\Users\phil\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266mDNS\src\LEAmDNS_Transfer.cpp line 96
0x40206341: esp8266::MDNSImplementation::MDNSResponder::stcMDNSSendParameter::stcMDNSSendParameter() at C:\Users\phil\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266mDNS\src\LEAmDNS_Structs.cpp line 2375
0x40203650: esp8266::MDNSImplementation::MDNSResponder::_announce(bool, bool) at C:\Users\phil\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266mDNS\src\LEAmDNS_Control.cpp line 1607
0x40202fd0: std::__shared_ptr ::reset() at c:\users\phil\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506\xtensa-lx106-elf\include\c++\4.8.2\bits/shared_ptr_base.h line 882
0x40202ff6: esp8266::MDNSImplementation::MDNSResponder::close() at C:\Users\phil\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266mDNS\src\LEAmDNS.cpp line 223
0x40203020: esp8266::MDNSImplementation::MDNSResponder::end() at C:\Users\phil\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266mDNS\src\LEAmDNS.cpp line 243
0x402010d4: setup() at C:\Users\phil\Documents\Arduino\mdnsbug/mdnsbug.ino line 21
0x4020a634: loop_wrapper() at C:\Users\phil\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\cores\esp8266\core_esp8266_main.cpp line 177


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4