[Tile-serving] [openstreetmap/osm2pgsql] -fsanitize=address reported memory leaks (#729)
Paul Norman
notifications at github.com
Sat Mar 25 11:12:22 UTC 2017
with `./osm2pgsql -d osm2pgsql_test -S ../default.style ../tests/liechtenstein-2013-08-03.osm.pbf`
```
Direct leak of 57344 byte(s) in 7 object(s) allocated from: [205/1878]
#0 0x7f16b091dbf0 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc2bf0) #1 0x564ecd221220 in elem_cache_t<middle_ram_t::ramWay, 10ul>::set(long, middle_ram_t::ramWay*) /home/pnorman/osm/osm2pgsql/middle-ram.hpp:58
#2 0x564ecd21f0f0 in middle_ram_t::ways_set(osmium::Way const&) /home/pnorman/osm/osm2pgsql/middle-ram.cpp:43
#3 0x564ecd155e74 in osmdata_t::way_add(osmium::Way*) /home/pnorman/osm/osm2pgsql/osmdata.cpp:50 #4 0x564ecd194a9f in parse_osmium_t::way(osmium::Way&) /home/pnorman/osm/osm2pgsql/parse-osmium.cpp:168
#5 0x564ecd1e7a77 in void osmium::detail::apply_item_impl<parse_osmium_t&, osmium::memory::Item>(osmium::memory::Item&, parse_osmium_t&) /home/pnorman/osm/osm2pgsql/contrib/libosmium/osmium/visitor.hpp:64
#6 0x564ecd1e1b8d in void osmium::apply_item<osmium::memory::Item, parse_osmium_t&>(osmium::memory::Item&, parse_osmium_t&) /home/pnorman/osm/osm2pgsql/contrib/libosmium/osmium/visitor.hpp:206
#7 0x564ecd1d944c in void osmium::apply<osmium::io::InputIterator<osmium::io::Reader, osmium::memory::Item>, parse_osmium_t&>(osmium::io::InputIterator<osmium::io::Reader, osmium::memory::Item>, osmium::io
::InputIterator<osmium::io::Reader, osmium::memory::Item>, parse_osmium_t&) /home/pnorman/osm/osm2pgsql/contrib/libosmium/osmium/visitor.hpp:220
#8 0x564ecd1cfa20 in void osmium::apply<osmium::io::Reader, parse_osmium_t&>(osmium::io::Reader&, parse_osmium_t&) /home/pnorman/osm/osm2pgsql/contrib/libosmium/osmium/visitor.hpp:227
#9 0x564ecd194607 in parse_osmium_t::stream_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::alloca
tor<char> > const&) /home/pnorman/osm/osm2pgsql/parse-osmium.cpp:128
#10 0x564ecd139e37 in main /home/pnorman/osm/osm2pgsql/osm2pgsql.cpp:86
#11 0x7f16ae4d82b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0)
```
```
Direct leak of 8192 byte(s) in 1 object(s) allocated from:
#0 0x7f16b091dbf0 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc2bf0)
#1 0x564ecd2214a6 in elem_cache_t<middle_ram_t::ramRel, 10ul>::set(long, middle_ram_t::ramRel*) /home/pnorman/osm/osm2pgsql/middle-ram.hpp:58
#2 0x564ecd21f1d0 in middle_ram_t::relations_set(osmium::Relation const&) /home/pnorman/osm/osm2pgsql/middle-ram.cpp:48
#3 0x564ecd155fc2 in osmdata_t::relation_add(osmium::Relation const&) /home/pnorman/osm/osm2pgsql/osmdata.cpp:61
#4 0x564ecd194c00 in parse_osmium_t::relation(osmium::Relation const&) /home/pnorman/osm/osm2pgsql/parse-osmium.cpp:185
#5 0x564ecd1e7ab8 in void osmium::detail::apply_item_impl<parse_osmium_t&, osmium::memory::Item>(osmium::memory::Item&, parse_osmium_t&) /home/pnorman/osm/osm2pgsql/contrib/libosmium/osmium/visitor.hpp:68
#6 0x564ecd1e1b8d in void osmium::apply_item<osmium::memory::Item, parse_osmium_t&>(osmium::memory::Item&, parse_osmium_t&) /home/pnorman/osm/osm2pgsql/contrib/libosmium/osmium/visitor.hpp:206
#7 0x564ecd1d944c in void osmium::apply<osmium::io::InputIterator<osmium::io::Reader, osmium::memory::Item>, parse_osmium_t&>(osmium::io::InputIterator<osmium::io::Reader, osmium::memory::Item>, osmium::io
::InputIterator<osmium::io::Reader, osmium::memory::Item>, parse_osmium_t&) /home/pnorman/osm/osm2pgsql/contrib/libosmium/osmium/visitor.hpp:220
#8 0x564ecd1cfa20 in void osmium::apply<osmium::io::Reader, parse_osmium_t&>(osmium::io::Reader&, parse_osmium_t&) /home/pnorman/osm/osm2pgsql/contrib/libosmium/osmium/visitor.hpp:227
#9 0x564ecd194607 in parse_osmium_t::stream_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::alloca
tor<char> > const&) /home/pnorman/osm/osm2pgsql/parse-osmium.cpp:128
#10 0x564ecd139e37 in main /home/pnorman/osm/osm2pgsql/osm2pgsql.cpp:86
#11 0x7f16ae4d82b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0)
```
... indirect leaks ...
SUMMARY: AddressSanitizer: 2976250 byte(s) leaked in 22941 allocation(s).
I didn't list the indirect leaks because there's a bunch and the advice out there is to fix the direct ones first, which will cause many of the indirects to go away.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/osm2pgsql/issues/729
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/tile-serving/attachments/20170325/427f16ac/attachment.html>
More information about the Tile-serving
mailing list