[QGHG-it-dev-list] Zadatak 36 (VAZNO) - debagovanje deinstanciranja kompleksa iz memorije
Marko Vojinovic
vmarko at ipb.ac.rs
Wed Nov 30 17:26:01 CET 2022
Wow!! :-) Ovo je bilo bas brzo i efikasno, hvala!
Moguce da sam ja tu nesto bio zabrljao kad sam prebacivao kod iz onog starog fajla classes.cpp koji vise ne koristimo...
U svakom slucaju, upravo sam testirao novu verziju i sad izgleda da sve radi. :-) Ne znam da li jos uvek imamo mozda neki memory-leak negde (u smislu da se nesto ne obrise do kraja), ali o tom potom, vazno je da brisanje kompleksa sada radi, tj. ne prijavljuje core dump. ;-)
Pogledaj eventualno i zadatke 33 i 24, ako mozes i njih da uradis. To sad ima prioritet zbog gui-ja (poslah upravo opsiran mail sa detaljima i planom za decembar).
:-)
Marko
Dr. Marko Vojinovic
Group for Gravitation, Particles and Fields
Institute of Physics
University of Belgrade
======================
home page: www.markovojinovic.com
e-mail: vmarko at ipb.ac.rs
On Wed, 30 Nov 2022, Nenad Korolija wrote:
> Resen problem.
>
> Mislim da sam ovaj bag vratio kad je bio neki merge conflict, pa da su mi se dve verzije fajla razlikovale za tu liniju...
>
> Objasnjenje:
> KSimplex ne treba da brise neighbors, koji ima samo stvari koje ce se automatski osloboditi,
> jer brisanje podrazumeva prolazak kroz elements, cime se pokusalo brisanje svakog KSimplex-a onoliko puta koliko puta se javlja kao neighbor + jednom zato sto je u kompleksu (naravno,
> vec prilikom drugog pokusaja iskace greska).
>
> Pozdrav,
> Nenad
>
> On Wed, Nov 30, 2022 at 3:47 PM Marko Vojinovic <vmarko at ipb.ac.rs> wrote:
>
> Ako u main() funkciji seed-ujem bilo kakav kompleks, pa ga onda obrisem, npr. ovako:
>
> SimpComp *simpComp = seed_sphere(3, "3-sfera");
> delete simpComp;
>
> program se ne izvrsi kako treba, doceka me greska:
>
> Segmentation fault (core dumped)
>
> Drugi (razlicit) primer --- ako seed-ujem kompleks, pa mu dodam neke boje, pa ga onda obrisem, npr. ovako:
>
> SimpComp *simpComp = seed_sphere(3, "3-sfera");
> UniqueIDColor::colorize_entire_complex(simpComp);
> delete simpComp;
>
> program se ni tada ne izvrsi kako treba, ali me sada doceka drugacija greska:
>
> free(): double free detected in tcache 2
> Aborted (core dumped)
>
> Ocigledno se neki delovi SimpComp strukture ne deinstanciraju kako treba, ali ja ne vidim u cemu je tacno problem (ne snalazim se sa debagovanjem destruktora u C++ klasama).
> Verovatno je za to vezan i memory-leaking na koji se zalio Dusan kad je proveravao to sa valgrind-om.
>
> Ovo bi moralo da se debaguje i popravi, sto pre to bolje --- implementacija f-je unseed_complex() iz Zadatka 33 nije moguca ako postoje problemi sa dealociranjem memorije.
>
> :-)
> Marko
>
>
> Dr. Marko Vojinovic
> Group for Gravitation, Particles and Fields
> Institute of Physics
> University of Belgrade
> ======================
> home page: www.markovojinovic.com
> e-mail: vmarko at ipb.ac.rs
>
>
> --
> QGHG-it-dev-list mailing list
> QGHG-it-dev-list at ipb.ac.rs
> http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>
>
>
More information about the QGHG-it-dev-list
mailing list