← Back to team overview

dolfin team mailing list archive

Re: valgrind + dolfin: BaryCenterQuadrature / CGAL error

 

On Tue, 2010-08-10 at 15:34 +0200, Patrick Riesen wrote:
> Anders Logg wrote:
> > For some reason, it's not possible to run valgrind when DOLFIN is
> > compiled with CGAL (because of some special trick used in CGAL).
> 
> ooops. and there's no trick around it? or other tools to sniff around 
> for memory leaks?
> 

There's a flag for CGAL (I can't remember what it is) that will allow
valgrind to be run. Try searching for an earlier discussion on this
list.

Garth

> > Andre Massing might explain in more detail.
> > 
> > --
> > Anders
> > 
> > 
> > On Tue, Aug 10, 2010 at 03:03:16PM +0200, Patrick Riesen wrote:
> >> hello,
> >>
> >> do you use valgrind on dolfin examples?
> >>
> >> im on revision 4861 (dolfin0.8.8) and if i run valgrind on an example i get
> >>
> >> priesen@vierzack01:/<8>cpp>valgrind ./demo
> >> ==8028== Memcheck, a memory error detector.
> >> ==8028== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
> >> ==8028== Using LibVEX rev 1854, a library for dynamic binary translation.
> >> ==8028== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
> >> ==8028== Using valgrind-3.3.1-Debian, a dynamic binary
> >> instrumentation framework.
> >> ==8028== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
> >> ==8028== For more details, rerun with: -v
> >> ==8028==
> >> terminate called after throwing an instance of 'CGAL::Assertion_exception'
> >>   what():  CGAL ERROR: assertion violation!
> >> Expr: -CGAL_IA_MUL(-1.1, 10.1) != CGAL_IA_MUL(1.1, 10.1)
> >> File: /scratch/priesen-second/FEniCS/build/include/CGAL/Interval_nt.h
> >> Line: 158
> >> Explanation: Wrong rounding: did you forget the -frounding-math
> >> option if you use GCC?
> >> ==8028== Invalid free() / delete / delete[]
> >> ==8028==    at 0x4C2130F: free (vg_replace_malloc.c:323)
> >> ==8028==    by 0xB31C7AA: (within /lib/libc-2.7.so)
> >> ==8028==    by 0xB31C361: __libc_freeres (in /lib/libc-2.7.so)
> >> ==8028==    by 0x4A1D31C: _vgnU_freeres (vg_preloaded.c:60)
> >> ==8028==    by 0xB24A3F2: abort (in /lib/libc-2.7.so)
> >> ==8028==    by 0xAB0B7EA: __gnu_cxx::__verbose_terminate_handler()
> >> (in
> >> /usr/pack/gcc-4.4.1-sd/amd64-debian-linux4.0/lib/libstdc++.so.6.0.12)
> >> ==8028==    by 0xAB08A27: __cxxabiv1::__terminate(void (*)()) (in
> >> /usr/pack/gcc-4.4.1-sd/amd64-debian-linux4.0/lib/libstdc++.so.6.0.12)
> >> ==8028==    by 0xAB08A4F: std::terminate() (in
> >> /usr/pack/gcc-4.4.1-sd/amd64-debian-linux4.0/lib/libstdc++.so.6.0.12)
> >> ==8028==    by 0xAB08C67: __cxa_throw (in
> >> /usr/pack/gcc-4.4.1-sd/amd64-debian-linux4.0/lib/libstdc++.so.6.0.12)
> >> ==8028==    by 0x7F4EB49: CGAL::assertion_fail(char const*, char
> >> const*, int, char const*) (in
> >> /scratch/priesen-second/FEniCS/build/lib/libCGAL.so.5.0.0)
> >> ==8028==    by 0x511EA6C: _GLOBAL__I_BarycenterQuadrature.cpp
> >> (Interval_nt.h:157)
> >> ==8028==    by 0x5146225: (within
> >> /scratch/priesen-second/FEniCS/build/lib/libdolfin.so.0.9.8)
> >> ==8028==  Address 0x41c84a8 is not stack'd, malloc'd or (recently) free'd
> >> ==8028==
> >> ==8028== ERROR SUMMARY: 4 errors from 1 contexts (suppressed: 8 from 1)
> >> ==8028== malloc/free: in use at exit: 6,914 bytes in 36 blocks.
> >> ==8028== malloc/free: 58 allocs, 26 frees, 9,182 bytes allocated.
> >> ==8028== For counts of detected errors, rerun with: -v
> >> ==8028== searching for pointers to 36 not-freed blocks.
> >> ==8028== checked 3,359,888 bytes.
> >> ==8028==
> >> ==8028== LEAK SUMMARY:
> >> ==8028==    definitely lost: 0 bytes in 0 blocks.
> >> ==8028==      possibly lost: 753 bytes in 8 blocks.
> >> ==8028==    still reachable: 6,161 bytes in 28 blocks.
> >> ==8028==         suppressed: 0 bytes in 0 blocks.
> >> ==8028== Rerun with --leak-check=full to see details of leaked memory.
> >> Abort
> >>
> >> i can get past this even if i try to generate a suppression file
> >> from valgrind using -gen-suppressions / -suppressions=file.
> >>
> >> do you get this as well?
> >>
> >> greetings,
> >> patrick
> >>
> >> _______________________________________________
> >> Mailing list: https://launchpad.net/~dolfin
> >> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> >> Unsubscribe : https://launchpad.net/~dolfin
> >> More help   : https://help.launchpad.net/ListHelp
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~dolfin
> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin
> More help   : https://help.launchpad.net/ListHelp





Follow ups

References