Systém se dostane do polozaseklého stavu - procesy Dead a Zombie,
Napsal: 20 srp 2022, 22:20
Asi pokaždé tak do 10 hodin po restartu pozoruji, že systém (QTS 5.0.1 PB2 na TS228A) se dostane do takového zvláštního stavu, kdy jakoby část systému umře. Vzhledem k tomu, že naopak sdílení souborů funguje dál bych si myslel, že jde o nějaký problém v webovém rozhraní (webservru) a nebo někde v kernelu, kde se něco zasekne a nejde to nijak killnout.
Projevuje se to i když v dmesg nevidím žádné crashe, stack trace.
Jak se to projevuje (zvnějšku):
Po pokusu přihlášení do web.rozhraní(zadání hesla) visí obrazovka Načítání a podaří se třeba až na pátý refresh
S tím souvisí asi přímo to že V prohližeči v protokolu požadavků často nedoběhnou (některé, vždy ty stejné s stejným URL ) požadavky /cgibin/{...request.cgi}, konkrétně
https://192.168.1.6/cgi-bin/application/appRequest.cgi
Respektive třeba až na poněkolikáté ...
Resource monitor mi hlásí u CPU pořád stejnou hodnotu 29% (což si myslím že je důsledek apprequest.cgi který se nedokočí)
povel restart systému sice proběhne (tabulka ukončuji služby), ale k restartu nedojde nikdy
Mám pocit, že ani nastavení systému, který dám Apply se neprojeví (například mi bylo divné že disky mají podezřele nízkou teplotu 39 a 44, když den předtím měly 42 a 45, bylo to tím, že fan jel na 3930 rpm a pokus o nastavení Hardware-Smart FAN změna se nijak neprojevil akusticky, ačkoli o tom byl záznam v Event logu)
Jak se to projevuje expertně(zevnitř systému ssh admin):
příkaz reboot nic nedělá, ani reboot in rescue mode (7- volba před samotný vstupem do shellu sh )
příkazy top, ps nedoběhnou (zůstanou viset a musím restartovat ssh klient) (ale jen když za příkazem nic nenásleduje jako |grep něco) -- tedy ony ty příkazy něco vytisknout, ale pak se zžejmě na na nějakém procesu seknou
Hodně cenné:
ve výpisu příkazů (ps/top)
mám asi 10 manaRequest.cgi s flagem D (Dead)
a asi 8 [_thttpd] z flagem Z (zombie)
(nevím co je zač [_thttpd_], ale bezprostředně před/za _thttpd je ve výpisu /usr/local/sbin/_thttpd s argumenty normálně S-leeping s PID o jedničku vyšší. Dle mě nnačení podtržítky a [] je něco jako fork nebo nějaký mechanismus sandboxingu)
Těch mrtvých _thhtpd Z je víc než těch "živých" /usr/local/sbin/thttpd
samozřejmě žádné z nich nejdou přes kill (číslo PID) killnout (a třeba i killall zůstane následně taky viset v seznamu procesů)
příkaz ps | grep cgi mi vyjede asi i 3 jiné příkazy, ale všechny manaRequest.cgi mají flag D-ead (dokonce i killall manarequest.cgi)
kromě toho tam mám rtvé (D-ead) procesy /sbin/reboot a ps
a příkaz ps |grep Z mi vyjede pouze a jenom asi 20 [_thttpd_]
Podle mě tam něco shnilo a chybí tam watchdog, který by ty procesy doklidil, řekl bych něco na úrovni kernelu...
Zbývá mi reboot -f, který zabírá
Nevíte o podobném problému, kdy prostě nějaká podstatná část systému takhle vyhnije? Jak to dál řešit,? snažil jsem se to analyzovat, dmesg naprosto nic nevypotil, dobral jsem se jen k těm mrtvým procesům manaRequest.cgi a thttpd a potažmo nereagujícím apprequest.cgi
Projevuje se to i když v dmesg nevidím žádné crashe, stack trace.
Jak se to projevuje (zvnějšku):
Po pokusu přihlášení do web.rozhraní(zadání hesla) visí obrazovka Načítání a podaří se třeba až na pátý refresh
S tím souvisí asi přímo to že V prohližeči v protokolu požadavků často nedoběhnou (některé, vždy ty stejné s stejným URL ) požadavky /cgibin/{...request.cgi}, konkrétně
https://192.168.1.6/cgi-bin/application/appRequest.cgi
Respektive třeba až na poněkolikáté ...
Resource monitor mi hlásí u CPU pořád stejnou hodnotu 29% (což si myslím že je důsledek apprequest.cgi který se nedokočí)
povel restart systému sice proběhne (tabulka ukončuji služby), ale k restartu nedojde nikdy
Mám pocit, že ani nastavení systému, který dám Apply se neprojeví (například mi bylo divné že disky mají podezřele nízkou teplotu 39 a 44, když den předtím měly 42 a 45, bylo to tím, že fan jel na 3930 rpm a pokus o nastavení Hardware-Smart FAN změna se nijak neprojevil akusticky, ačkoli o tom byl záznam v Event logu)
Jak se to projevuje expertně(zevnitř systému ssh admin):
příkaz reboot nic nedělá, ani reboot in rescue mode (7- volba před samotný vstupem do shellu sh )
příkazy top, ps nedoběhnou (zůstanou viset a musím restartovat ssh klient) (ale jen když za příkazem nic nenásleduje jako |grep něco) -- tedy ony ty příkazy něco vytisknout, ale pak se zžejmě na na nějakém procesu seknou
Hodně cenné:
ve výpisu příkazů (ps/top)
mám asi 10 manaRequest.cgi s flagem D (Dead)
a asi 8 [_thttpd] z flagem Z (zombie)
(nevím co je zač [_thttpd_], ale bezprostředně před/za _thttpd je ve výpisu /usr/local/sbin/_thttpd s argumenty normálně S-leeping s PID o jedničku vyšší. Dle mě nnačení podtržítky a [] je něco jako fork nebo nějaký mechanismus sandboxingu)
Těch mrtvých _thhtpd Z je víc než těch "živých" /usr/local/sbin/thttpd
samozřejmě žádné z nich nejdou přes kill (číslo PID) killnout (a třeba i killall zůstane následně taky viset v seznamu procesů)
příkaz ps | grep cgi mi vyjede asi i 3 jiné příkazy, ale všechny manaRequest.cgi mají flag D-ead (dokonce i killall manarequest.cgi)
kromě toho tam mám rtvé (D-ead) procesy /sbin/reboot a ps
a příkaz ps |grep Z mi vyjede pouze a jenom asi 20 [_thttpd_]
Podle mě tam něco shnilo a chybí tam watchdog, který by ty procesy doklidil, řekl bych něco na úrovni kernelu...
Zbývá mi reboot -f, který zabírá
Nevíte o podobném problému, kdy prostě nějaká podstatná část systému takhle vyhnije? Jak to dál řešit,? snažil jsem se to analyzovat, dmesg naprosto nic nevypotil, dobral jsem se jen k těm mrtvým procesům manaRequest.cgi a thttpd a potažmo nereagujícím apprequest.cgi