[Freifunk Franken Firmware 0000115]: Locks not deleted for mesh routers after Uplink goes off

Mantis Bug Tracker mbt at chrisi01.de
Do Dez 6 17:59:27 CET 2018


Der folgende Eintrag wurde geschlossen. 
====================================================================== 
https://mantis.freifunk-franken.de/view.php?id=115 
====================================================================== 
Berichtet von:              Adrian Schmutzler
Zugewiesen an:              Adrian Schmutzler
====================================================================== 
Projekt:                    Freifunk Franken Firmware
Eintrag-ID:                 115
Kategorie:                  Freifunk Franken Firmware
Reproduzierbarkeit:         nicht getestet
Auswirkung:                 Blocker
Priorität:                  dringend
Status:                     geschlossen
Zielversion:                next-stable
Lösung:                     keine Änderung notwendig
Behoben in Version:         
====================================================================== 
Erstellt am:                2018-12-06 15:33 CET
Zuletzt geändert:           2018-12-06 17:59 CET
====================================================================== 
Zusammenfassung:            Locks not deleted for mesh routers after Uplink goes
off
Beschreibung: 
We have a set of Mesh-Routers that all did not come back after the Uplink went
down and up some time later:
https://monitoring.freifunk-franken.de/routers/4017

>From a mesh router connected via Ethernet, I was able to find out that
configurehood was not running, but the locks for configurehood and nodewatcher
were still present.

Thus, there must have been a situation where configurehood (and nodewatcher)
were cancelled without raising INT, TERM or EXIT, so execution is blocked by the
left-over lock file:
root at km005:~# ls -al /var/lock
drwxr-xr-x    2 root     root           320 Dec  4 16:45 .
drwxrwxrwt   12 root     root           380 Dec  6 10:38 ..
-rwx------    1 root     root             6 Dec  6 10:38 configurehood.lock
-rwx------    1 root     root             6 Dec  6 10:35 nodewatcher.lock
-rw-r--r--    1 root     root             0 Dec  4 16:43 procd_dropbear.lock
[...]

It is particularly interesting that this happened for BOTH configurehood AND
nodewatcher (note the time difference above).
====================================================================== 

---------------------------------------------------------------------- 
 (0000321) Adrian Schmutzler (Administrator) - 2018-12-06 15:43
 https://mantis.freifunk-franken.de/view.php?id=115#c321 
---------------------------------------------------------------------- 
Logread ist voll mit:
Thu Dec  6 10:46:57 2018 daemon.info macnock[12508]: [s] Not allowing
30:b5:c2:ee:0f:29. Wrong hood: "30:b5:c2:ee:0f:28"
Thu Dec  6 10:46:57 2018 daemon.info macnock[12508]: [s] Not allowing
60:e3:27:ce:fa:e5. Wrong hood: "Forchheim"
Thu Dec  6 10:46:58 2018 daemon.info macnock[12508]: [s] Not allowing
30:b5:c2:ee:0f:29. Wrong hood: "30:b5:c2:ee:0f:28"
Thu Dec  6 10:46:58 2018 daemon.info macnock[12508]: [s] Not allowing
60:e3:27:ce:fa:e5. Wrong hood: "Forchheim"

show_info:
-> HOOD
Hood:
Mesh-Type (2.4/5 GHz): 802.11s / 802.11s
Channel (2.4/5 GHz): -- / -- (real) | 13 / 40 (Hood)
SSID (Client-AP): - (real) | freifunk-fo.de (Hood)
Config-AP: down

Das heißt, das Hoodfile ist da, aber der Router ist nicht konfiguriert.

Der Uplink kam bereits am 5. Mai wieder online, die Mesh-Router sind seit 2. Mai
offline.
Die Locks sind aber auf den Dec 6 10:3X datiert!

D.h. nachdem der Uplink da war, wurden noch munter Locks geschrieben, aber die
Router blieben trotzdem kaputt?!
Und dann irgendwann ging es ganz kaputt... 

---------------------------------------------------------------------- 
 (0000322) Adrian Schmutzler (Administrator) - 2018-12-06 16:30
 https://mantis.freifunk-franken.de/view.php?id=115#c322 
---------------------------------------------------------------------- 
So, wir haben festgestellt, dass das Dateisystem gelockt ist.

Aber:
Mesh-Router:
root at km005:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 2.5M      2.5M         0 100% /rom
tmpfs                    13.8M     76.0K     13.7M   1% /tmp
/dev/mtdblock3          320.0K    256.0K     64.0K  80% /overlay
overlayfs:/overlay      320.0K    256.0K     64.0K  80% /
tmpfs                   512.0K         0    512.0K   0% /dev
root at km005:~# echo "1" > /etc/abc
-ash: can't create /etc/abc: No space left on device

Uplink-Router:
root at km012:~# echo "1" > /etc/abc
root at km012:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 2.5M      2.5M         0 100% /rom
tmpfs                    13.8M    100.0K     13.7M   1% /tmp
/dev/mtdblock3          320.0K    264.0K     56.0K  83% /overlay
overlayfs:/overlay      320.0K    264.0K     56.0K  83% /
tmpfs                   512.0K         0    512.0K   0% /dev

Uplink-Router hat weniger frei, aber kann noch schreiben.

 

---------------------------------------------------------------------- 
 (0000323) Adrian Schmutzler (Administrator) - 2018-12-06 17:08
 https://mantis.freifunk-franken.de/view.php?id=115#c323 
---------------------------------------------------------------------- 
Der Grund, warum die Router kaputt gehen, ist dann ganz trivial:

root at km005:~# configurehood
Trying to get hoodfile from ethernet neighbor...
wget: server returned error: HTTP/1.1 404 Not Found
New file detected, we reconfigure the Node
Setting hood name: Forchheim (ID )
uci: I/O error
sh: auto: out of range
uci: I/O error
w2ap
sh: auto: out of range
uci: I/O error
uci: I/O error
w2mesh
Loading wifi
sed: /etc/crontabs/root: No such file or directory
/etc/rc.common: line 151: /etc/init.d/cron: not found
/etc/init.d/alfred: waiting 30 secs for br-mesh address...
/etc/init.d/alfred: starting alfred
rm: can't remove '/tmp/fastd_fff_peers/*': No such file or directory
/etc/init.d/fastd: fff: interface 'fffVPN' does not exist
Address already set.
Address already set.
Route already set.


Ohne uci keine Konfiguration. 

---------------------------------------------------------------------- 
 (0000324) Adrian Schmutzler (Administrator) - 2018-12-06 17:58
 https://mantis.freifunk-franken.de/view.php?id=115#c324 
---------------------------------------------------------------------- 
Der ursprüngliche Verdacht, dass das Locking von configurehood/nodewatcher
kaputt wäre, hat sich als falsch herausgestellt. Die Diagnose kam durch eine
Kombination von falschem Verständnis des Mechanismus und falscher Systemzeit
zustande.
Tatsächlich sind die Gründe für den read-only Zustand nicht klar. Das
Dateisystem war mit rw gemountet. Der Zustand konnte aber durch einen simplen
Reboot behoben werden, sodass sich der betreffende Router wieder normal
verhält.
Eine Diagnose der anderen Geräte ist nur vor Ort möglich (nur Funk-Mesh).

Da der Bug im Sinne des Titels dieses Reports somit falsifiziert wurde, wird der
Report geschlossen. 

Eintrags-Historie 
Änderungsdatum   Benutzername   Feld                     Änderung             
====================================================================== 
2018-12-06 15:33 Adrian SchmutzlerNeuer Eintrag                                
2018-12-06 15:43 Adrian SchmutzlerNotiz hinzugefügt: 0000321                   

2018-12-06 16:30 Adrian SchmutzlerNotiz hinzugefügt: 0000322                   

2018-12-06 16:30 Adrian SchmutzlerNotiz bearbeitet: 0000322                    
2018-12-06 17:08 Adrian SchmutzlerNotiz hinzugefügt: 0000323                   

2018-12-06 17:58 Adrian SchmutzlerNotiz hinzugefügt: 0000324                   

2018-12-06 17:59 Adrian SchmutzlerBearbeitung durch         => Adrian Schmutzler
2018-12-06 17:59 Adrian SchmutzlerStatus                   neu => geschlossen  
2018-12-06 17:59 Adrian SchmutzlerLösung                   offen => keine
Änderung notwendig
======================================================================



Mehr Informationen über die Mailingliste franken-dev