Chyba courier-imap 3.0.7,1 authmysql
Dan Lukes
dan at obluda.cz
Fri Nov 19 09:58:00 CET 2004
stingray at zsgutova.cz wrote:
> stala se mi nemila vec. Po upgrade mysql z verze 5.0.0_1 na 5.0.1 mi
> prestal chodit courier-imap-imapd (verze courier-imap 3.0.7,1) s modulem
> authmysql. Do logu mi zacal davat hlasku
>
> Nov 18 22:35:01 bsd imapd: authmysql in free(): error: junk pointer, too
> low to make sense
Tohle hlaseni vznikne tehdy, kdyz navraceny pointer ukazuje na nizsi
adresu nez je nejnizsi adresa, ze ktere je takova pamet pridelovana - to
znamena, ze je evidentne spatne a neni to rozhodne adresa pameti, ktera
byla pridelena dynamickou aplokaci.
> Jako prvni jsem upgradoval courier-imap na posledni verzi (3.0.8,1) a uz
> to beha v poradku. Nicmene bych rad vedel, v cem byla chyba. Bylo to
> zvlastni, po upgradu mysql vse ostatni, co mysql pouziva (napr. PHP,
> postfix), bezelo v pohode. Proto mi neni jasne, jak by to mohl ten
> upgrade zpusobit.
Moznosti je nekolik a je prakticky nemozne je najit debuggeru. Zakladem
je totiz zjistit ktere "free" a ktery "pointer" byl v rozhodnem okamziku
uvolnovan.
Muze jit, napriklad, o to, ze courier-imap se pokousi sam uvolnit
nejakoupamet, kterou naalokovalo mysql - a ona tam v teto verzi neni.
Zatimco ostatni bud' takovou pamet neuvolnuji vubec (a ponechaji to na
mysql) nebo pouzivaji mysql knihovni funkci - ktera se i s novym mysql
vyporada korektne (protoze k nemu patri).
Muze jit ale take uplne o neco jineho. Opravdu tezko rict ...
Obecne je ale vzdy lepsi mit programove vybaveni synchronizonizovane -
tj. delam-li upgrade baliku, na kterem zavisi baliky jine, automaticky
mit za povinnost upgradovat i tyto baliky zavisejici.
Pokud je vsehno udelano spravne a ciste, melo by vse fungovat i bez
teto podminky, dokud jsou zmeny v podrizenem baliku "kompatibilni" a
pote by nadrazeny balik mel prestat fungovat vubec (protoze se zmeni
major verze dynamicke knihovny podrizeneho baliku). Jenze svet neni vzdy
v idealnim stavu ...
Dan
More information about the Users-l
mailing list