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

Error: EROFS: read-only file system #446

Closed
djiwondee opened this issue Dec 9, 2020 · 2 comments
Closed

Error: EROFS: read-only file system #446

djiwondee opened this issue Dec 9, 2020 · 2 comments

Comments

@djiwondee
Copy link

Hallo,

auch wenn dieses Symptom hier in einem Issue schon mal diskutiert wurde, mache ich den Case noch mal auf.

Seit gestern oder ggf. auch heute Nacht wirft redmatic im 30 sek Abstand diese Meldung aus

/var/log/messages
Dec 9 09:16:42 ccu3-********* daemon.err node-red[5230]: Error writing context: Error: EROFS: read-only file system, open '/media/usb1/context/d14800ce.426d4/fdf03a43.c8ac2.json.1607501802493.tmp'
/var/log/messages
Dec 9 09:17:12 ccu3-********* daemon.err node-red[5230]: Error writing context: Error: EROFS: read-only file system, open '/media/usb1/context/d14800ce.426d4/fdf03a43.c8ac2.json.1607501832508.tmp'
/var/log/messages
Dec 9 09:17:42 ccu3-********* daemon.err node-red[5230]: Error writing context: Error: EROFS: read-only file system, open '/media/usb1/context/d14800ce.426d4/fdf03a43.c8ac2.json.1607501862528.tmp'

Ich schreibe mehrere Context-Daten auf den USB Stick. Der Fehler wird nur /media/usb1/context/d14800ce.426d4 ausgeworfen.

Neustart des Node-red services oder auch ein kompletter Reboot meiner CCU3 lösen das Problem nicht. Bin auch schon mal per root-User auf die CCU gegangen:

# ls -la d14800ce.426d4/
total 48
drwxr-xr-x    2 root     root         16384 Dec  9 08:42 .
drwxr-xr-x   11 root     root         16384 Oct 29 11:08 ..
-rwxr-xr-x    1 root     root          5462 Dec  9 08:42 fdf03a43.c8ac2.json

Da kann ich z. B. per touch-Befehl auch keine Datei anlegen, was für mich in der Tat auf ein Problem mit dem Filesystem-Mount hinweist.

Der USB-Stick (/media/usb1), den ich nutze ist auch nicht voll:

# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root               975.9M    450.1M    458.6M  50% /
devtmpfs                480.9M         0    480.9M   0% /dev
tmpfs                   485.4M         0    485.4M   0% /dev/shm
tmpfs                   485.4M    104.0K    485.3M   0% /tmp
tmpfs                   485.4M     84.0K    485.3M   0% /run
tmpfs                   485.4M    920.0K    484.5M   0% /var
tmpfs                   485.4M         0    485.4M   0% /media
/dev/mmcblk0p3            2.0G    513.0M      1.5G  26% /usr/local
/dev/mmcblk0p1          255.7M     38.6M    217.2M  15% /mnt/boot_par
/dev/sda1                14.9G      3.1M     14.9G   0% /media/usb1

Für andere Context-Daten gibt es Timestamps auf dem Filesystem. Hier ein Beispiel
image
Die Timestamps auf dem Filesystem für diese Context-Daten müssten eigentlich das Datum/die Zeit repräsentieren, tun sie aber nicht:

# pwd
/media/usb1/context
# ls -la
total 176
drwxr-xr-x   11 root     root         16384 Oct 29 11:08 .
drwxr-xr-x    5 root     root         16384 Jan  1  1970 ..
drwxr-xr-x    2 root     root         16384 Dec  9 08:42 123b4880.955e18
drwxr-xr-x    2 root     root         16384 Dec  9 08:42 2d1f8eaf.e62472
drwxr-xr-x    2 root     root         16384 Dec  9 08:42 42c1b736.4b581
drwxr-xr-x    2 root     root         16384 Dec  9 08:42 62691b0d.04603c
drwxr-xr-x    2 root     root         16384 Dec  9 08:42 7138f7e3.add4a8
drwxr-xr-x    2 root     root         16384 Dec  9 08:42 a92b5b9f.16c61
drwxr-xr-x    2 root     root         16384 Dec  8 19:01 bc493ca1.9a3e08
drwxr-xr-x    2 root     root         16384 Dec  9 08:42 d14800ce.426d4
drwxr-xr-x    2 root     root         16384 Dec  9 08:42 global
# cd 42c1b736.4b581/
# ls -la
total 80
drwxr-xr-x    2 root     root         16384 Dec  9 08:42 .
drwxr-xr-x   11 root     root         16384 Oct 29 11:08 ..
-rwxr-xr-x    1 root     root           154 Dec  8 18:55 flow.json
-rwxr-xr-x    1 root     root           150 Dec  8 19:01 flow.json.1607450477743.tmp
-rwxr-xr-x    1 root     root           154 Dec  9 08:42 flow.json.1607499731898.tmp
# 

# cat flow.json
{
    "lastCO2PeakLevelChildRoom": 538,
    "lastCO2PeakLevelLivingRoom": 479,
    "lastCO2PeakLevelCellar": 3932,
    "lastCO2PeakLevelSleepingRoom": 0
# cat flow.json.1607499731898.tmp 
{
    "lastCO2PeakLevelChildRoom": 433,
    "lastCO2PeakLevelLivingRoom": 453,
    "lastCO2PeakLevelCellar": 3932,
    "lastCO2PeakLevelSleepingRoom": 0

Diverse Recherchen zu der eigentlichen Fehlermeldung per Google zeigen viele Treffer, bringen nicht wirklich helfende Hinweise. Ich würde mich freuen, wenn ich Tipps für weitere Fehlereingrenzung bekäme. Vielen Dank im Voraus!

@Sineos
Copy link

Sineos commented Dec 9, 2020

Hatte das auch schon. War am Ende ein defekter USB Stick.

@djiwondee
Copy link
Author

Mit dem Tipp bin ich auch weitergekommen und habe den Stick mal abgestöpselt und geprüft:

Dateisystem reparieren.
Volume wurde erfolgreich deaktiviert.
fsck_msdos -y /dev/rdisk3s1 ausführen
** /dev/rdisk3s1
** Phase 1 - Preparing FAT

** Phase 2 - Checking Directories
/context/bc493ca1.9a3e08/flow.json starts with free cluster
Truncate? yes

** Phase 3 - Checking for Orphan Clusters
Found orphan cluster(s)
Fix? yes
Marked 5 clusters as free

Free space in FSInfo block (976108) not correct (976113)
Fix? yes

118 files, 15617808 KiB free (976113 clusters)

***** FILE SYSTEM WAS MODIFIED *****

Exit-Code für Dateisystemprüfung lautet 0.
Der ursprüngliche Zustand (aktiviert) wird wiederhergestellt.

Vorgang erfolgreich.

Glaube auch zu wissen, was die Ursache war. Heute Nacht gabs im Haus einen Stromausfall. Da wurde wohl gerade auf den USB-Stick geschrieben... Die fs-Reparatur hat den Fehler beseitigt, jedoch werde ich ihn zu Sicherheit tauschen.

Vielen Dank!

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

No branches or pull requests

2 participants