Named v 8.1 - dost neurcite popsany problem

Dan Lukes dan at obluda.cz
Thu Feb 10 05:54:40 CET 2011


On 02/08/11 17:24, Petr Macek:
> Zdravim,
> predem se omlouvam za dost spatne polozeny dotaz, spis jen zkousim,
> jestli nekdo nema podobnou zkusenost.
> Dokud jsem mel tenhle problem na jednom stroji, bral jsem to jako
> nejakou svou chybu a neresil to, ale ted mam stejny problem na 2
> strojich a asi za to nemuzu ja :-)
>
> Situace - FreeBSD 7.x (i386) updatnuta na 8.1. Update probehne dobre a
> dle doporuceneho postupu, ale po updatu server kazdou chvili spadne na
> Fatal trap 12

Ani doporuceny postup bez zjevnych chyb neni zarukou bezproblemoveho 
upgrade.

Nejcastejsi problem jsou ruzne dynamicke knihovny - nejlepe zapomenute 
ci ruzne lec stejnojmenne. Do stejne kategorie pak take spadaji pipadne 
"zapomenute" knihovni override v /etc/libmap.conf

> Bohuzel situace je takova, ze na tech strojich moc nemuzu laborovat (oba
> jsou mnoho kilometru ode mne, takze jsem jen odstavil named). Snazil
> jsem se vygooglit nejakou souvislost, ale nic nemuzu najit a nevim, jak
> takovou vec napravit.
>
> Podobnych updatu jsem delal desitky, problem je jen s touto kombinaci.
> Nema nekdo podobnou zkusenost? Ja bohuzel momentalne nemam moc casu na
> testovani, proto jsem si dovolil takto obecny dotaz.

Ja bych, zvolil bych tento postup -
- smazat obsah /usr/local/lib/compat/pkg
   ... coz jsou stare zalohy knihoven po upgrade portu - pokud jsou 
portu aktualizovane, nema zadny z nich legitimni duvod takovy soubor 
pouzivat

- cd /usr/src ; make delete-old delete-old-libs
   ... coz zlikviduje knihovny a dalsi soubory, ktere se vyskytovaly v 
predchozich verzich OS, ne vsak v teto (a plati totez co u prechoziho 
bodu - neni duvod aby je nekdo pouzival)

- overit, ze dynamicky linkovane programy (zejmena vsechno co je v /bin 
/sbin /lib /libexec - a tytez adresare v /usr a /usr/local podstromu) 
neobsahuji odkazu na neexistujici knihovny. To na kazdy zavolas
ldd -f '%A %o %p\n'
zajimaji te dy, ktere obsahuji retezec "not found"

Pokdu takovy najdes, pak jsi prave nasel soubor, ktery patri do 
nepreinstalovaneho portu, pokud pujde dokonce o soubor ze zakladniho 
systemu, pak patrne neni pravda, ze upgrade probehl bez problemu 
(naposled jsem sam resil asi pred hodinou).

  -------------------

Alternativne muze jit po problem "thread versus non-thread" - a zde by 
mohl pomoci preklad vsech portu.

  -------------------

Jeste mi ale vlastne dochazi, ze ja odpovidma jako by padal nejaky 
proces - pokud pada cely system (coz jsem z toho nevyrozumel uplne 
jasne) tak to v knihovnach spis nebude (i kdyz vylouceno to ani tak 
neni), zde by byly kandidatem potize s loadable modulama (takze vlastne 
taky dynamicke knihovny, jen kernelove) - zapomenuty stary modul v 
/boot/modules, neprepistalovany (z jakehokoliv duvodu) v /boot/kernel ...

Ono by trochu vic napovedely udaje z ulozeneho coredumpu - tam je 
napsano kde kod byl, kdyz to spatlo i "backtrace" nahoru, takze by byla 
indicie co muze byt vadne ...

Dan


More information about the Users-l mailing list