[OSy] problem pri testu malloc1

Martin Decky decky at nenya.ms.mff.cuni.cz
Sat Dec 2 18:58:34 CET 2006


> Do jisteho momentu vse funguje, pak
> ale pridani jakehokoliv kodu (i kodu napriklad ve funkcich kolem
> virtualni pameti, ktere se urcite nevolaji) zpusobi chybu. Z toho to
> vypada, jako bych pri zvetseni zdrojaku si zacal zapisovat do kodu
> programu, ale jsem si pomerne jisty, ze vsechny alokacejsou nad
> adresou _kernel_end.

Ta pricina urcite neni v tom, ze zvetsujete zdrojak, spis se ta pamet 
kropi v dusledku nejake chyby spravy pameti porad, jen se v tomto 
pripade projevi.

> Zkousel jsem pro jistotu alokovat pamet az o 4kB dal od kernelu,
> zvetsovat velikost zasobniku vlakna. Bez uspechu.

Magie s pridavanim ruznych pametovych polstaru vetsinou nefunguje (a 
pokud nahodou funguje, ale neni jasne proc, tak to svedci o tom, ze je v 
kodu neco hodne spatne).

Nejlepsi (i kdyz nejpracnejsi) je dusledne projit radku po radce kod 
spravy pameti, zkontrolovat, zda se nekde nevyskytuje nejaka divna 
konstrukce (ten cas tomu venovany lze soucasne pouzit k duslednemu 
okomentovani kodu), na mista, odkud prichazi nejaka hodnota "z venku", 
je vhodne dat asserty kontrolujici konzistenci atd.


M.D.



More information about the NSWI004 mailing list