Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Submit feedback
    • Contribute to GitLab
  • Sign in
FIC_DK_P GA Solving
FIC_DK_P GA Solving
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 6
    • Issues 6
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • M3TAL
  • FIC_DK_P GA SolvingFIC_DK_P GA Solving
  • Issues
  • #14

Closed
Open
Opened May 19, 2020 by Alexis Lebis@alexis.lebis
  • Report abuse
  • New issue
Report abuse New issue

Memory Leaks

There is some memory leaks in the program. Mostly due to block 9 (magnitude), related to Magnitude::operator+= where exception are created.

EWOS is to fix it, dealloc all the caugth exception in the program


==12196== 
==12196== HEAP SUMMARY:
==12196==     in use at exit: 2,438,976 bytes in 304,872 blocks
==12196==   total heap usage: 5,839,236 allocs, 5,534,364 frees, 892,824,771 bytes allocated
==12196== 
==12196== 56 bytes in 7 blocks are definitely lost in loss record 1 of 9
==12196==    at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196==    by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A8D50: ConstraintsProfession::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x16FCD3: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== 
==12196== 168 bytes in 21 blocks are definitely lost in loss record 2 of 9
==12196==    at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196==    by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A9B79: ConstraintsPrerequisites::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x16FD33: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== 
==12196== 4,976 bytes in 622 blocks are definitely lost in loss record 3 of 9
==12196==    at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196==    by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A8D50: ConstraintsProfession::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A833D: CursusEval::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x16FA27: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== 
==12196== 4,976 bytes in 622 blocks are definitely lost in loss record 4 of 9
==12196==    at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196==    by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A8D50: ConstraintsProfession::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A833D: CursusEval::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x183638: void apply<eoInt<eoScalarFitness<double, std::greater<double> > > >(eoUF<eoInt<eoScalarFitness<double, std::greater<double> > >&, void>&, std::vector<eoInt<eoScalarFitness<double, std::greater<double> > >, std::allocator<eoInt<eoScalarFitness<double, std::greater<double> > > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x181388: eoPopLoopEval<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&, eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x175AFB: eoEasyEA<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x16FB14: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== 
==12196== 18,120 bytes in 2,265 blocks are definitely lost in loss record 5 of 9
==12196==    at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196==    by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A9B79: ConstraintsPrerequisites::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A841E: CursusEval::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x16FA27: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== 
==12196== 18,120 bytes in 2,265 blocks are definitely lost in loss record 6 of 9
==12196==    at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196==    by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A9B79: ConstraintsPrerequisites::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A841E: CursusEval::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x183638: void apply<eoInt<eoScalarFitness<double, std::greater<double> > > >(eoUF<eoInt<eoScalarFitness<double, std::greater<double> > >&, void>&, std::vector<eoInt<eoScalarFitness<double, std::greater<double> > >, std::allocator<eoInt<eoScalarFitness<double, std::greater<double> > > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x181388: eoPopLoopEval<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&, eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x175AFB: eoEasyEA<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x16FB14: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== 
==12196== 160,600 bytes in 20,075 blocks are definitely lost in loss record 7 of 9
==12196==    at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196==    by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x18400B: mutCSDVP<eoInt<eoScalarFitness<double, std::greater<double> > > >::_getCompStatusAtTF(std::vector<Course, std::allocator<Course> > const&, std::vector<int, std::allocator<int> >&, int, int) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x182552: mutCSDVP<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x181B6C: eoInvalidateMonOp<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x181AB7: eoSGATransform<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x181356: eoSelectTransform<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > > const&, eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x175B63: eoEasyEA<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x16FB14: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== 
==12196== 505,288 bytes in 63,161 blocks are definitely lost in loss record 8 of 9
==12196==    at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196==    by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A8D50: ConstraintsProfession::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A833D: CursusEval::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x183638: void apply<eoInt<eoScalarFitness<double, std::greater<double> > > >(eoUF<eoInt<eoScalarFitness<double, std::greater<double> > >&, void>&, std::vector<eoInt<eoScalarFitness<double, std::greater<double> > >, std::allocator<eoInt<eoScalarFitness<double, std::greater<double> > > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x181388: eoPopLoopEval<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&, eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x175BA0: eoEasyEA<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x16FB14: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== 
==12196== 1,726,672 bytes in 215,834 blocks are definitely lost in loss record 9 of 9
==12196==    at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196==    by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A9B79: ConstraintsPrerequisites::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x1A841E: CursusEval::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x183638: void apply<eoInt<eoScalarFitness<double, std::greater<double> > > >(eoUF<eoInt<eoScalarFitness<double, std::greater<double> > >&, void>&, std::vector<eoInt<eoScalarFitness<double, std::greater<double> > >, std::allocator<eoInt<eoScalarFitness<double, std::greater<double> > > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x181388: eoPopLoopEval<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&, eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x175BA0: eoEasyEA<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==    by 0x16FB14: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== 
==12196== LEAK SUMMARY:
==12196==    definitely lost: 2,438,976 bytes in 304,872 blocks
==12196==    indirectly lost: 0 bytes in 0 blocks
==12196==      possibly lost: 0 bytes in 0 blocks
==12196==    still reachable: 0 bytes in 0 blocks
==12196==         suppressed: 0 bytes in 0 blocks
==12196== 
==12196== For counts of detected and suppressed errors, rerun with: -v
==12196== ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
No due date
3
Labels
[PRIORITY] High [STATUS] Completed [TYPE] Enhancement
Assign labels
  • View project labels
Reference: m3tal/csdvp-evolutionary-algorithm-optimization#14