Zwischenbericht
Nach 420.330,4291 Sekunden, also gut 4 Tagen und 20 Stunden, hat der Datenlogger von sich aus neugestartet und ist wohl nach dem Neustart auf dem gleichen Fehler OSError: Network card not available ausgerutscht, der oben schon erwähnt wurde. Hier muss dringend nachgebessert werden.
Als Ursache für das Ausrutschen konnte diesmal dank Monitoring and recording the serial interface output of a microcontroller attached to an UART interface ein CORE DUMP beobachtet werden. Anbei finden sich entsprechende Logs dazu.
- 01-post-mortem-01-narrow.log (4.3 KB)
- 01-post-mortem-02-medium.log (42.5 KB)
STGTFO
24.4832 [terkin.network.wifi ] INFO : WiFi STA: Waiting for network "GartenNetzwerk" to come up, 1 retries left
25.3060 [terkin.network.wifi ] INFO : WiFi STA: Waiting for network "GartenNetzwerk" to come up, 0 retries left
26.1432 [terkin.network.wifi ] ERROR : WiFi STA: Connecting to "GartenNetzwerk" failed
Traceback (most recent call last):
File "network/wifi.py", line 117, in connect_stations
File "network/wifi.py", line 192, in connect_station
WiFiException: WiFi STA: Unable to connect to "GartenNetzwerk"
26.5553 [terkin.api.http ] INFO : Setting up HTTP API
Unhandled exception in thread started by <bound_method>
Traceback (most recent call last):
File "network/ip.py", line 24, in start_real
OSError: Network card not available
26.9223 [terkin.api.http ] INFO : Starting HTTP server
Traceback (most recent call last):
File "main.py", line 72, in <module>
File "main.py", line 67, in main
File "datalogger.py", line 143, in start
File "device.py", line 211, in start_network_services
File "network/core.py", line 71, in start_httpserver
File "api/http.py", line 70, in start
File "microWebSrv.py", line 221, in Start
OSError: Network card not available
Überlegung
Für die Ursache des sporadischen CORE DUMPs könnten “weiche” Fehler sein, die über Single-Event Upsets (SEUs) zustande kommen können [1].
Zwischenfazit
Die exakte Ursache solcher sporadischer Abstürze muss uns an dieser Stelle jedoch gar nicht primär interessieren, wir müssen nur durch optimale Vorbereitung das Chaos gut im Griff haben.
Dankenswerterweise übernimmt der Watchdog-Timer (WDT) an dieser Stelle eine wichtige Aufgabe und führt das Gerät automatisch wieder aus dem Fehlerzustand heraus.
-
Ein Single Event Upset (SEU) ist ein Soft Error (deutsch „weicher“ Fehler), der beispielsweise beim Durchgang hochenergetischer ionisierender Teilchen durch Halbleiterbauelemente hervorgerufen werden kann. Der Fehler äußert sich beispielsweise als bitflip, also der Änderung des Zustandes eines einzelnen oder mehrerer Bits in Speicherbausteinen oder CPU-Registern, was wiederum zu einer Fehlfunktion des betroffenen Bauteils führen kann. Wissenschaftliches und gleichermaßen Kurioses dazu haben wir auch unter Soft errors caused by single-event upsets (SEUs) zusammengetragen. ↩︎