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