View Issue Details

IDProjectCategoryView StatusLast Update
0000115Freifunk Franken FirmwareGeneralpublic2019-10-02 12:49
ReporterAdrian Schmutzler Assigned ToAdrian Schmutzler  
PriorityurgentSeverityblockReproducibilityhave not tried
Status closedResolutionno change required 
Product Versionnext-stable 
Target Versionnext-stable 
Summary0000115: Locks not deleted for mesh routers after Uplink goes off
DescriptionWe 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@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).
TagsNo tags attached.

Activities

Adrian Schmutzler

2018-12-06 15:43

manager   ~0000321

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...

Adrian Schmutzler

2018-12-06 16:30

manager   ~0000322

Last edited: 2018-12-06 16:30

So, wir haben festgestellt, dass das Dateisystem gelockt ist.

Aber:
Mesh-Router:
root@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@km005:~# echo "1" > /etc/abc
-ash: can't create /etc/abc: No space left on device

Uplink-Router:
root@km012:~# echo "1" > /etc/abc
root@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.

Adrian Schmutzler

2018-12-06 17:08

manager   ~0000323

Der Grund, warum die Router kaputt gehen, ist dann ganz trivial:

root@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.

Adrian Schmutzler

2018-12-06 17:58

manager   ~0000324

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.

Issue History

Date Modified Username Field Change
2018-12-06 15:33 Adrian Schmutzler New Issue
2018-12-06 15:43 Adrian Schmutzler Note Added: 0000321
2018-12-06 16:30 Adrian Schmutzler Note Added: 0000322
2018-12-06 16:30 Adrian Schmutzler Note Edited: 0000322
2018-12-06 17:08 Adrian Schmutzler Note Added: 0000323
2018-12-06 17:58 Adrian Schmutzler Note Added: 0000324
2018-12-06 17:59 Adrian Schmutzler Assigned To => Adrian Schmutzler
2018-12-06 17:59 Adrian Schmutzler Status new => closed
2018-12-06 17:59 Adrian Schmutzler Resolution open => no change required
2019-10-02 12:48 fbl Category Freifunk Franken Firmware => General
2019-10-02 12:48 fbl Category General => General2
2019-10-02 12:49 fbl Category General2 => General