Comments (6)
from ahoy.
übersetzter Stacktrace:
Decoding stack results
0x401001c8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 181
0x40100b8c: umm_init() at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\umm_malloc\umm_malloc.cpp line 476
0x401000ac: app_entry_redefinable() at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 325
0x401001c8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 181
0x4021e57c: pbuf_try_get_at at core/pbuf.c line 1392
0x401001c8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 181
0x4021907d: __hexnan at /workdir/repo/newlib/newlib/libc/stdlib/gdtoa-hexnan.c line 145
0x4021993a: __b2d at /workdir/repo/newlib/newlib/libc/stdlib/mprec.c line 691
0x40217fc3: _dtoa_r at /workdir/repo/newlib/newlib/libc/stdlib/dtoa.c line 498
0x401001c8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 181
0x4021993a: __b2d at /workdir/repo/newlib/newlib/libc/stdlib/mprec.c line 691
0x401001c8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 181
0x40214c2b: _printf_float at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf_float.c line 205
0x40218655: _dtoa_r at /workdir/repo/newlib/newlib/libc/stdlib/dtoa.c line 808
0x40219c0c: __any_on at /workdir/repo/newlib/newlib/libc/stdlib/mprec.c line 1035
0x4021493d: isspace at /workdir/repo/newlib/newlib/libc/ctype/isspace.c line 49
0x40219c0c: __any_on at /workdir/repo/newlib/newlib/libc/stdlib/mprec.c line 1035
0x40215481: _printf_i at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf_i.c line 163
0x40219c0c: __any_on at /workdir/repo/newlib/newlib/libc/stdlib/mprec.c line 1035
0x401001c8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 181
0x402155b0: _printf_i at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf_i.c line 209
0x401001c8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 181
0x402098a6: WiFiServer::available(unsigned char*) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WiFi\src\WiFiServer.cpp line 115
0x40207bf0: esp8266webserver::ESP8266WebServerTemplate ::handleClient() at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h line 274
0x401001c8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 181
0x40207bd4: esp8266webserver::ESP8266WebServerTemplate ::handleClient() at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h line 274
0x40207d62: esp8266webserver::ESP8266WebServerTemplate ::begin() at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h line 372
0x401001c8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 181
0x40100348: delayMicroseconds(unsigned int) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_wiring.cpp line 209
0x401001c8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 181
0x40211efd: cleanupFunctional(void*) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\FunctionalInterrupt.cpp line 32
0x4020c1d3: PubSubClient::loop() at C:\Users\usr\Documents\Arduino\libraries\PubSubClient\src\PubSubClient.cpp line 373
0x40203cf6: app::loop() at C:\github\ahoy\tools\esp8266/app.cpp line 160
0x401001c8: ets_post(uint8, ETSSignal, ETSParam) at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 181
0x401001e9: esp_schedule() at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 128
0x4021041e: init_done() at C:\Users\usr\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\core_esp8266_main.cpp line 265
from ahoy.
Ist dieser Reset ein typischer ESP8266-Reset aufgrund "zu wenig Zeit für WLAN" oder etwas anderes? Bezieht sich "app::loop() at C:\github\ahoy\tools\esp8266/app.cpp line 160" nicht auf die Sendefunktion, die dem WLAN ggf. zuviel Zeit "klaut"?
(nur Spekulation, so tief stecke ich hier nicht drin)
from ahoy.
@dad401 hier ist der Commit für die 0.2.9 bei dem der o.a. Stacktrace mutmaßlich aufgetreten ist:
a9b7fd0
M.E. ist er außer in app::loop (app.cpp Zeile 160) auch in PubSubClient::loop und dort beim cleanupFunctional, etc.
Mir ist nicht ganz klar wie das esp8266webserver::ESP8266WebServerTemplate auf den Stack kommt, aber mein StackTrace in #15 hat auch den umm_init() Aufruf in umm_malloc.cpp relativ weit oben auf dem Stack. Ich habe daher die Vermutung daß evtl. die String Klasse im Constructor / Deconstructor sehr viel (oder zu viel?) Zeit verbringt. Bei den Templates müssen ja mehrere String Objekte angelegt werden und dann die {VARIABLEN} ausgetauscht werden. Dabei werden i.d.R. mehrere Instanzen erzeugt, die danach wieder aus dem Speicher entfernt werden müssen. Da die String Objekte (=ESP8266WebServerTemplates) relativ groß sind, dürfte das auch einige Zeit in Anspruch nehmen
Vielleicht versucht er auch WebServer und PubSubClient gleichzeitig zu handlen und schafft es daher nicht.
from ahoy.
Ich habe mir mal angesehen wie es denn andere Projekte (hier Tasmota) machen.
void SleepDelay(uint32_t mseconds) {
if (!TasmotaGlobal.backlog_nodelay && mseconds) {
uint32_t wait = millis() + mseconds;
while (!TimeReached(wait) && !Serial.available() && !TasmotaGlobal.skip_sleep) {
// We need to service serial buffer ASAP as otherwise we get uart buffer overrun
delay(1);
}
} else {
delay(0);
}
}
from ahoy.
das sieht ähnlich zu meiner checkTicker
Routine in main.h
. Komisch finde ich dem Beispiel das delay(0)
. Bin eigentlich gerade ganz glücklich über die Stabilität.
Da es hier um Version 0.2.9 geht werde ich den Issue jetzt schließen.
from ahoy.
Related Issues (20)
- mangelnde Browser kompatibiltät [Bug] HOT 29
- PowerLimit kann nicht gesetzt werden wenn Passwort gesetzt ist HOT 4
- Radio statistics for Inverter HOT 7
- [Bug]Webserial: Text ändert sich von deutsch auf englisch HOT 3
- [Bug] Wrong Body Format POST to /api/ctrl leads to reboot of ahoy-dtu HOT 7
- Ahoy 0.8.85-Zero ??? HOT 1
- [Bug] AhoyDTU allows to signin but shows no live data etc. but history, restapi, documentation,about HOT 11
- [Bug] ESP LED permanent on, but set to off HOT 8
- Neustart wird verlangt, obwohl keine Änderungen durchgeführt[Bug] HOT 13
- deutsche Version: Uptime/ESP-Time ist noch englisch HOT 5
- turn inverter on and off via mqtt HOT 2
- MQTT Topics Change and Missing since 0.8.79 HOT 4
- MQTT radio_stst HOT 16
- AhoyDTU did not run after update from Ver 0.8.60 to 0.8.83/86. No life-data. No conection to nRF24L01+. HOT 4
- Support HMS-400-1T with 1125 Serialnumber HOT 27
- Mehr Zellenleistung als der WR kann = Bootloop[Bug] HOT 8
- Verlaufsanzeige ohne Login im Browser sichtbar [Bug] HOT 2
- Board wird auf History Seite nicht angezeigt [Bug] HOT 1
- Peinliche Frage: Wo ist jetzt die Leistungseinstellung ab 0.8.36 HOT 17
- Funkmodul CMT2300A: Kann man damit HMS- und HM-Inverter auslesen? HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ahoy.