Opened 8 years ago

Closed 8 years ago

#6177 closed defect (fixed)

GNM leaks memory

Reported by: Even Rouault Owned by: bishop
Priority: normal Milestone: 2.1.0
Component: default Version: unspecified
Severity: normal Keywords:
Cc:

Description (last modified by Even Rouault)

gnm/gnm_test.py reveals leaks in GNM

See https://s3.amazonaws.com/archive.travis-ci.org/jobs/87731603/log.txt

Found libgdal we are running against : /usr/lib/libgdal.so.2.1.0
Running gnm/gnm_test.py...
  TEST: gnm_filenetwork_create ... success
  TEST: gnm_filenetwork_open ... success
  TEST: gnm_import ... success
  TEST: gnm_autoconnect ... success
  TEST: gnm_graph_dijkstra ... success
  TEST: gnm_graph_kshortest ... success
  TEST: gnm_graph_connectedcomponents ... success
  TEST: gnm_delete ... success

Test Script: default
Succeeded: 8
Failed:    0 (0 blew exceptions)
Skipped:   0
Expected fail:0
Duration:  0.27s

Found libgdal we are running against : /usr/lib/libgdal.so.2.1.0

=================================================================
[1m[31m==26683==ERROR: LeakSanitizer: detected memory leaks
[1m[0m
[1m[34mDirect leak of 544 byte(s) in 2 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6be1baf in GNMFileNetwork::ICreateLayer(char const*, OGRSpatialReference*, OGRwkbGeometryType, char**) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfilenetwork.cpp:558
    #2 0x7fadf4a7b639 in GDALDataset::CopyLayer(OGRLayer*, char const*, char**) /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldataset.cpp:4010
    #3 0x7fadf6b68ef7 in GNMGenericNetwork::CopyLayer(OGRLayer*, char const*, char**) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:1397
    #4 0x7fadf4a7869a in GDALDatasetCopyLayer /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldataset.cpp:3668
    #5 0x7fadffa15ba6 in GDALDatasetShadow_CopyLayer extensions/gdal_wrap.cpp:4523
    #6 0x7fadffa15ba6 in _wrap_Dataset_CopyLayer extensions/gdal_wrap.cpp:14427
    #7 0x1  (<unknown module>)

[1m[34mIndirect leak of 4608 byte(s) in 64 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6b7bd10 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<long long const, CPLString> > >::allocate(unsigned long, void const*) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/new_allocator.h:104
    #2 0x7fadf6b7b8bf in __gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<long long const, CPLString> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<long long const, CPLString> > >&, unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/alloc_traits.h:182
    #3 0x7fadf6b7b585 in std::_Rb_tree<long long, std::pair<long long const, CPLString>, std::_Select1st<std::pair<long long const, CPLString> >, std::less<long long>, std::allocator<std::pair<long long const, CPLString> > >::_M_get_node() /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:491
    #4 0x7fadf6b7b228 in std::_Rb_tree<long long, std::pair<long long const, CPLString>, std::_Select1st<std::pair<long long const, CPLString> >, std::less<long long>, std::allocator<std::pair<long long const, CPLString> > >::_M_create_node(std::pair<long long const, CPLString> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:513
    #5 0x7fadf6b7a3e3 in std::_Rb_tree_node<std::pair<long long const, CPLString> >* std::_Rb_tree<long long, std::pair<long long const, CPLString>, std::_Select1st<std::pair<long long const, CPLString> >, std::less<long long>, std::allocator<std::pair<long long const, CPLString> > >::_Alloc_node::operator()<std::pair<long long const, CPLString> >(std::pair<long long const, CPLString> const&) const /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:459
    #6 0x7fadf6b78064 in std::_Rb_tree_iterator<std::pair<long long const, CPLString> > std::_Rb_tree<long long, std::pair<long long const, CPLString>, std::_Select1st<std::pair<long long const, CPLString> >, std::less<long long>, std::allocator<std::pair<long long const, CPLString> > >::_M_insert_<std::_Rb_tree<long long, std::pair<long long const, CPLString>, std::_Select1st<std::pair<long long const, CPLString> >, std::less<long long>, std::allocator<std::pair<long long const, CPLString> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<long long const, CPLString> const&, std::_Rb_tree<long long, std::pair<long long const, CPLString>, std::_Select1st<std::pair<long long const, CPLString> >, std::less<long long>, std::allocator<std::pair<long long const, CPLString> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1509
    #7 0x7fadf6b760ab in std::_Rb_tree_iterator<std::pair<long long const, CPLString> > std::_Rb_tree<long long, std::pair<long long const, CPLString>, std::_Select1st<std::pair<long long const, CPLString> >, std::less<long long>, std::allocator<std::pair<long long const, CPLString> > >::_M_insert_unique_<std::_Rb_tree<long long, std::pair<long long const, CPLString>, std::_Select1st<std::pair<long long const, CPLString> >, std::less<long long>, std::allocator<std::pair<long long const, CPLString> > >::_Alloc_node>(std::_Rb_tree_const_iterator<std::pair<long long const, CPLString> >, std::pair<long long const, CPLString> const&, std::_Rb_tree<long long, std::pair<long long const, CPLString>, std::_Select1st<std::pair<long long const, CPLString> >, std::less<long long>, std::allocator<std::pair<long long const, CPLString> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1978
    #8 0x7fadf6b73fb9 in std::_Rb_tree<long long, std::pair<long long const, CPLString>, std::_Select1st<std::pair<long long const, CPLString> >, std::less<long long>, std::allocator<std::pair<long long const, CPLString> > >::_M_insert_unique_(std::_Rb_tree_const_iterator<std::pair<long long const, CPLString> >, std::pair<long long const, CPLString> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:984
    #9 0x7fadf6b701c1 in std::map<long long, CPLString, std::less<long long>, std::allocator<std::pair<long long const, CPLString> > >::insert(std::_Rb_tree_iterator<std::pair<long long const, CPLString> >, std::pair<long long const, CPLString> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:666
    #10 0x7fadf6b6cdb7 in std::map<long long, CPLString, std::less<long long>, std::allocator<std::pair<long long const, CPLString> > >::operator[](long long const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:487
    #11 0x7fadf6b68783 in GNMGenericNetwork::LoadFeaturesLayer(GDALDataset*) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:1363
    #12 0x7fadf6bd9851 in GNMFileNetwork::Open(GDALOpenInfo*) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfilenetwork.cpp:123
    #13 0x7fadf6bd5a7d in GNMFileDriverDelete /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfiledriver.cpp:118
    #14 0x7fadf4abc8a4 in GDALDriver::Delete(char const*) /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldriver.cpp:943
    #15 0x7fadf4abcf01 in GDALDeleteDataset /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldriver.cpp:1021
    #16 0x7fadffa2f8db in GDALDriverShadow_Delete extensions/gdal_wrap.cpp:3823
    #17 0x7fadffa2f8db in _wrap_Driver_Delete extensions/gdal_wrap.cpp:9547
    #18 0x7fadffa9ff9f  (/usr/local/lib/python2.7/dist-packages/GDAL-2.1.0-py2.7-linux-x86_64.egg/osgeo/_gdal.so+0x137f9f)

[1m[34mIndirect leak of 2176 byte(s) in 8 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6bdf740 in GNMFileNetwork::LoadNetworkLayer(char const*) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfilenetwork.cpp:419
    #2 0x7fadf6b68989 in GNMGenericNetwork::LoadFeaturesLayer(GDALDataset*) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:1366
    #3 0x7fadf6bd9851 in GNMFileNetwork::Open(GDALOpenInfo*) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfilenetwork.cpp:123
    #4 0x7fadf6bd526b in GNMFileDriverOpen /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfiledriver.cpp:81
    #5 0x7fadf4a718f0 in GDALOpenEx /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldataset.cpp:2731
    #6 0x7fadffa57f72 in OpenEx(char const*, unsigned int, char**, char**, char**) extensions/gdal_wrap.cpp:5817

[1m[34mIndirect leak of 1584 byte(s) in 33 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6baeef9 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >::allocate(unsigned long, void const*) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/new_allocator.h:104
    #2 0x7fadf6bae43b in __gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >&, unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/alloc_traits.h:182
    #3 0x7fadf6badbe5 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_get_node() /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:491
    #4 0x7fadf6bad460 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_create_node(std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:513
    #5 0x7fadf6baca37 in std::_Rb_tree_node<std::pair<long long const, long long> >* std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node::operator()<std::pair<long long const, long long> >(std::pair<long long const, long long> const&) const /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:459
    #6 0x7fadf6ba9e44 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1509
    #7 0x7fadf6ba3275 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1978
    #8 0x7fadf6b9d033 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:984
    #9 0x7fadf6b92f2d in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::insert(std::_Rb_tree_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:666
    #10 0x7fadf6b8a0c7 in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::operator[](long long const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:487
    #11 0x7fadf6bb5c9f in GNMGenericLayer::GetNextFeature() /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmlayer.cpp:219
    #12 0x7fadf602328d in OGRLayer::GetFeature(long long) /home/travis/build/rouault/gdal_coverage/gdal/ogr/ogrsf_frmts/generic/ogrlayer.cpp:460
    #13 0x7fadf6b4f401 in GNMGenericNetwork::GetFeatureByGlobalFID(long long) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:428
    #14 0x7fadf6b5d350 in GNMGenericNetwork::FillResultLayer(OGRGNMWrappedResultLayer*, std::vector<std::pair<long long, long long>, std::allocator<std::pair<long long, long long> > > const&, int, bool, bool) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:1011
    #15 0x7fadf6b58415 in GNMGenericNetwork::GetPath(long long, long long, GNMGraphAlgorithmType, char**) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:851
    #16 0x7fadf6bbe630 in GNMGetPath /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmnetwork.cpp:98
    #17 0x7fade0bc3d96 in GNMNetworkShadow_GetPath extensions/gnm_wrap.cpp:3520
    #18 0x7fade0bc3d96 in _wrap_Network_GetPath extensions/gnm_wrap.cpp:4739

[1m[34mIndirect leak of 1584 byte(s) in 33 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6baeef9 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >::allocate(unsigned long, void const*) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/new_allocator.h:104
    #2 0x7fadf6bae43b in __gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >&, unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/alloc_traits.h:182
    #3 0x7fadf6badbe5 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_get_node() /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:491
    #4 0x7fadf6bad460 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_create_node(std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:513
    #5 0x7fadf6baca37 in std::_Rb_tree_node<std::pair<long long const, long long> >* std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node::operator()<std::pair<long long const, long long> >(std::pair<long long const, long long> const&) const /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:459
    #6 0x7fadf6ba9e44 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1509
    #7 0x7fadf6ba3275 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1978
    #8 0x7fadf6b9d033 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:984
    #9 0x7fadf6b92f2d in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::insert(std::_Rb_tree_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:666
    #10 0x7fadf6b8a0c7 in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::operator[](long long const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:487
    #11 0x7fadf6bb5c9f in GNMGenericLayer::GetNextFeature() /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmlayer.cpp:219
    #12 0x7fadf6b5313f in GNMGenericNetwork::ConnectPointsByLines(char**, double, double, double, int) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:583
    #13 0x7fadf6b6a741 in GNMConnectPointsByLines /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:1508
    #14 0x7fade0bc9caf in GNMGenericNetworkShadow_ConnectPointsByLines extensions/gnm_wrap.cpp:3648
    #15 0x7fade0bc9caf in _wrap_GenericNetwork_ConnectPointsByLines extensions/gnm_wrap.cpp:6246
    #16 0x4  (<unknown module>)

[1m[34mIndirect leak of 1488 byte(s) in 31 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6baeef9 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >::allocate(unsigned long, void const*) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/new_allocator.h:104
    #2 0x7fadf6bae43b in __gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >&, unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/alloc_traits.h:182
    #3 0x7fadf6badbe5 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_get_node() /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:491
    #4 0x7fadf6bad460 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_create_node(std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:513
    #5 0x7fadf6baca37 in std::_Rb_tree_node<std::pair<long long const, long long> >* std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node::operator()<std::pair<long long const, long long> >(std::pair<long long const, long long> const&) const /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:459
    #6 0x7fadf6ba9e44 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1509
    #7 0x7fadf6ba3275 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1978
    #8 0x7fadf6b9d033 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:984
    #9 0x7fadf6b92f2d in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::insert(std::_Rb_tree_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:666
    #10 0x7fadf6b8a0c7 in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::operator[](long long const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:487
    #11 0x7fadf6bb5c9f in GNMGenericLayer::GetNextFeature() /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmlayer.cpp:219
    #12 0x7fadf602328d in OGRLayer::GetFeature(long long) /home/travis/build/rouault/gdal_coverage/gdal/ogr/ogrsf_frmts/generic/ogrlayer.cpp:460
    #13 0x7fadf6b4f401 in GNMGenericNetwork::GetFeatureByGlobalFID(long long) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:428
    #14 0x7fadf6b5ce99 in GNMGenericNetwork::FillResultLayer(OGRGNMWrappedResultLayer*, std::vector<std::pair<long long, long long>, std::allocator<std::pair<long long, long long> > > const&, int, bool, bool) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:993
    #15 0x7fadf6b58415 in GNMGenericNetwork::GetPath(long long, long long, GNMGraphAlgorithmType, char**) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:851
    #16 0x7fadf6bbe630 in GNMGetPath /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmnetwork.cpp:98
    #17 0x7fade0bc3d96 in GNMNetworkShadow_GetPath extensions/gnm_wrap.cpp:3520
    #18 0x7fade0bc3d96 in _wrap_Network_GetPath extensions/gnm_wrap.cpp:4739

[1m[34mIndirect leak of 1440 byte(s) in 30 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6baeef9 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >::allocate(unsigned long, void const*) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/new_allocator.h:104
    #2 0x7fadf6bae43b in __gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >&, unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/alloc_traits.h:182
    #3 0x7fadf6badbe5 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_get_node() /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:491
    #4 0x7fadf6bad460 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_create_node(std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:513
    #5 0x7fadf6baca37 in std::_Rb_tree_node<std::pair<long long const, long long> >* std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node::operator()<std::pair<long long const, long long> >(std::pair<long long const, long long> const&) const /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:459
    #6 0x7fadf6ba9e44 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1509
    #7 0x7fadf6ba3275 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1978
    #8 0x7fadf6b9d033 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:984
    #9 0x7fadf6b92f2d in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::insert(std::_Rb_tree_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:666
    #10 0x7fadf6b8a0c7 in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::operator[](long long const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:487
    #11 0x7fadf6bb5c9f in GNMGenericLayer::GetNextFeature() /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmlayer.cpp:219
    #12 0x7fadf602328d in OGRLayer::GetFeature(long long) /home/travis/build/rouault/gdal_coverage/gdal/ogr/ogrsf_frmts/generic/ogrlayer.cpp:460
    #13 0x7fadf6b4f401 in GNMGenericNetwork::GetFeatureByGlobalFID(long long) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:428
    #14 0x7fadf6b5d350 in GNMGenericNetwork::FillResultLayer(OGRGNMWrappedResultLayer*, std::vector<std::pair<long long, long long>, std::allocator<std::pair<long long, long long> > > const&, int, bool, bool) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:1011
    #15 0x7fadf6b58017 in GNMGenericNetwork::GetPath(long long, long long, GNMGraphAlgorithmType, char**) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:821
    #16 0x7fadf6bbe630 in GNMGetPath /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmnetwork.cpp:98
    #17 0x7fade0bc3d96 in GNMNetworkShadow_GetPath extensions/gnm_wrap.cpp:3520
    #18 0x7fade0bc3d96 in _wrap_Network_GetPath extensions/gnm_wrap.cpp:4739

[1m[34mIndirect leak of 1440 byte(s) in 30 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6baeef9 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >::allocate(unsigned long, void const*) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/new_allocator.h:104
    #2 0x7fadf6bae43b in __gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >&, unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/alloc_traits.h:182
    #3 0x7fadf6badbe5 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_get_node() /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:491
    #4 0x7fadf6bad460 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_create_node(std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:513
    #5 0x7fadf6baca37 in std::_Rb_tree_node<std::pair<long long const, long long> >* std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node::operator()<std::pair<long long const, long long> >(std::pair<long long const, long long> const&) const /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:459
    #6 0x7fadf6ba9e44 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1509
    #7 0x7fadf6ba3275 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1978
    #8 0x7fadf6b9d033 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:984
    #9 0x7fadf6b92f2d in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::insert(std::_Rb_tree_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:666
    #10 0x7fadf6b8a0c7 in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::operator[](long long const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:487
    #11 0x7fadf6bb5c9f in GNMGenericLayer::GetNextFeature() /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmlayer.cpp:219
    #12 0x7fadf602328d in OGRLayer::GetFeature(long long) /home/travis/build/rouault/gdal_coverage/gdal/ogr/ogrsf_frmts/generic/ogrlayer.cpp:460
    #13 0x7fadf6b4f401 in GNMGenericNetwork::GetFeatureByGlobalFID(long long) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:428
    #14 0x7fadf6b5d350 in GNMGenericNetwork::FillResultLayer(OGRGNMWrappedResultLayer*, std::vector<std::pair<long long, long long>, std::allocator<std::pair<long long, long long> > > const&, int, bool, bool) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:1011
    #15 0x7fadf6b57cff in GNMGenericNetwork::GetPath(long long, long long, GNMGraphAlgorithmType, char**) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:804
    #16 0x7fadf6bbe630 in GNMGetPath /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmnetwork.cpp:98
    #17 0x7fade0bc3d96 in GNMNetworkShadow_GetPath extensions/gnm_wrap.cpp:3520
    #18 0x7fade0bc3d96 in _wrap_Network_GetPath extensions/gnm_wrap.cpp:4739

[1m[34mIndirect leak of 1392 byte(s) in 29 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6baeef9 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >::allocate(unsigned long, void const*) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/new_allocator.h:104
    #2 0x7fadf6bae43b in __gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >&, unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/alloc_traits.h:182
    #3 0x7fadf6badbe5 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_get_node() /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:491
    #4 0x7fadf6bad460 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_create_node(std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:513
    #5 0x7fadf6baca37 in std::_Rb_tree_node<std::pair<long long const, long long> >* std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node::operator()<std::pair<long long const, long long> >(std::pair<long long const, long long> const&) const /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:459
    #6 0x7fadf6ba9e44 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1509
    #7 0x7fadf6ba3275 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1978
    #8 0x7fadf6b9d033 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:984
    #9 0x7fadf6b92f2d in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::insert(std::_Rb_tree_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:666
    #10 0x7fadf6b8a0c7 in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::operator[](long long const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:487
    #11 0x7fadf6bb5c9f in GNMGenericLayer::GetNextFeature() /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmlayer.cpp:219
    #12 0x7fadf602328d in OGRLayer::GetFeature(long long) /home/travis/build/rouault/gdal_coverage/gdal/ogr/ogrsf_frmts/generic/ogrlayer.cpp:460
    #13 0x7fadf6b4f401 in GNMGenericNetwork::GetFeatureByGlobalFID(long long) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:428
    #14 0x7fadf6b5ce99 in GNMGenericNetwork::FillResultLayer(OGRGNMWrappedResultLayer*, std::vector<std::pair<long long, long long>, std::allocator<std::pair<long long, long long> > > const&, int, bool, bool) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:993
    #15 0x7fadf6b58017 in GNMGenericNetwork::GetPath(long long, long long, GNMGraphAlgorithmType, char**) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:821
    #16 0x7fadf6bbe630 in GNMGetPath /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmnetwork.cpp:98
    #17 0x7fade0bc3d96 in GNMNetworkShadow_GetPath extensions/gnm_wrap.cpp:3520
    #18 0x7fade0bc3d96 in _wrap_Network_GetPath extensions/gnm_wrap.cpp:4739

[1m[34mIndirect leak of 1392 byte(s) in 29 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6baeef9 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >::allocate(unsigned long, void const*) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/new_allocator.h:104
    #2 0x7fadf6bae43b in __gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >&, unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/alloc_traits.h:182
    #3 0x7fadf6badbe5 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_get_node() /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:491
    #4 0x7fadf6bad460 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_create_node(std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:513
    #5 0x7fadf6baca37 in std::_Rb_tree_node<std::pair<long long const, long long> >* std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node::operator()<std::pair<long long const, long long> >(std::pair<long long const, long long> const&) const /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:459
    #6 0x7fadf6ba9e44 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1509
    #7 0x7fadf6ba3275 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1978
    #8 0x7fadf6b9d033 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:984
    #9 0x7fadf6b92f2d in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::insert(std::_Rb_tree_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:666
    #10 0x7fadf6b8a0c7 in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::operator[](long long const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:487
    #11 0x7fadf6bb5c9f in GNMGenericLayer::GetNextFeature() /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmlayer.cpp:219
    #12 0x7fadf602328d in OGRLayer::GetFeature(long long) /home/travis/build/rouault/gdal_coverage/gdal/ogr/ogrsf_frmts/generic/ogrlayer.cpp:460
    #13 0x7fadf6b4f401 in GNMGenericNetwork::GetFeatureByGlobalFID(long long) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:428
    #14 0x7fadf6b5ce99 in GNMGenericNetwork::FillResultLayer(OGRGNMWrappedResultLayer*, std::vector<std::pair<long long, long long>, std::allocator<std::pair<long long, long long> > > const&, int, bool, bool) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:993
    #15 0x7fadf6b57cff in GNMGenericNetwork::GetPath(long long, long long, GNMGraphAlgorithmType, char**) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:804
    #16 0x7fadf6bbe630 in GNMGetPath /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmnetwork.cpp:98
    #17 0x7fade0bc3d96 in GNMNetworkShadow_GetPath extensions/gnm_wrap.cpp:3520
    #18 0x7fade0bc3d96 in _wrap_Network_GetPath extensions/gnm_wrap.cpp:4739

[1m[34mIndirect leak of 1152 byte(s) in 24 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6baeef9 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >::allocate(unsigned long, void const*) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/new_allocator.h:104
    #2 0x7fadf6bae43b in __gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >&, unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/alloc_traits.h:182
    #3 0x7fadf6badbe5 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_get_node() /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:491
    #4 0x7fadf6bad460 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_create_node(std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:513
    #5 0x7fadf6baca37 in std::_Rb_tree_node<std::pair<long long const, long long> >* std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node::operator()<std::pair<long long const, long long> >(std::pair<long long const, long long> const&) const /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:459
    #6 0x7fadf6ba9e44 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1509
    #7 0x7fadf6ba3275 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1978
    #8 0x7fadf6b9d033 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:984
    #9 0x7fadf6b92f2d in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::insert(std::_Rb_tree_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:666
    #10 0x7fadf6b8a0c7 in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::operator[](long long const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:487
    #11 0x7fadf6bb5c9f in GNMGenericLayer::GetNextFeature() /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmlayer.cpp:219
    #12 0x7fadf6b5a43c in GNMGenericNetwork::FindNearestPoint(OGRPoint const*, std::vector<OGRLayer*, std::allocator<OGRLayer*> > const&, double) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:917
    #13 0x7fadf6b5930d in GNMGenericNetwork::ConnectPointsByLine(long long, OGRLineString const*, std::vector<OGRLayer*, std::allocator<OGRLayer*> > const&, double, double, double, int) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:888
    #14 0x7fadf6b53649 in GNMGenericNetwork::ConnectPointsByLines(char**, double, double, double, int) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:594
    #15 0x7fadf6b6a741 in GNMConnectPointsByLines /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:1508
    #16 0x7fade0bc9caf in GNMGenericNetworkShadow_ConnectPointsByLines extensions/gnm_wrap.cpp:3648
    #17 0x7fade0bc9caf in _wrap_GenericNetwork_ConnectPointsByLines extensions/gnm_wrap.cpp:6246
    #18 0x4  (<unknown module>)

[1m[34mIndirect leak of 688 byte(s) in 1 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6bd58ca in GNMFileDriverDelete /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfiledriver.cpp:116
    #2 0x7fadf4abc8a4 in GDALDriver::Delete(char const*) /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldriver.cpp:943
    #3 0x7fadf4abcf01 in GDALDeleteDataset /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldriver.cpp:1021
    #4 0x7fadffa2f8db in GDALDriverShadow_Delete extensions/gdal_wrap.cpp:3823
    #5 0x7fadffa2f8db in _wrap_Driver_Delete extensions/gdal_wrap.cpp:9547
    #6 0x7fadffa9ff9f  (/usr/local/lib/python2.7/dist-packages/GDAL-2.1.0-py2.7-linux-x86_64.egg/osgeo/_gdal.so+0x137f9f)

[1m[34mIndirect leak of 336 byte(s) in 7 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6baeef9 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >::allocate(unsigned long, void const*) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/new_allocator.h:104
    #2 0x7fadf6bae43b in __gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<long long const, long long> > >&, unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/alloc_traits.h:182
    #3 0x7fadf6badbe5 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_get_node() /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:491
    #4 0x7fadf6bad460 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_create_node(std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:513
    #5 0x7fadf6baca37 in std::_Rb_tree_node<std::pair<long long const, long long> >* std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node::operator()<std::pair<long long const, long long> >(std::pair<long long const, long long> const&) const /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:459
    #6 0x7fadf6ba9e44 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1509
    #7 0x7fadf6ba3275 in std::_Rb_tree_iterator<std::pair<long long const, long long> > std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_<std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node>(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&, std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_Alloc_node&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:1978
    #8 0x7fadf6b9d033 in std::_Rb_tree<long long, std::pair<long long const, long long>, std::_Select1st<std::pair<long long const, long long> >, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::_M_insert_unique_(std::_Rb_tree_const_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_tree.h:984
    #9 0x7fadf6b92f2d in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::insert(std::_Rb_tree_iterator<std::pair<long long const, long long> >, std::pair<long long const, long long> const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:666
    #10 0x7fadf6b8a0c7 in std::map<long long, long long, std::less<long long>, std::allocator<std::pair<long long const, long long> > >::operator[](long long const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_map.h:487
    #11 0x7fadf6bb5c9f in GNMGenericLayer::GetNextFeature() /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmlayer.cpp:219
    #12 0x7fadf6b5a43c in GNMGenericNetwork::FindNearestPoint(OGRPoint const*, std::vector<OGRLayer*, std::allocator<OGRLayer*> > const&, double) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:917
    #13 0x7fadf6b5951f in GNMGenericNetwork::ConnectPointsByLine(long long, OGRLineString const*, std::vector<OGRLayer*, std::allocator<OGRLayer*> > const&, double, double, double, int) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:889
    #14 0x7fadf6b53649 in GNMGenericNetwork::ConnectPointsByLines(char**, double, double, double, int) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:594
    #15 0x7fadf6b6a741 in GNMConnectPointsByLines /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:1508
    #16 0x7fade0bc9caf in GNMGenericNetworkShadow_ConnectPointsByLines extensions/gnm_wrap.cpp:3648
    #17 0x7fade0bc9caf in _wrap_GenericNetwork_ConnectPointsByLines extensions/gnm_wrap.cpp:6246
    #18 0x4  (<unknown module>)

[1m[34mIndirect leak of 319 byte(s) in 3 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fae029b0691 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libstdc++.so.6+0x118691)

[1m[34mIndirect leak of 144 byte(s) in 1 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf6b7827c in __gnu_cxx::new_allocator<GNMRule>::allocate(unsigned long, void const*) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/new_allocator.h:104
    #2 0x7fadf6b7623a in __gnu_cxx::__alloc_traits<std::allocator<GNMRule> >::allocate(std::allocator<GNMRule>&, unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/alloc_traits.h:182
    #3 0x7fadf6b745aa in std::_Vector_base<GNMRule, std::allocator<GNMRule> >::_M_allocate(unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_vector.h:170
    #4 0x7fadf6b7090c in std::vector<GNMRule, std::allocator<GNMRule> >::_M_insert_aux(__gnu_cxx::__normal_iterator<GNMRule*, std::vector<GNMRule, std::allocator<GNMRule> > >, GNMRule const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/vector.tcc:353
    #5 0x7fadf6b6d17f in std::vector<GNMRule, std::allocator<GNMRule> >::push_back(GNMRule const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_vector.h:925
    #6 0x7fadf6b651e6 in GNMGenericNetwork::LoadMetadataLayer(GDALDataset*) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:1266
    #7 0x7fadf6bd85d6 in GNMFileNetwork::Open(GDALOpenInfo*) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfilenetwork.cpp:88
    #8 0x7fadf6bd5a7d in GNMFileDriverDelete /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfiledriver.cpp:118
    #9 0x7fadf4abc8a4 in GDALDriver::Delete(char const*) /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldriver.cpp:943
    #10 0x7fadf4abcf01 in GDALDeleteDataset /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldriver.cpp:1021
    #11 0x7fadffa2f8db in GDALDriverShadow_Delete extensions/gdal_wrap.cpp:3823
    #12 0x7fadffa2f8db in _wrap_Driver_Delete extensions/gdal_wrap.cpp:9547
    #13 0x7fadffa9ff9f  (/usr/local/lib/python2.7/dist-packages/GDAL-2.1.0-py2.7-linux-x86_64.egg/osgeo/_gdal.so+0x137f9f)

[1m[34mIndirect leak of 16 byte(s) in 1 object(s) allocated from:
[1m[0m    #0 0x7fae0532702a in malloc (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x9702a)
    #1 0x7fadf4e7c3a7 in VSIMalloc /home/travis/build/rouault/gdal_coverage/gdal/port/cpl_vsisimple.cpp:457
    #2 0x7fadf4ce3d04 in CPLMalloc /home/travis/build/rouault/gdal_coverage/gdal/port/cpl_conv.cpp:133
    #3 0x7fadf4ce3c62 in CPLCalloc /home/travis/build/rouault/gdal_coverage/gdal/port/cpl_conv.cpp:93
    #4 0x7fadf4a5c265 in GDALDataset::Init(int) /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldataset.cpp:209
    #5 0x7fadf4a5ae2a in GDALDataset::GDALDataset() /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldataset.cpp:179
    #6 0x7fadf6bbd654 in GNMNetwork::GNMNetwork() /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmnetwork.cpp:35
    #7 0x7fadf6b41734 in GNMGenericNetwork::GNMGenericNetwork() /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:47
    #8 0x7fadf6bd6cd4 in GNMFileNetwork::GNMFileNetwork() /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfilenetwork.cpp:35
    #9 0x7fadf6bd58d5 in GNMFileDriverDelete /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfiledriver.cpp:116
    #10 0x7fadf4abc8a4 in GDALDriver::Delete(char const*) /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldriver.cpp:943
    #11 0x7fadf4abcf01 in GDALDeleteDataset /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldriver.cpp:1021
    #12 0x7fadffa2f8db in GDALDriverShadow_Delete extensions/gdal_wrap.cpp:3823
    #13 0x7fadffa2f8db in _wrap_Driver_Delete extensions/gdal_wrap.cpp:9547
    #14 0x7fadffa9ff9f  (/usr/local/lib/python2.7/dist-packages/GDAL-2.1.0-py2.7-linux-x86_64.egg/osgeo/_gdal.so+0x137f9f)

[1m[34mIndirect leak of 16 byte(s) in 1 object(s) allocated from:
[1m[0m    #0 0x7fae05327d9a in operator new(unsigned long) (/home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/lib64/libasan.so.2.0.0+0x97d9a)
    #1 0x7fadf5a94e8e in __gnu_cxx::new_allocator<OGRLayer*>::allocate(unsigned long, void const*) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/new_allocator.h:104
    #2 0x7fadf5a9468a in __gnu_cxx::__alloc_traits<std::allocator<OGRLayer*> >::allocate(std::allocator<OGRLayer*>&, unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/ext/alloc_traits.h:182
    #3 0x7fadf5a93a26 in std::_Vector_base<OGRLayer*, std::allocator<OGRLayer*> >::_M_allocate(unsigned long) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_vector.h:170
    #4 0x7fadf5a91d64 in std::vector<OGRLayer*, std::allocator<OGRLayer*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<OGRLayer**, std::vector<OGRLayer*, std::allocator<OGRLayer*> > >, OGRLayer* const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/vector.tcc:353
    #5 0x7fadf5a9095c in std::vector<OGRLayer*, std::allocator<OGRLayer*> >::push_back(OGRLayer* const&) /home/travis/build/rouault/gdal_coverage/install-gcc-5.2.0/include/c++/5.2.0/bits/stl_vector.h:925
    #6 0x7fadf6bdf7fa in GNMFileNetwork::LoadNetworkLayer(char const*) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfilenetwork.cpp:420
    #7 0x7fadf6b68989 in GNMGenericNetwork::LoadFeaturesLayer(GDALDataset*) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnmgenericnetwork.cpp:1366
    #8 0x7fadf6bd9851 in GNMFileNetwork::Open(GDALOpenInfo*) /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfilenetwork.cpp:123
    #9 0x7fadf6bd5a7d in GNMFileDriverDelete /home/travis/build/rouault/gdal_coverage/gdal/gnm/gnm_frmts/file/gnmfiledriver.cpp:118
    #10 0x7fadf4abc8a4 in GDALDriver::Delete(char const*) /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldriver.cpp:943
    #11 0x7fadf4abcf01 in GDALDeleteDataset /home/travis/build/rouault/gdal_coverage/gdal/gcore/gdaldriver.cpp:1021
    #12 0x7fadffa2f8db in GDALDriverShadow_Delete extensions/gdal_wrap.cpp:3823
    #13 0x7fadffa2f8db in _wrap_Driver_Delete extensions/gdal_wrap.cpp:9547
    #14 0x7fadffa9ff9f  (/usr/local/lib/python2.7/dist-packages/GDAL-2.1.0-py2.7-linux-x86_64.egg/osgeo/_gdal.so+0x137f9f)

SUMMARY: AddressSanitizer: 20319 byte(s) leaked in 327 allocation(s).

Change History (1)

comment:1 by Even Rouault, 8 years ago

Description: modified (diff)
Milestone: 2.1.0
Resolution: fixed
Status: newclosed

trunk r32726 "GNM: fix memory leaks (#6177)"

Note: See TracTickets for help on using tickets.