[GELÖST] Raspberrymatic stürzt regelmäßig ab

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Benutzeravatar
jmaus
Beiträge: 9840
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Raspberrymatic stürzt regelmäßig ab

Beitrag von jmaus » 08.08.2022, 21:54

Also ich kann mich meinen Vorrednern nur anschließen. Die einzige Möglichkeit die es bei einem reproduzierbarem Abstürzen bei einem BadBlockCheck gibt ist die SD Karte bzw den Storage auszuwechseln, denn in 99% der Fälle wird der Absturz durch einen defekten Datenträger hervorgerufen. RaspberryMatic hat hier keinerlei Möglichkeit den Kernel Panic in den der Linux Kernel bei solch einem Event rennt zu umgehen oder zu identifizieren und den Nutzer darüber in Kenntnis zu setzen.

Das ganze habe ich nun auch entsprechend für die Nachwelt im entsprechenden Issue Ticket von fischmir noch einmal auf Englisch zusammengefasst:

https://github.com/jens-maus/RaspberryMatic/issues/1906

Das einzige was ich mir theoretisch vorstellen könnte zu verbessern wäre, den Grund des Absturzes ggf zu identifizieren indem man vor dem BadBlocksCheck eine Statusdatei generiert und dann beim Neustart versucht zu erkennen, das diese Datei existier und der darauf folgende unclean shutdown ggf auf den BadBlocksCheck zurückzuführen ist.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: [GELÖST] Raspberrymatic stürzt regelmäßig ab

Beitrag von jp112sdl » 09.08.2022, 07:30

Ich habe den Thread auch noch mal zum Anlass genommen, etwas umfangreicher zu recherchieren, aber ich konnte Google keinerlei Ergebnisse entlocken, wo "badblocks" zum Kernel-Crash führt.

Zumal der Test nur lesend ausgeführt wird, sollte das erst recht nicht zu Problemen führen.
Ich kann im Sourcecode in der Read-Funktion auch nichts Exotisches erkennen:
https://git.kernel.org/pub/scm/fs/ext2/ ... cks.c#n367
Da wird einfach mit read ein Block gelesen, wie es andere Anwendungen auch machen.

Bleibt die Frage, ob das System auch crashen würde, wenn man bspw. mit "cat" eine Datei liest, die sich über einen defekten Block erstreckt.
Bzw. handelt es sich überhaupt um ein Problem in der "badblocks"-Anwendung oder in der darunterliegenden ext2 Implementierung?
jmaus hat geschrieben:
08.08.2022, 21:54
RaspberryMatic hat hier keinerlei Möglichkeit den Kernel Panic in den der Linux Kernel bei solch einem Event rennt zu umgehen oder zu identifizieren und den Nutzer darüber in Kenntnis zu setzen.
Ließe sich evtl. ein Core Dump auf der R/W Partition ablegen? In der Hoffnung, dass das auf "guten" Blöcken passiert.
Ich kenne mich da mit der BusyBox Kernel-Config nicht aus.

Aber vielleicht könnte man im Dump (mit Call Stack?) sehen, worauf der Crash beruht.
Zuletzt geändert von jp112sdl am 09.08.2022, 08:24, insgesamt 2-mal geändert.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Xel66
Beiträge: 14148
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: [GELÖST] Raspberrymatic stürzt regelmäßig ab

Beitrag von Xel66 » 09.08.2022, 08:16

jp112sdl hat geschrieben:
09.08.2022, 07:30
Ich habe den Thread auch noch mal zum Anlass genommen, etwas umfangreicher zu recherchieren, aber ich konnte Google keinerlei Ergebnisse entlocken, wo "badblocks" zum Kernel-Crash führt.
Hier im Forum sollten nach meiner Erinnerung aber ein paar Erfahrungsberichte aus der Zeit sein, als jmaus das Feature in Raspberrymatic eingeführt hat. Eines zumindest mit absolut identischer Fehlerbeschreibung. Daher habe ich ja gleich auf einen Kartendefekt getippt. Andere mit Beschreibungen zu Auslastungs- und Temperaturproblemen. Grundsätzlich sehe ich das auch so, dass solch ein Programm ein OS nicht ins Straucheln bringen sollte. Zumal es ja genau für diesen Zweck, Defekte zu detektieren, gebaut ist. Aber vielleicht fehlt der Impementation in dem "abgespeckten" Linux unter der RM genau eine Fehlerbehandlungsroutine um das abzufangen, weil eine Abhängigkeit nicht dokumentiert ist, die auf anderen "normalen" Linux-Umgebungen standardmäßig vorhanden ist und so nicht auffällt.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Benutzeravatar
jmaus
Beiträge: 9840
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: [GELÖST] Raspberrymatic stürzt regelmäßig ab

Beitrag von jmaus » 09.08.2022, 08:43

jp112sdl hat geschrieben:
09.08.2022, 07:30
Ich habe den Thread auch noch mal zum Anlass genommen, etwas umfangreicher zu recherchieren…
[…]
Zumal der Test nur lesend ausgeführt wird, sollte das erst recht nicht zu Problemen führen.
Ich kann im Sourcecode in der Read-Funktion auch nichts Exotisches erkennen:
https://git.kernel.org/pub/scm/fs/ext2/ ... cks.c#n367
Da wird einfach mit read ein Block gelesen, wie es andere Anwendungen auch machen.
In der Tat sollte das mit anderen Anwendungen dann auch passieren, ja. Zumindest dann wenn sie auf exakt den gleichen bzw die gleichen defekten Blöcke der SD Karte treffen wie das der badblocks check systematisch ja tut.

Der Punkt warum es hier zu einem Kernel Crash kommt wird in der besonderheiz der SD/MMC Treiber bzw des zugrundeliegenden Controllers liegen. Meinem Wissen nach passiert es nämlich, das in Falle eines defekten Medium der Treiber wohl aus Sicherheitsgründen entscheidet das gesamte device an dem die SD Karte angebunden wird abzuschalten bzw einen reset des Controllers durchzuführen und das löst daraufhin eine "oops" Kernelpanik aus weil andere Schreib- bzw Zugriffsoperationen dann ja nicht weiterkommen. Und der Kernel von RaspberryMatic ist ja so eingestellt das bei einer Kernelpanik ein harter reset ausgelöst wird damit die zentrale daraufhin schnellstmöglichst wieder verfügbar ist und nicht einfach stehen bleibt. Auch kann es gut sein das der Hardware Watchdog - den es ja auch noch gibt - hier eingreift und die Zentrale hart neustartet weil die kernelpanik auch das /dev/watchdog device gleich noch mitreist.
Bleibt die Frage, ob das System auch crashen würde, wenn man bspw. mit "cat" eine Datei liest, die sich über einen defekten Block erstreckt.
Ja, ich denke selbst mit einem einfachen dd über das gesamte device sollte es zum selben Problem kommen sobald das dd auf die blöcke trifft bei dem dann der Treiber des SD Karten controllers dann entscheidet zuzumachen und der Linux kernel dann in einer kernelpanik endet.
Ließe sich evtl. ein Core Dump auf der R/W Partition ablegen? In der Hoffnung, dass das auf "guten" Blöcken passiert.
Ich kenne mich da mit der BusyBox Kernel-Config nicht aus.

Aber vielleicht könnte man im Dump (mit Call Stack?) sehen, worauf der Crash beruht.
Ich denke das wird vmtl in diesem Falle nicht mehr funktionieren, weil eben der gesamte Treiber der SD Karte quasi abgeschalten wird und folglich dann auch kein coredump dann auf das selbe medium mehr abgelegt werden kann. Aber es kann gerne jemand mal probieren.

Jedoch denke ich wäre es zumindest möglich mit der erwähnten Statusdatei den Grund für den Absturz besser zu identifizieren und dann bei der unclean shutdown Alarmmeldung diesen mit auszugeben. Das sollte dann zumindest ein besserer Hint darauf sein warum es zum Neustart gekommen ist bzw welche letzte Aktion vor dem Neustart stattgefunden hat.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

Re: [GELÖST] Raspberrymatic stürzt regelmäßig ab

Beitrag von fischmir » 09.08.2022, 09:15

Seid ihr euch sicher, dass im Logs nix drin steht?

https://github.com/jens-maus/RaspberryM ... cks.sh#L33

Wohin müsste ich den Log schreiben, damit dieser den Reset überlebt?

Motorpsycho
Beiträge: 72
Registriert: 17.11.2015, 20:05
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: [GELÖST] Raspberrymatic stürzt regelmäßig ab

Beitrag von Motorpsycho » 27.09.2022, 13:00

Ich kann das Problem und die Lösung bestätigen. Hatte nachts immer wieder Abstürze. Seit ich vor ein paar Wochen auf Emmc umgestellt habe ist alles total stabil.

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

Re: [GELÖST] Raspberrymatic stürzt regelmäßig ab

Beitrag von fischmir » 27.09.2022, 13:45

Bin such auf emmc umgestiegen. Läuft gut.

Antworten

Zurück zu „RaspberryMatic“