Samba 4 - zasek v neprerusitelnem cekani

Miroslav Prýmek m.prymek at gmail.com
Mon Sep 22 15:50:56 CEST 2014


Ahoj,

na FreeBSD 10.0-RELEASE-p7 mam zasadni problem - jednou za cas (zhruba 
za tyden) zustane proces smbd
(fileserver samby) trcet v "D" stavu:

# ps aux | grep smbd
[...]
[...uzivatel...] 35343   0.0  1.2 563924  99856  -  D    Fri05AM 1:20.98 
/usr/local/sbin/smbd -D --option=server role check:inhibit
[...]

Prusvih je, ze ten uzivatel se pak nemuze na Windows prihlasit a proces 
samozrejme nejde sestrelit,
jedine restartovat server, coz je desivej prusvih. Navic korunovanej 
tim, ze se server odmitne restartovat
(vypise vnodes synced nebo jak je ta hlaska, pak cisla az k nekolika 
nulam a pak proste stoji a nic). Takze ten restart nejde udelat
vzdalene a mam dost starost o to, jestli nedochazi k poskozeni dat...

Vubec s touhle situaci nemam zkusenosti, takze ani vubec nevim, jak 
zjistit nejake detaily. Co jsem zatim nasel,
je tohle:

#  procstat -k 35343
   PID    TID COMM             TDNAME           KSTACK
35343 100509 smbd             -                mi_switch sleepq_wait 
_sx_slock_hard namei vn_open_cred zfs_getextattr VOP_GETEXTATTR_APV 
extattr_get_vp sys_extattr_get_file amd64_syscall Xfast_syscall
35343 100738 smbd             -                mi_switch sleepq_wait 
sleeplk __lockmgr_args vop_stdlock VOP_LOCK1_APV _vn_lock 
knlist_remove_kq filt_vfsdetach knote_fdclose closefp amd64_syscall 
Xfast_syscall

Tak nejak z toho teda matne tusim, ze oba thready procesu trci v nejakem 
neprerusitelnem cekani (sleepq_wait), jeden se snazil ziskat atributy
souboru,  druhy smazat nejake knotes. To mi ale nic nerika ani nepomuze...

Dela to jenom samba a jenom tenhle jeji proces smbd. Ostatni procesy 
bezi dal, zapis na disk funguje...
Na disku je zfs, ale zadny problemy jsem jinak nezaznamenal, vsechno 
jinak bezi paradne.
Dela to s aio i bez nej.

Takze prosim jestli mate jakykoli rady, jak postupovat, poradte prosim, 
je to desnej prusvih...

Potrebuju vedet hlavne:
1. jestli tuhle chybu muze nejak vyvolat samotnej proces (jako ze by to 
byla chyba procesu, ne kernelu) - to predpokladam, ze ne.
2. jak zjistit nejake dalsi informace o tom, co se deje? (muzu jeste 
neco zkouset behem dneska, zitra rano uz ten server
musim restartovat, aby se uzivatele mohli prihlasit...)
3. je nejaka alespon sebemensi sance, jak tehle situaci predejit? (vim, 
ze informaci je malo, ale aspon neco zkusit...)
4. je nejaka sance, jak t situaci resit? (asi nejspis zjistit, na co 
proces ceka a nejak to nasilne ukoncit) - to je asi sci-fi, ale lina huba...

Diky moc za jakoukoli pomoc, radu, je to zoufala situace...

Mirek


More information about the Users-l mailing list