[GH-ISSUE #1766] Core panic when doing the APCallback call. #1492

Open
opened 2026-02-28 01:30:17 +03:00 by kerem · 0 comments
Owner

Originally created by @pvergezac on GitHub (Oct 8, 2024).
Original GitHub issue: https://github.com/tzapu/WiFiManager/issues/1766

Basic Infos

Core panic when doing APCallback call back, because "_apcallback" variable is not properly initialized by default in WiFiManager.h.

Hardware

WiFimanager Branch/Release: Master

Esp8266/Esp32:

Hardware: ESP-12e, esp01, esp25

Core Version: 2.4.0, staging

Description

Core panic when doing APCallback call, because "_apcallback" variable is not properly initialized to NULL by default.

To be solved by initializing _apcallback=NULLL (and all callback functions) in WiFiManager.h, or calling myWiFi.setAPCallback(NULL) in sketch;

std::function<void(WiFiManager*)> _apcallback=NULL;
std::function<void()> _webservercallback=NULL;
std::function<void()> _savewificallback=NULL;
std::function<void()> _presavewificallback=NULL;
std::function<void()> _presaveparamscallback=NULL;
std::function<void()> _saveparamscallback=NULL;
std::function<void()> _resetcallback=NULL;
std::function<void()> _preotaupdatecallback=NULL;
std::function<void()> _configportaltimeoutcallback=NULL;

Settings in IDE

Module: NodeMcu, Wemos D1

Additional libraries:

Sketch

#BEGIN
#include <Arduino.h>

void setup() {
  //reset settings - for testing
  myWiFi.resetSettings();

  myWiFi.setConfigPortalTimeout(160);
  if ( !myWiFi.autoConnect("Companion-NG") {
    log_println("[Wifi] - Failed to connect and hit timeout");
    delay(3000);
    //reset and try again, or maybe put it to deep sleep
    ESP.restart();
    delay(5000);
  }
}

void loop() {

}
#END

Debug Messages

*wm:[2] SoftAP Configuration 
*wm:[2] -------------------- 
*wm:[2] ssid:             Companion-NG
*wm:[2] password:         
*wm:[2] ssid_len:         12
*wm:[2] channel:          1
*wm:[2] authmode:        
*wm:[2] ssid_hidden:     
*wm:[2] max_connection:   4
␔��:[2] country:          CN ␁
*wm:[2] beacon_interval:  100(ms)
*wm:[2] -------------------- 
*wm:[2] AP IP address: 192.168.4.1
*wm:[3] [CB] _apcallback calling 
Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.

Core  1 register dump:
PC      : 0x420123b7  PS      : 0x00060330  A0      : 0x82012468  A1      : 0x3fcebd40  
A2      : 0x00000000  A3      : 0x00000002  A4      : 0x00000000  A5      : 0x3fc9e370  
A6      : 0x3fc9df70  A7      : 0x00000016  A8      : 0x3c111e18  A9      : 0x3c111d57  
A10     : 0x0000005f  A11     : 0x00000100  A12     : 0x0001e780  A13     : 0x00000001  
A14     : 0x00000000  A15     : 0x0000ffe0  SAR     : 0x00000010  EXCCAUSE: 0x0000001c  
EXCVADDR: 0x00000002  LBEG    : 0x400556d5  LEND    : 0x400556e5  LCOUNT  : 0xfffffffa  


Backtrace: 0x420123b4:0x3fcebd40 0x42012465:0x3fcebd70 0x420128f1:0x3fcebdc0 0x42003442:0x3fcebde0 0x420c1b53:0x3fcebe20 0x4201c392:0x3fcebe40 0x4201c87d:0x3fcebec0 0x42004ff6:0x3fcebf30 0x42005c55:0x3fcebf70 0x42022796:0x3fcebfd0
Originally created by @pvergezac on GitHub (Oct 8, 2024). Original GitHub issue: https://github.com/tzapu/WiFiManager/issues/1766 ### Basic Infos Core panic when doing APCallback call back, because "_apcallback" variable is not properly initialized by default in WiFiManager.h. #### Hardware WiFimanager Branch/Release: Master Esp8266/Esp32: Hardware: ESP-12e, esp01, esp25 Core Version: 2.4.0, staging ### Description Core panic when doing APCallback call, because "_apcallback" variable is not properly initialized to NULL by default. To be solved by initializing _apcallback=NULLL (and all callback functions) in WiFiManager.h, or calling myWiFi.setAPCallback(NULL) in sketch; std::function<void(WiFiManager*)> _apcallback=NULL; std::function<void()> _webservercallback=NULL; std::function<void()> _savewificallback=NULL; std::function<void()> _presavewificallback=NULL; std::function<void()> _presaveparamscallback=NULL; std::function<void()> _saveparamscallback=NULL; std::function<void()> _resetcallback=NULL; std::function<void()> _preotaupdatecallback=NULL; std::function<void()> _configportaltimeoutcallback=NULL; ### Settings in IDE Module: NodeMcu, Wemos D1 Additional libraries: ### Sketch ```cpp #BEGIN #include <Arduino.h> void setup() { //reset settings - for testing myWiFi.resetSettings(); myWiFi.setConfigPortalTimeout(160); if ( !myWiFi.autoConnect("Companion-NG") { log_println("[Wifi] - Failed to connect and hit timeout"); delay(3000); //reset and try again, or maybe put it to deep sleep ESP.restart(); delay(5000); } } void loop() { } #END ``` ### Debug Messages ``` *wm:[2] SoftAP Configuration *wm:[2] -------------------- *wm:[2] ssid: Companion-NG *wm:[2] password: *wm:[2] ssid_len: 12 *wm:[2] channel: 1 *wm:[2] authmode: *wm:[2] ssid_hidden: *wm:[2] max_connection: 4 ␔��:[2] country: CN ␁ *wm:[2] beacon_interval: 100(ms) *wm:[2] -------------------- *wm:[2] AP IP address: 192.168.4.1 *wm:[3] [CB] _apcallback calling Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled. Core 1 register dump: PC : 0x420123b7 PS : 0x00060330 A0 : 0x82012468 A1 : 0x3fcebd40 A2 : 0x00000000 A3 : 0x00000002 A4 : 0x00000000 A5 : 0x3fc9e370 A6 : 0x3fc9df70 A7 : 0x00000016 A8 : 0x3c111e18 A9 : 0x3c111d57 A10 : 0x0000005f A11 : 0x00000100 A12 : 0x0001e780 A13 : 0x00000001 A14 : 0x00000000 A15 : 0x0000ffe0 SAR : 0x00000010 EXCCAUSE: 0x0000001c EXCVADDR: 0x00000002 LBEG : 0x400556d5 LEND : 0x400556e5 LCOUNT : 0xfffffffa Backtrace: 0x420123b4:0x3fcebd40 0x42012465:0x3fcebd70 0x420128f1:0x3fcebdc0 0x42003442:0x3fcebde0 0x420c1b53:0x3fcebe20 0x4201c392:0x3fcebe40 0x4201c87d:0x3fcebec0 0x42004ff6:0x3fcebf30 0x42005c55:0x3fcebf70 0x42022796:0x3fcebfd0 ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/WiFiManager#1492
No description provided.