strk,

I have a program that was running almost leak free with GEOS 2.2.1, but I am seeing leaks now with the head of the 2.2 branch. I'm using valgrind.

==16249==
==16249== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 9361 from 7)
==16249== malloc/free: in use at exit: 1468711 bytes in 1164 blocks.
==16249== malloc/free: 30535 allocs, 29371 frees, 4851492 bytes allocated.
==16249== For counts of detected errors, rerun with: -v
==16249== searching for pointers to 1164 not-freed blocks.
==16249== checked 14088580 bytes.
==16249==
==16249== 16 bytes in 1 blocks are definitely lost in loss record 10 of 78 ==16249== at 0x1B904BF7: operator new(unsigned) (vg_replace_malloc.c:133)
==16249==    by 0x1CA4D124: initGEOS (geos_c.cpp:162)
==16249==    by 0x1C090677: init_geom (_geommodule.c:2197)
==16249==    by 0x80CB80D: _PyImport_LoadDynamicModule (importdl.c:53)

^^^^^
This 16 bytes was the only leak I saw in 2.2.1.

Here are the new ones:

==16249==
==16249==
==16249== 24 bytes in 1 blocks are definitely lost in loss record 14 of 78 ==16249== at 0x1B904BF7: operator new(unsigned) (vg_replace_malloc.c:133) ==16249== by 0x1C4C7C6B: geos::GeometryFactory::createLinearRing (geos::CoordinateSequence*) const (GeometryFactory.cpp:423)
==16249==    by 0x1CA5223E: GEOSGeom_createLinearRing (geos_c.cpp:1938)
==16249== by 0x1C0911AE: Geometry_copyFromCoordSeq (_geommodule.c: 676)
==16249==
==16249==
==16249== 48 bytes in 2 blocks are definitely lost in loss record 23 of 78 ==16249== at 0x1B904BF7: operator new(unsigned) (vg_replace_malloc.c:133) ==16249== by 0x1C4C7D13: geos::GeometryFactory::createMultiPoint (std::vector<geos::Geometry*, std::allocator<geos::Geometry*> >*) const (GeometryFactory.cpp:459) ==16249== by 0x1C504E5F: geos::WKBReader::readMultiPoint() (WKBReader.cpp:195) ==16249== by 0x1C5044DC: geos::WKBReader::readGeometry() (WKBReader.cpp:113)
==16249==
==16249==
==16249== 72 bytes in 3 blocks are definitely lost in loss record 29 of 78 ==16249== at 0x1B904BF7: operator new(unsigned) (vg_replace_malloc.c:133) ==16249== by 0x1C4C7A33: geos::GeometryFactory::createMultiPolygon (std::vector<geos::Geometry*, std::allocator<geos::Geometry*> >*) const (GeometryFactory.cpp:362) ==16249== by 0x1C505517: geos::WKBReader::readMultiPolygon() (WKBReader.cpp:243) ==16249== by 0x1C5044F9: geos::WKBReader::readGeometry() (WKBReader.cpp:117)
==16249==
==16249==
==16249== 72 bytes in 3 blocks are definitely lost in loss record 30 of 78 ==16249== at 0x1B904BF7: operator new(unsigned) (vg_replace_malloc.c:133) ==16249== by 0x1C4C74BB: geos::GeometryFactory::createMultiLineString (std::vector<geos::Geometry*, std::allocator<geos::Geometry*> >*) const (GeometryFactory.cpp:234) ==16249== by 0x1C5051BB: geos::WKBReader::readMultiLineString() (WKBReader.cpp:219) ==16249== by 0x1C5044E9: geos::WKBReader::readGeometry() (WKBReader.cpp:115)
==16249==
==16249==
==16249== 264 bytes in 11 blocks are definitely lost in loss record 45 of 78 ==16249== at 0x1B904BF7: operator new(unsigned) (vg_replace_malloc.c:133) ==16249== by 0x1C4C833F: geos::GeometryFactory::createLineString (geos::CoordinateSequence*) const (GeometryFactory.cpp:613)
==16249==    by 0x1CA5235A: GEOSGeom_createLineString (geos_c.cpp:1961)
==16249== by 0x1C091218: Geometry_copyFromCoordSeq (_geommodule.c: 673)
==16249==
==16249==
==16249== 308 bytes in 11 blocks are definitely lost in loss record 48 of 78 ==16249== at 0x1B904BF7: operator new(unsigned) (vg_replace_malloc.c:133) ==16249== by 0x1C4C80CF: geos::GeometryFactory::createPolygon (geos::LinearRing*, std::vector<geos::Geometry*, std::allocator<geos::Geometry*> >*) const (GeometryFactory.cpp:554) ==16249== by 0x1C501846: geos::WKTReader::readPolygonText (geos::StringTokenizer*) (WKTReader.cpp:242) ==16249== by 0x1C501270: geos::WKTReader::readGeometryTaggedText (geos::StringTokenizer*) (WKTReader.cpp:173)
==16249==
==16249==
==16249== 432 bytes in 18 blocks are definitely lost in loss record 53 of 78 ==16249== at 0x1B904BF7: operator new(unsigned) (vg_replace_malloc.c:133) ==16249== by 0x1C4C77FB: geos::GeometryFactory::createGeometryCollection (std::vector<geos::Geometry*, std::allocator<geos::Geometry*> >*) const (GeometryFactory.cpp:304) ==16249== by 0x1C501F20: geos::WKTReader::readGeometryCollectionText(geos::StringTokenizer*) (WKTReader.cpp:296) ==16249== by 0x1C501310: geos::WKTReader::readGeometryTaggedText (geos::StringTokenizer*) (WKTReader.cpp:181)
==16249==
==16249==
==16249== 1776 bytes in 74 blocks are definitely lost in loss record 65 of 78 ==16249== at 0x1B904BF7: operator new(unsigned) (vg_replace_malloc.c:133) ==16249== by 0x1C4C738F: geos::GeometryFactory::createPoint (geos::CoordinateSequence*) const (GeometryFactory.cpp:183)
==16249==    by 0x1CA52122: GEOSGeom_createPoint (geos_c.cpp:1915)
==16249== by 0x1C0911F2: Geometry_copyFromCoordSeq (_geommodule.c: 670)
==16249==
==16249== LEAK SUMMARY:
==16249==    definitely lost: 3012 bytes in 124 blocks.
==16249==    possibly lost:   0 bytes in 0 blocks.
==16249==    still reachable: 1465499 bytes in 1039 blocks.
==16249==         suppressed: 200 bytes in 1 blocks.
==16249== Reachable blocks (those to which a pointer was found) are not shown.
==16249== To see them, rerun with: --show-reachable=yes
[EMAIL PROTECTED] tests]$

Any ideas?

---
Sean Gillies
http://zcologia.com



_______________________________________________
geos-devel mailing list
geos-devel@geos.refractions.net
http://geos.refractions.net/mailman/listinfo/geos-devel

Reply via email to