Closed thkukuk closed 6 years ago
It looks like this was due to some broken coastline data around here: https://www.openstreetmap.org/way/638667565#map=15/1.0403/9.5997 . I believe the data has been fixed now. But there is still a bug in osmcoastline that I need to track down that is triggered by this data.
Okay, I tracked down this problem. The fix is in master. Thanks for reporting.
Use the latest planet.osm.pbf (Oct. 25, working fine) and update this to a current state. Since about 3 days this leads to a crash in osmcoastline on Linux, looks like a double free.
osmcoastline -v -i -f -p land -o tmp.db planet-current.osm.pbf [ 0:00] Started osmcoastline version 2.2.0 / libosmium version 2.14.2 [ 0:00] Using SRS 4326 for output. (Change with the --srs/s option.) [ 0:00] Writing to output database '/tmp/tmp.uIxKWKgKiU/coastline-20181101005501.db'. (Was set with the --output-database/-o option.) [ 0:00] Removing database output file (if it exists) (because you told me to with --overwrite/-f). [ 0:00] Will NOT create geometry index (because you told me to using --no-index/-i). [ 0:00] Reading from file '../planet/planet-20181101005501.osm.pbf'. [ 0:00] Reading ways (1st pass through input file)... Program terminated with signal SIGSEGV, Segmentation fault.
Backtrace:
0 0x00007f668c918fb3 in free () from /lib64/libc.so.6
1 0x000055c3e265da40 in gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<long const, std::_List_iterator<std::shared_ptr > > > >::deallocate (this=0x7ffef02da608, p=)
2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<long const, std::_List_iterator<std::shared_ptr > > > > >::deallocate (a=..., n=1, __p=)
3 std::_Rb_tree<long, std::pair<long const, std::_List_iterator<std::shared_ptr > >, std::_Select1st<std::pair<long const, std::_List_iterator<std::shared_ptr > > >, std::less, std::allocator<std::pair<long const, std::_List_iterator<std::shared_ptr > > > >::_M_put_node (this=0x7ffef02da608, __p=) at /usr/include/c++/8/bits/stl_tree.h:603
4 std::_Rb_tree<long, std::pair<long const, std::_List_iterator<std::shared_ptr > >, std::_Select1st<std::pair<long const, std::_List_iterator<std::shared_ptr > > >, std::less, std::allocator<std::pair<long const, std::_List_iterator<std::shared_ptr > > > >::_M_drop_node (this=0x7ffef02da608, __p=) at /usr/include/c++/8/bits/stl_tree.h:670
5 std::_Rb_tree<long, std::pair<long const, std::_List_iterator<std::shared_ptr > >, std::_Select1st<std::pair<long const, std::_List_iterator<std::shared_ptr > > >, std::less, std::allocator<std::pair<long const, std::_List_iterator<std::shared_ptr > > > >::_M_erase_aux (__position=..., this=0x7ffef02da608) at /usr/include/c++/8/bits/stl_tree.h:2493
6 std::_Rb_tree<long, std::pair<long const, std::_List_iterator<std::shared_ptr > >, std::_Select1st<std::pair<long const, std::_List_iterator<std::shared_ptr > > >, std::less, std::allocator<std::pair<long const, std::_List_iterator<std::shared_ptr > > > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<long const, std::_List_iterator<std::shared_ptr > > >) (__position=..., this=0x7ffef02da608) at /usr/include/c++/8/bits/stl_tree.h:1141
7 std::map<long, std::_List_iterator<std::shared_ptr >, std::less, std::allocator<std::pair<long const, std::_List_iterator<std::shared_ptr > > > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<long const, std::_List_iterator<std::shared_ptr > > >) (__position=..., this=0x7ffef02da608) at /usr/include/c++/8/bits/stl_map.h:1038
8 CoastlineRingCollection::add_partial_ring (this=0x7ffef02da5c0, way=...) at /usr/src/debug/osmcoastline-2.2.0-0.x86_64/src/coastline_ring_collection.cpp:103
9 0x000055c3e26330ad in main () at /usr/src/debug/osmcoastline-2.2.0-0.x86_64/src/coastline_ring_collection.hpp:85