[ LUGOS ] RH 5.0 in buggy buggy libi

Boris Benko boris.benko na telekom.si
Pon Apr 13 21:59:15 CEST 1998


Ales Horvat wrote:

> > > Program received signal SIGSEGV, Segmentation fault.
> > > 0x4004be18 in chunk_free () at malloc.c:2821
>
> > Jaz sem v zivljenju tam nekje 4-5-krat ze obtozil sistemske knjiznice,
> > da so pokvarjene. Najbolj vneto takrat, ko mi je program dumpal core na
> > vrstici:
> >   fprintf ( stderr, "A tole zdej dela al ne?!?!\n" );
> >
> > PS: fprintf() se je usuval zato, ker je program nakje dalec prej iz zelo
> > trapastega in tezko najdljivega razloga povozil zakljucni \0 v staticnem
> > stringu od fprintf()-a. Ta je potem dumpal core, ker ni in ni prisel
>
> Sicer ne razumem tvojega problema... (saj nisi izpisoval staticne
> spremenljivke;)
>
> Zadnji del moje kode (zaradi debuginga) izgleda:
> printf("Odpiram: '%s'\n", fname);
> fle=fopen(fname, "a");
> printf("Datoteka odprta\n");
>
> In; verjemi, ne pride do zadnje vrstice ;)
>
> No, glede razlicnih OSov se strinjam.. ampak zakaj zadeva dela na
> prakticno vseh !glibc sistemih?

Jaz bi tudi rekel, da ni kriv sistem v tem primeru.
Preglej malo, ce v redu pises v alociran pomnilnik, ce zadosti pomnilnika
alociras, CE SLUCAJNO
dvakrat z free() ne vrnes pomnilnika... Nabavi si neko orodje, ki ti spremlja
malloc() free() klice.

Se posebej preveri (ce imas!) sprintf() klice...

Napaka izgledajo res cudne... Meni je program po 10000x malloc in freejih
dumpal core nekje cisto v drugem modulu.
In to zato, ker sem dvakrat sprostil isti pomnilnik.

=b




--
============================================================================
Boris Benko, dipl.ing.                | E-mail: Boris.Benko na telekom.si
Telekom Slovenije, PE Murska Sobota   |         B.Benko na s-gms.ms.edus.si
Senior Prog./Sys admin./Informatik    |         Boris.Benko na computer.org
Slu§ba za informatiko                 | Phone: (work) +386 69 31 676
                                      |        (work) +386 69 37 800 21
                                      |        (home) +386 69 32 592
===========================================================================





Dodatne informacije o seznamu Starilist