Segmentation fault (Ne, Segmentation fault opravdu *NEZNAMENA* hw problem)

Zdenek Pytela letty na mrakoplas.phil.muni.cz
Pátek Květen 29 15:16:39 CEST 1998


Pavel Machek pise:
:> > zacal hlasit Segmentation fault. 
:> 
:> > Po prelozeni s ladicimi informacemi jsem se dozvedel, ze
:> > 
:> > :Program terminated with signal 11, Segmentation fault.
:> 
:> Odkazuji na svuj vlastni dotaz "Preklad kernelu" a predevsim na odpovedi
:> na nej. Diky za ne.
:> Signal 11 je skutecne hlavne HW problem (RAM, cache nebo prehraty
:> procesor). Doporucuji zkontrolovat, me se to vyplatilo.
:
:Kdyz tvuj vlastni program zacne padat na segfault, tak to znamena
:proste to ze v nem nekde je chyba. S HW problemy to nema *NIC*
:spolecnyho.
:
:Jina vec je, ze v gcc 2.7.2.1 zas tak moc chyb neni, a kdyz tohle gcc
:spadne na segfault, byva to HW.
	V mem pripade snad opravdu nejde o problem hardwaru, nejlepsi test,
tj. preklad jadra, mi jeste nikdy neselhal. Problem je v programu, ktery
neni muj, a ktery za nekolik let ani jednou neskoncil chybou, poprve az ve
14:40 21. kvetna, a od te doby to dela porad. Skoro urcite jsem stare libc
ani libm neupgradoval a jine knihovny stara verze nepouzivala. Totez dela
nove prelozeny program, dokonce i pote, co jsem nektere casti kodu podle
rady PK prepsal. Asi budu muset sahnout do zdrojaku knihoven (nebo problem
zavrhnout jako neresitelny - jenomze me opravdu zajima, cim to je a jestli
to zase zniceho nic zacne delat jeste nejaky dalsi program), protoze mi ty
chybove hlasky moc nerikaji. Vypada to, ze getenv() vraci misto hodnoty
promenne prostredi nejaky nesmysl, pritom to neni NULL, takze se to tezko
osetruje. Overil jsem si, ze jinak getenv() funguje spravne. Prekladac je
2.7.2.3-8.

-- 

--Zdenek Pytela, <letty na mrakoplas.phil.muni.cz>



Další informace o konferenci Linux