Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Tasmota SML Script + Chart + PV.txt" reboot mit Exception:27 nach "kurzer Zeit" mit Tasmota 14.3.0 #1

Open
mi-hol opened this issue Nov 22, 2024 · 21 comments

Comments

@mi-hol
Copy link

mi-hol commented Nov 22, 2024

Nach ca 2h habe ich immer wieder reboots des ESP32-C3 auf Tasmota 14.3.0

log:

00:00:00.250 CMD: Fall back to serial port, no SOF packet detected on USB port
00:00:00.250 HDW: ESP32-C3 v0.4 
00:00:00.261 UFS: FlashFS mounted with 288 kB free
00:00:00.269 CFG: Loaded from File, Count 83
00:00:00.276 QPC: Count 1
00:00:00.277 CFG: CR 401/699, Busy 0
00:00:00.278 SCR: ufilesystem found
00:00:00.305 SCR: nv=25, tv=3, vns=158, vmem=4099, smem=16384, gmem=588, tmem=21229 
00:00:00.307 TYA: Active=0
00:00:00.309 ROT: Mode 1
00:00:00.316 BRY: GC from 3898 to 3698 bytes, objects freed 4/17 (in 0 ms) - slots from 33/61 to 25/61
00:00:00.330 CFG: No '*.autoconf' file found
00:00:00.335 BRY: GC from 5826 to 4260 bytes, objects freed 8/35 (in 1 ms) - slots from 55/76 to 35/76
00:00:00.336 BRY: Berry initialized, RAM used 4260 bytes
00:00:00.341 BRY: No 'preinit.be'
00:00:00.343 SRC: Restart
00:00:00.346 Project tasmota - Tasmota Version 14.3.0(ottelo.jimdo.de)-3_1_0(2024-10-26T15:32:03)
00:00:00.350 SCR: performs "otaurl !!NEVER UPGRADE VIA WEB SERVER!!"
00:00:00.350 SRC: Rule
00:00:00.351 CMD: Grp 0, Cmd 'OTAURL', Idx 1, Len 32, Pld -99, Data '!!NEVER UPGRADE VIA WEB SERVER!!'
00:00:00.351 CFG: CR 401/699, Busy 0
00:00:00.352 RSL: RESULT = {"OtaUrl":"!!NEVER UPGRADE VIA WEB SERVER!!"}
00:00:00.364 SCR: performs "sensor53 r"
00:00:00.364 SRC: Rule
00:00:00.365 CMD: Grp 0, Cmd 'SENSOR', Idx 53, Len 1, Pld -99, Data 'r'
00:00:00.367 SML: uart used: 1
00:00:00.369 meters: 1 , decode lines: 3, memory used: 1816 bytes
00:00:00.370 RSL: RESULT = {"Time":"1970-01-01T00:00:00","SML":{"CMD":"restart"}}
00:00:00.390 ETH: No ETH MDC and ETH MDIO GPIO defined
00:00:00.392 SML: uart used: 1
00:00:00.393 meters: 1 , decode lines: 3, memory used: 1816 bytes
00:00:00.409 BRY: No 'autoexec.be'
00:00:00.421 NTP not ready
00:00:00.499 WIF: Checking connection...
00:00:00.499 WIF: Attempting connection...
00:00:01.002 WIF: Connecting to AP1 UPC2CB42C7 Channel 8 BSSId 90:5C:44:DA:9F:04 in mode HT40 as tasmota-1C972C-5932...
00:00:01.012 NTP not ready
00:00:02.150 WIF: IPv4 192.168.0.178, mask 255.255.255.0, gateway 192.168.0.1
00:00:02.736 NTP not ready
00:00:03.336 WIF: Checking connection...
00:00:03.337 WIF: Connected
00:00:03.423 WIF: IPv6 Local fe80::da3b:daff:fe1c:972c%st1
00:00:03.594 HTP: Web server active on tasmota-1C972C-5932 with IP address 192.168.0.178
00:00:03.736 NTP: Sync time...
00:00:03.771 WIF: DNS resolved '2.pool.ntp.org' (212.18.3.19) in 34 ms
00:00:03.814 RTC: UTC 2024-11-22T13:28:13Z, DST 2024-03-31T02:00:00, STD 2024-10-27T03:00:00
14:28:13.000 RTC: Synced by NTP
14:28:13.586 RSL: INFO1 = {"Info1":{"Module":"ESP32C3","Version":"14.3.0(ottelo.jimdo.de)","FallbackTopic":"cmnd/DVES_1C972C_fb/","GroupTopic":"cmnd/tasmotas/"}}
14:28:13.599 RSL: INFO2 = {"Info2":{"WebServerMode":"Admin","Hostname":"tasmota-1C972C-5932","IPAddress":"192.168.0.178","IP6Global":"","IP6Local":"fe80::da3b:daff:fe1c:972c%st1"}}
14:28:13.614 RSL: INFO3 = {"Info3":{"RestartReason":{"Exception":27,"Reason":"Unknown","EPC":"4203017c","EXCVADDR":"00004a96","CallChain":["420c0b42","420c0b42","4214c0e8","42152f10","420a033c","420a0300","4209b692","4214e090","40389d86","420308ae","42036c7c","42025dca","4214e090","40389d86","40389be2","40389d2c","420a8e86","420adf78","420ae07e","40389be2","40389d2c","42011ab6","42011ada","4207a0a2","4207a14e","4200d20a","42016710","40389c54","420adf78","40387b48","40387b48","4215cade","420d98f8","42086cf0","4207fe6c"]},"BootCount":40}}
14:28:13.659 TFS: File 'autoexec.bat' not found
14:28:16.423 WIF: IPv6 Global 2a02:8070:8883:1140:da3b:daff:fe1c:972c
14:28:16.725 QPC: Reset
14:28:17.728 BRY: GC from 5981 to 4607 bytes, objects freed 16/46 (in 1 ms) - slots from 72/91 to 50/91
14:28:17.730 RSL: STATE = {"Time":"2024-11-22T14:28:17","Uptime":"0T00:00:08","UptimeSec":8,"Heap":161,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":0,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"UPC2CB42C7","BSSId":"90:5C:44:DA:9F:04","Channel":8,"Mode":"HT40","RSSI":66,"Signal":-67,"LinkCount":1,"Downtime":"0T00:00:03"}}
14:28:17.756 RSL: SENSOR = {"Time":"2024-11-22T14:28:17","EasyM":{"Power_curr":205,"Total_in":89.74,"Total_out":3.69}}
14:28:18.734 APP: Boot Count 40
14:28:19.221 CFG: Saved, Count 84, Bytes 4096
14:28:22.737 RSL: config = {"ip":"192.168.0.178","dn":"Tasmota","fn":["Tasmota",null,null,null,null,null,null,null],"hn":"tasmota-1C972C-5932","mac":"D83BDA1C972C","md":"ESP32C3","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"14.3.0","t":"tasmota_1C972C","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],"swn":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"btn":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":0,"82":0,"114":0,"117":0},"lk":0,"lt_st":0,"bat":0,"dslp":0,"sho":[],"sht":[],"ver":1}
14:28:22.742 RSL: sensors = {"sn":{"Time":"2024-11-22T14:28:22","EasyM":{"Power_curr":208,"Total_in":89.74,"Total_out":3.69}},"ver":1}
14:28:32.292 WIF: Checking connection...
14:28:52.339 WIF: Checking connection...
@ottelo9
Copy link
Owner

ottelo9 commented Nov 22, 2024

Laut dem Script Entwickler gemu2015:
Im aktuellen Core scheint es ein Problem zu geben, wenn die Webseite länger braucht um zu laden.

Ich melde mich falls ich mehr weiß.

@mi-hol
Copy link
Author

mi-hol commented Nov 23, 2024

script läuft bisher 6h stabil auf "Tasmota 14.1.0 (ottelo.jimdo.de) by Theo Arends"

@ottelo9
Copy link
Owner

ottelo9 commented Nov 23, 2024

Bei mir läuft „SML Script + Chart + PV„ mit Tasmota 14.3.0 seit 11 Tagen auf einem ESP32-C3 mini. Oft rufe ich die Webseite aber nicht auf, da alles über Home Assistant läuft.

@mi-hol
Kannst du bei dir mal testweise Stück für Stück die Diagramme auskommentieren bis keine Reboots mehr kommen? Mit Tasmota 14.3.0

Also zuerst das 4 und 24h Diagramm. Kommen die Reboots immernoch dann die Balkendiagramme. Einfach ein Semikolon davor schreiben ganz unten in der >W Sektion. Bei den 4/24h Diagrammen musst du einige Zeilen auskommentieren bei den Balkendiagrammen nur jeweils immer eine Zeile mit dem sub.

Ich bekomme ja zurzeit keine Reboots mehr hin kann es also irgendwie nicht mehr testen.

@mi-hol
Copy link
Author

mi-hol commented Nov 23, 2024

Ich brauche leider für ein Projekt dringend die Daten und habe im Moment nur einen Lesekopf, es wird deshalb ein bischen dauern bevor ich den Wunsch erfüllen kann.

mWn die schnellste Methode einen reboot zu provozieren, war bei mir die Zeile
$<script> setTimeout("location.reload(true);",1000); </script>
zu aktivieren

@mi-hol
Copy link
Author

mi-hol commented Nov 23, 2024

script läuft bisher 14h30m stabil auf "Tasmota 14.1.0 (ottelo.jimdo.de) by Theo Arends"

@mi-hol
Copy link
Author

mi-hol commented Nov 28, 2024

script läuft bisher 04d 18h30m stabil auf "Tasmota 14.1.0 (ottelo.jimdo.de) by Theo Arends"

@ottelo9 @gemu2015 wegen der Aussage "im aktuellen Core scheint es ein Problem zu geben, wenn die Webseite länger braucht um zu laden."
gibt es dazu vielleicht einen passenden issue in https://github.com/arendst/Tasmota/issues?

@gemu2015
Copy link

Da gibt es keinen "issue" in Tasmota weil das sowieso nicht erlaubt im WebUi so zeitintensive Tasks zu machen.
Bei core2 wurde das aber besser toleriert. jetzt hängt das System komplett und es kann zum Absturz kommen.
Man muss jetzt besser darauf achten die Task zeitsparend zu machen.

@ottelo9
Copy link
Owner

ottelo9 commented Nov 30, 2024

Danke für die Info! Woher bekommt man (wir als Nicht-Entwickler) solche Infos? Sind das nur Interna oder gibt es irgendwo ne guideline (oder in den Kommentaren des Codes)?

Eigentlich schade, so muss ich wohl das Script Abspecken.

@gemu2015
Copy link

nein das ist einfach ein Erfahrungswert. habe bei einigen Geräten festgestellt dass er hängt wenn es zu lange dauert. bei core 2 hat das aber nichts gemacht.
bei core 3 kommt er aber nicht zurück.

Man muss aber sicher stellen ob das wirklich daran liegt, oder sich sonst noch was geändert hat. Ich habe eine ganze Reihe von neuen Problemen seit core 3 gehabt.

du solltest also zunächst mal alle Grafiken herausnehmen und dann nacheinander wieder hinein bis der Fehler wieder auftritt.
Dann mir Bescheid geben welcher Graf den Unterschied macht.

@mi-hol
Copy link
Author

mi-hol commented Nov 30, 2024

habe bei einigen Geräten festgestellt dass er hängt wenn es zu lange dauert. bei core 2 hat das aber nichts gemacht.
bei core 3 kommt er aber nicht zurück.

Linux hat da eine ganz klare Aussage bei solcher Art von Verhaltensänderungen "We don’t cause regressions " ich öffne gleich ein issue um rauszufinden, ob das so bei Tasmota auch gilt.

@gemu2015
Copy link

wie gesagt ich würde aber trotzdem erst gerne wissen was genau den reboot erzeugt, also welcher Programmteil des scripts.

@mi-hol
Copy link
Author

mi-hol commented Dec 1, 2024

Linux hat da eine ganz klare Aussage bei solcher Art von Verhaltensänderungen "We don’t cause regressions "

habe das erst mal in Discord gefragt

der konkrete Fall existiert schon in arendst/Tasmota#22405, wir brauchen also keine Reproduktion für unseren Fall als Voraussetzung

@ottelo9
Copy link
Owner

ottelo9 commented Dec 15, 2024

So, ich habe meine Tests abgeschlossen. Es liegt nicht direkt an den Diagrammen, sondern anscheinend einfach an der Menge an HTML Zeichen. Gebe ich nur ein paar Wörter aus, so rebootet der ESP nie. Aber bei mehreren Sätzen gibts reboots. Abgespeckt hatte ich nur die >W Sektion. An einem Stromzähler hängt der ESP nicht.

Getestet mit diesem Script:
reboot_script.txt

Ich verwende das hier damit die Seite alle 5s refresht:
$<script> setTimeout("location.reload(true);",5000); </script>

@mi-hol
Copy link
Author

mi-hol commented Dec 15, 2024

Getestet mit diesem Script:
reboot_script.txt

Super!
Hättest Du vielleicht einen ESP32 auf dem Du das mit der neuesten Tasmota 14.04 prüfen könntest?

@mi-hol
Copy link
Author

mi-hol commented Dec 15, 2024

das letzte release 54 arendst/Tasmota@da7473e ändert interessanterweise den WebSend Driver

@ottelo9
Copy link
Owner

ottelo9 commented Dec 15, 2024

Teste ich nachher mal. Danke für die Info.

Tasmota 14.4.1 erstellt. Image für den ESP32C3 habe ich schonmal hier abgelegt:
https://drive.google.com/drive/folders/1PsGNWf6VwCN-fdvi45bY8-8CoK_nEdf9?usp=sharing

Bin gerade am Testen...

PS
Behebt das Rebootproblem nicht!

@mi-hol
Copy link
Author

mi-hol commented Dec 16, 2024

Danke @ottelo9 !
Planst Du ein issue bei Tasmota zu öffnen?

@ottelo9
Copy link
Owner

ottelo9 commented Dec 16, 2024

@mi-hol
Erstmal nicht....
Ich bin gerade noch im direkten Kontakt mit @gemu2015 und teste ein paar Sachen...

@mi-hol
Copy link
Author

mi-hol commented Dec 25, 2024

@ottelo9 magst Du vielleicht einen Status der Test mit gemu2015 publizieren?

@ottelo9
Copy link
Owner

ottelo9 commented Dec 26, 2024

Ich hatte mit ihm mehrere Images getestet und habe alle Diagramme zum Test entfernt. Auch mit nur etwas Text in der >W Sektion kann man nach einigen Minuten einen Reboot provozieren, liegt also nicht direkt an den Diagrammen. Mehr Inhalt heißt häufigere Reboots.

Gemu meint, dass es wohl an einem oder mehreren Treibern liegen könnten, die seit 14.1.0 verändert wurden und den Absturz jetzt verursachen. Er deaktiviert immer alle unnötigen Treiber und bei ihm läuft das Image ohne Reboot.

Ich lasse aber immer gerne alles aktiv, damit man damit immer noch mehr machen kann als nur den Zähler auszulesen. Ich werde noch ein Image erstellen mit deaktivierten Treibern. (siehe undef Liste). Eine richtige Lösung haben wir aber bislang leider nicht.

undefs.txt

@ottelo9
Copy link
Owner

ottelo9 commented Dec 29, 2024

Kurze Rückmeldung.
Ich teste gerade das Reboot Testscript mit Tasmota 14.3.0 und 14.4.1 auf einem ESP32-WROOM-32 und ESP01s. Scheint bislang zu laufen ohne Reboot.
reboot_script.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants