Re: Co s neKILLnutelnym procesem?

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Středa Listopad 30 12:46:35 CET 2011


On Wed, 30 Nov 2011, d.petr wrote:

> ps l sloupec WCHAN vypadá stejně, jako /proc/PID/wchan.

Tyhlety novoty, to za našich časů nebývalo! :)

> Je tam "oki_release" (bez uvozovek). Napadá mě spojitost s CANovským
> řadičem OKI, který v zařízení pracuje.

A ejhle! A není to náhodou tak, že fd pro to CAN/OKI má menší číslo než fd
pro UDP, čili když se zavěsí v zavírání toho prvního, tak se nikdy
nedostane k uzavření toho druhého?

> /proc/PID/fd je prázdný.

To znamená, že už se dostal do exit_files(). Ale dost možná tam stále je,
protože on nejdřív ty otevřené soubory odpojí od procesu, a pak je
pouzavírá.

> Je zajímavé, že když pak spustím další instanci programu, CAN
> normálně funguje, ale komunikace UDP ne.

Pokud něco pořád sedí na tom UDP portu (co netstat?), tak je celkem jasné,
že nepůjde, aby se tam posadil někdo další.

To, že by se dle hypotézy zaseklo zavírání CAN, sice moc nesedí s tím, že
by se to dalo znovu otevřít, ale Cthulhu ví, co se tam děje.

> > Také může být poměrně užitečné zkusit vyrobit nějaký minimalistický
> > příklad, který ten stav vyvolává, a zkusit ho na jiných strojích.
> 
> Použitelnými strojky jsou jen úplně stejná zařízení s ARMem se stejnou
> SW výbavou a konfigurací, ta by se chovala úplně stejně
> (předpokládám).

Např. můžete ověřit, zda tam skutečně podstatnou roli hraje ten CAN.


On Wed, 30 Nov 2011, d.petr wrote:

> To to je výpis pro hlavní vlákno:
>     //// tento blok se v pomalých intervalech stále opakuje
> nanosleep({10, 0}, {10, 0})             = 0
> rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
> rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
> rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
>     //// a na konci je
> nanosleep({10, 0}, {10, 0})             = 0
> rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
> rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
> rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> nanosleep({10, 0}, 0xbe9cfbf0)          = ? ERESTART_RESTARTBLOCK (To be restarted)

A nic dalšího tam už není ani po segfaultu?


PS: Omlouvám se všem, kteří můj předchozí příspěvek dostali více než
jednou (já ho zpátky z konference dostal asi pětkrát a ještě jednou ve
vycenzurované verzi, kde nebyl žádný text). Emailový server na MUNI
asi z mého dopisu dostal nějaký záchvat.

-- 
Pavel Kankovsky aka Peak                          / Jeremiah 9:21        \
"For death is come up into our MS Windows(tm)..." \ 21st century edition /




Další informace o konferenci Linux