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
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l