Omnia - Foris Unhandled Exception

Nejak se mi to zacina rozpadat. Pred par dny naprosto prestal fungovat OpenVPN server, dneska se vubec nemuzu prihlasit do Foris:

Unhandled Exception

An unhandled exception was thrown by the application.

V LuCi mi vubec nezobrazuji LXC a pri kliknuti na cokoliv me to prenese zpet na prihlasovaci stranku.

Verze jadra 4.4.196
OpenWrt omnia 15.05 r47055

Jak mohu vynutit aktualizaci na 4.0.3?

Tak jsem jeste projizdel logy a obavam se, ze to ma neco spolecneho s vlozenym SSD diskem.

2019-12-29 12:37:27 warning kernel[]: [   17.557682] BTRFS warning (device mmcblk0p1): Skipping commit of aborted transaction.
2019-12-29 12:37:27 warning kernel[]: [   17.565536] ------------[ cut here ]------------
2019-12-29 12:37:27 warning kernel[]: [   17.570169] WARNING: CPU: 0 PID: 680 at fs/btrfs/transaction.c:1840 btrfs_commit_transaction+0xaa4/0xc0c()
2019-12-29 12:37:27 warning kernel[]: [   17.579850] Modules linked in: nf_nat_ipv6(+) ip_set_hash_net ip_set_hash_netportnet ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set ip6t_NPT ip6t_MASQUERADE nf_nat_masquerade_ipv6 nf_nat nf_conntrack ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_raw ip6table_mangle ip6table_filter ip6_tables pppoatm ppp_generic slhc nfsd nfsv3 msdos ip_gre gre ifb sit ip6_tunnel tunnel6 tunnel4 ip_tunnel veth tun snd_compress snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_rawmidi snd_seq_device snd_hwdep snd input_core soundcore rxkad vfat fat udf crc_itu_t ntfs nfs_layout_nfsv41_files nfsv4 nfs auth_rpcgss oid_registry lockd sunrpc grace minix isofs hfsplus hfs cramfs configfs cifs autofs4 kafs af_rxrpc dns_resolver dm_crypt dm_mirror dm_region_hash dm_log dm_mod br2684 atm multipath fscache raid456 async_raid6_recov async_pq async_xor async_memcpy async_tx raid10 raid1 raid0
2019-12-29 12:37:27 warning kernel[]: [   17.724445] CPU: 0 PID: 680 Comm: btrfs-cleaner Not tainted 4.4.196-a890a5a94ebb621f8f1720c24d12fef1-0 #1

Jen teda nechapu, co se mu nezda a kde by mohl byt problem. SSD je primountovany jako /mnt/ssd/

Tak jsem zjistil, ze se nejspise jedna o problem primo vnitrniho uloziste Omnie a nikoliv SSD. Dalsim badanim jsem zjistil zrejme souvislost mezi PaKon/Suricata.

V Omnii mam vlozeny SSD, kdy jsem se vsechno snazil smerovat na nej (LXC, logy, zalohy,…). Disk mam namountovany jako /mnt/ssd/

Dle vseho PaKon ovsem zapisuje do /srv/pakon, respektive aktualne se porad objevuje chyba “Read only file system”.

Snazil jsem se sluzbu zastavit, ale bez uspechu, odpovedi je vzdy:
/usr/libexec/pakon-light/backup_sqlite.sh: line 14: can’t create /srv/pakon/pakon.db.xz.tmp: Read-only file system
Command failed: Not found

Vzdy hned po rebootu se dostanu do Forise, ale tam pokud v Aktualizace/Pakon chci odtrhnout nainstalovani, tak se nic nestane, respektive stale se toci kurzor a nic.

Kdyz jsem se pokusil odinstalovat pakon primo z CLI, tak to psalo zavislost na Foris. V zoufalosti jsem vyzkousel i prepinac “–force-depends”, ale taktez bez uspechu. Vysledek je pouze:

Removing package pakon from root...
rm: can't remove '/etc/rc.d/S90pakon-monitor': Read-only file system
rm: can't remove '/etc/rc.d/K10pakon-monitor': Read-only file system
/usr/libexec/pakon-light/backup_sqlite.sh: line 14: can't create /srv/pakon/pakon.db.xz.tmp: Read-only file system
Command failed: Not found
rm: can't remove '/etc/rc.d/S91pakon-handler': Read-only file system
Command failed: Not found
rm: can't remove '/etc/rc.d/S91pakon-handler': Read-only file system
Command failed: Not found
rm: can't remove '/etc/rc.d/S90pakon-monitor': Read-only file system
rm: can't remove '/etc/rc.d/K10pakon-monitor': Read-only file system
/usr/libexec/pakon-light/backup_sqlite.sh: line 14: can't create /srv/pakon/pakon.db.xz.tmp: Read-only file system
Command failed: Not found
Collected errors:
 * opkg_conf_write_status_files: Couldn't move //usr/lib/opkg/status.tmp into place //usr/lib/opkg/status: Read-only file system: Read-only file system.

Je nejaka sance, jak se toho muzu zbavit?

EDIT: tak pres mount mi to vypisuje RO na celem ulozisti:
root@turris:~# mount
/dev/mmcblk0p1 on / type btrfs (ro,noatime,ssd,space_cache,commit=5,subvolid=256,subvol=/@)

Měl jsem stejný problém, pomohl restart do továrního nastavení. Opravy souborového systému pomohly pouze dočasnĕ, po pár hodinách byl opět přístupný jen pro čtení.

Mezitim jsem uz vyzkousel Factory reset na 4 LED s USB.

Nicmene tam zase nevim, ktery stahnout medkit. U videa na YouTube je odkaz sem:
https://repo.turris.cz/omnia/medkit/omnia-medkit-latest.tar.gz

A v dokumentaci je zase odkaz sem:
https://repo.turris.cz/hbs/medkit/omnia-medkit-latest.tar.gz

Proc je vse tak neprehledne a nejednoznacne? Vubec se v tom normalni clovek nemuze orientovat.

Zkusil jsem postupne oba, prvni je tedy verze TOS 3.x a druha je nejaka HBS verze TOS 4.0.3. Ted jde o to, co je to HBS zac. Muzu si to tam nechat nebo to budu muset zase flashovat nanovo za par dni? Taky me “desi” to, ze ta novejsi verze ma pouze cca 30 MB proti 55 MB u “stare” verze.

Idealne, pokud uz to mam takto dodrbane, tak co jeste aktualizovat (U-boot,…)?

Ma smysl prejit rovnou na cely SSD disk, kdyz jej stejne pouzivam a teoreticky bych mohl predejit podobnym problemum?
https://doc.turris.cz/doc/cs/howto/omnia_booting_from_external_storage

Predpokladam, ze o data na SSD stejne prijdu, i kdyz se ho budu snazit pridat pres Uloziste ve Forisu.

U-Boot bych také rád aktualizoval kvůli SFP, zejména proto, že nové Omnie už ho mají, jenže:

Tak teda nechapu, co se s routerem deje.

Vse jsem zmigroval na SSD, komplet cely system, rovnou jsem dal 4.0.3, prepsal samozrejme uBoot a vse fungovalo. Potom se mi stalo, ze se situace s Unhandled Exception opakovala. Tak jsem si rikal, ze jsem obnovoval nejake konfiguraky z TurrisOS 3.x, tak ze to udelam nanovo. Dal jsem jenom recovery 2 diody, ale to nepomohlo, tak jsem musel dat Recovery na 3 LED. Co me prekvapilo, ze to neprepise system, ale pro jistotu smaze vse (tedy prisel jsem o vse v /srv/, zejmena /srv/lxc). Taky jsem nechapal, ze se mi po rebootu vraci odnekud soubor /etc/config/dhcp. Proste jsem ho pres CLI smazal, dal puvodni, overil, ze v nem jsou ty zaznamy a i presto po rebootu tam byl ten smazany.

No dobre, tak jsem to znova vse udelal a situace se opakovala, tak jsem si rikal, ze to budu pozorovat. Ted jsem teda nainstaloval 4.0.3 pred dvema, trema dny a nechal to byt jen tak. Dneska se to aktualizovalo na 4.0.5, takze jsem to po aktualizaci restartoval a zacal obnovovat LXC (roztarovanim ze zalohy). Po dokonceni mi vse jelo, respektive pres LuCi mi to zadne LXC nevidi, i presto, ze cesta je nastavena dobre.

Tak jsem se jeste dival cestu od schnapps, kterou jsem zmenil a rekl bych, ze od te doby to zacalo zase kravit. Pri pristupu na Foris mam:

# Unhandled Exception
An unhandled exception was thrown by the application.

Pri pristupu na LuCi toto:>

/usr/lib/lua/luci/dispatcher.lua:234: /etc/config/luci seems to be corrupt, unable to find section ‘main’
stack traceback:
[C]: in function ‘assert’
/usr/lib/lua/luci/dispatcher.lua:234: in function ‘dispatch’
/usr/lib/lua/luci/dispatcher.lua:127: in function </usr/lib/lua/luci/dispatcher.lua:126>

V logu vubec nic nestandardniho neni (zadne warningy), system opravdu jede pouze z /dev/sda1

Pokud to shrnu, tak se da rici, ze se citim jako plny kybl exkrementu a ze mam chut to doslova rozslapat.

Tedy, existuje zpusob, jak to nejak rozchodit a zaroven, abych nemusel trnout, ze pri prvnim systemovem problemu prijdu o komplet vsechny data?

Tak jsem pri googlovani jeste narazil na toto:

A vyzkousel prikaz:

/etc/init.d/rpcd restart

Toto ma okamzity efekt, ze se Foris i LuCi rozjede, ovsem na chvilku a za chvilku se to opetovne vrati do toho sameho.

Dal je zajimave, ze pri pkgupdate mi to vrati nasledujici:

root@turris:~# pkgupdate
INFO:Target Turris OS: 4.0.5
WARN:Package wpad is in cyclic dependency. It might fail its post-install script.
WARN:Package hostapd is in cyclic dependency. It might fail its post-install script.
WARN:Requested package pkglists-l10n-cs that is missing, ignoring as requested.
WARN:Requested package luci-i18n-lxc-en that is missing, ignoring as requested.
WARN:Requested package luci-i18n-lxc-cs that is missing, ignoring as requested.
WARN:Requested package luci-i18n-adblock-en that is missing, ignoring as requested.
WARN:Requested package luci-i18n-adblock-cs that is missing, ignoring as requested.
WARN:Requested package luci-i18n-bcp38-en that is missing, ignoring as requested.
WARN:Requested package luci-i18n-bcp38-cs that is missing, ignoring as requested.
WARN:Requested package luci-i18n-mjpg-streamer-en that is missing, ignoring as requested.
WARN:Requested package luci-i18n-mjpg-streamer-cs that is missing, ignoring as requested.
WARN:Requested package luci-i18n-sqm-en that is missing, ignoring as requested.
WARN:Requested package luci-i18n-sqm-cs that is missing, ignoring as requested.
WARN:Requested package luci-i18n-rainbow-en that is missing, ignoring as requested.
WARN:Requested package luci-i18n-rainbow-cs that is missing, ignoring as requested.

Tak uz zacinam trosicku ztracet nervy s celou slavnou Omnii.

Takze si dovolim takove mensi resume:

  • zrejme osoupana eMMC pamet i presto, ze provoz LXC byl celou dobu smerovan na SSD a i z nej vse fungovalo.

  • za chvilku to bude mesic, co jsem polozil dotaz a do dneska zadna reakce kohokoliv z teamu, pripadam si tu, ze si tu trpim samomluvou. Zadny, ani sebemensi naznak toho, co bych mohl udelat nebo zkusit.

  • nikde zadne poradne upozorneni nebo postup, jestli se ma instalovat TOS 4.x nebo nema a pripadne co v nem je nebo neni funkcni.

  • maji fungovat LXC v TOS 4.x nebo nemaji? Pokud nemaji, jakym zpusobem to ma zakaznik rozchodit?

  • v dokumentaci je zminena migrace z eMMC na SSD/USB, ale proc zde neni zminena i varianta prechodu zpet?

  • opravdu pri factory restartu clovek prijde o vsechny data na systemovem SSD? Pokud ano, tak by opetovne melo byt nekde vyslovne varovani, protoze obvykle tam jsou minimalne prave LXC kontejnery.

Mohl by se k tomu laskave uz konecne nekdo z teamu vyjadrit? @Pepe? Nebo kdo ma vubec toto na starosti?

Z nekritickeho fandy Turrise se ze me pomalu zacina stavat opacny extrem. Mesic bez funkcniho routeru, vsechny LXC offline a zrejme asi bez nadeje jejich rozchozeni.

1 Like

Bohužel musím souhlasit. Factory resetem jsem si pár měsíců prošel taky, naštěstí mám /srv namountovaný z externího disku, takže pokud něco sahá do /srv a neměl by, nemám s tím problém.

Dnes ráno se mi rozesralo kompletní nastavení web serveru po výpadku proudu, kdy do LXC kontejnerů najednou nejde internet, firewall mi najednou přestal přesměrovávat port pro wan dotazy, abych je mohl detekovat pomocí nginx (který je tak z roku 2017) a přesměrovávat do kontejnerů s nextcloudem a dalšími službami. Lighttpd s nginx dohromady dělají strašný bordel, ale foris/luci v nginx prostě nerozchodím a přesměrování na subdomény do kontejnerů v lighttpd taky ne.

Aby se člověk bál každého neplánovaného výpadku proudu, aktualizace nebo jenom tak nějakého rozmaru, kdy vyprší DHCP lease a celé se to zase rozesere.

Tak jsem mel ted chvilku casu, tak jsem porovnaval zalohu, co jsem si udelal predem s tim, co ma jeden znamy a nasel jsem rozdil v /etc/cron.d/pakon

Muj obsah souboru:

MAILTO=“”
05 02 * * * root /usr/bin/python3 /usr/libexec/pakon-light/archive.py
05 10,18 * * * root /usr/libexec/pakon-light/backup_sqlite.sh /var/lib/pakon.db /srv/pakon/pakon.db.xz

Jeho:

MAILTO=“”
05 02 * * * root /usr/bin/python3 /usr/libexec/ pakon-light/archive.py && /usr/libexec/pakon-light/backup_sqlite.sh /var/lib/ pakon.db /srv/pakon/pakon.db.xz

05 10,18 * * * root /usr/libexec/pakon-light/ backup_sqlite.sh /var/lib/pakon.db /srv/pakon/pakon.db.xz

Trosicku me desi to chybejici /srv, protoze ja vsechno do /srv smerovane fakticky mel.

Taky jsem byl nekritickým fandou, ale po různých problémech jsem z toho vystřízlivěl.

Měl jsem problémy hlavně s Wi-Fi MOXe, nedotažeností snad všeho a věčně přetížené podpoře.