[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