Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

osrm-routed hangs #247

Closed
emiltin opened this issue May 6, 2012 · 1 comment
Closed

osrm-routed hangs #247

emiltin opened this issue May 6, 2012 · 1 comment

Comments

@emiltin
Copy link
Contributor

emiltin commented May 6, 2012

many of the tests (i would say about 50%) currently fail because osrm-routed hangs. i've investigated one specific case, checking wether it really hangs when you run things manually. it does, as shown below. all examples uses latest master (a394973...), build on Mac in release version.

i've looked at the "Two ways connected in a straight line" scenario in feature/feature.basic:

    Scenario: Two ways connected in a straight line
        Given the node map
         | a | b | c |

        And the ways
         | nodes |
         | ab    |
         | bc    |

        When I route I should get
         | from | to | route |
         | a    | c  | ab,bc |

the .osm file generated contain:

<?xml version="1.0" encoding="UTF-8"?>
<osm generator="osrm-test" version="0.6">
  <node id="1" version="1" uid="1" user="osrm" timestamp="2000-00-00T00:00:00Z" lon="1.0" lat="1.0">
    <tag k="name" v="a"/>
  </node>
  <node id="2" version="1" uid="1" user="osrm" timestamp="2000-00-00T00:00:00Z" lon="1.000899199712256" lat="1.0">
    <tag k="name" v="b"/>
  </node>
  <node id="3" version="1" uid="1" user="osrm" timestamp="2000-00-00T00:00:00Z" lon="1.001798399424512" lat="1.0">
    <tag k="name" v="c"/>
  </node>
  <way id="4" version="1" uid="1" user="osrm" timestamp="2000-00-00T00:00:00Z">
    <nd ref="1"/>
    <nd ref="2"/>
    <tag k="highway" v="primary"/>
    <tag k="name" v="ab"/>
  </way>
  <way id="5" version="1" uid="1" user="osrm" timestamp="2000-00-00T00:00:00Z">
    <nd ref="2"/>
    <nd ref="3"/>
    <tag k="highway" v="primary"/>
    <tag k="name" v="bc"/>
  </way>
</osm>

the speedprofile used is:

[Scenario: Two ways connected in a straight line]
    accessTag = bicycle
    defaultSpeed = 17
    obeyOneways = yes
    useRestrictions = yes
    obeyBollards = no
    cycleway = 19
    primary = 19
    primary_link = 19
    secondary = 17
    secondary_link = 17
    tertiary = 15
    residential = 15
    unclassified = 15
    living_street = 13
    road = 13
    service = 12
    track = 12
    path = 12
    footway = 10
    pedestrian = 5
    pier = 5
    steps = 3
    ferry = 5
    excludeFromGrid = ferry

first i process the osm file:

~/code/Project-OSRM$ ((a394973...) *) cd test
~/code/Project-OSRM/test$ ((a394973...) *) ../osrm-extract cache/a801d2fb5453c1483dd5eb259145f9950182091c.osm
[STXXL-MSG] STXXL v1.3.1 (release)
[STXXL-MSG] 1 disks are allocated, total space: 1 MiB
[info extractor.cpp:86] extracting data from input file cache/a801d2fb5453c1483dd5eb259145f9950182091c.osm
[info extractor.cpp:115] Loading speed profiles
[info extractor.cpp:117] Found the following speed profiles: 
 [0]Scenario: Two ways connected in a straight line
[info extractor.cpp:125] Using profile "Scenario: Two ways connected in a straight line"
[info extractor.cpp:184] Using 1 GB of RAM for buffers
[warn DataStructures/XMLParser.h:35] Parsing plain .osm/.osm.bz2 is deprecated. Switch to .pbf
[extractor] parsing finished after 0.00058198 seconds
[extractor] Sorting used nodes        ... ok, after 0.529756s
[extractor] Erasing duplicate nodes   ... ok, after 0.00135398s
[extractor] Sorting all nodes         ... ok, after 0.135473s
[extractor] Sorting used ways         ... ok, after 0.0829151s
[extractor] Sorting restrctns. by from... ok, after 0.0829859s
[extractor] Fixing restriction starts ... ok, after 0.0829999s
[extractor] Sorting restrctns. by to  ... ok, after 1.90735e-05s
[extractor] Fixing restriction ends   ... ok, after 7.86781e-06s
[info extractor.cpp:310] usable restrictions: 0
[extractor] Confirming/Writing used nodes     ... ok, after 0.000975847s
[extractor] setting number of nodes   ... ok
[extractor] Sorting edges by start    ... ok, after 0.104585s
[extractor] Setting start coords      ... ok, after 0.000550985s
[extractor] Sorting edges by target   ... ok, after 0.0987132s
[extractor] Setting target coords     ... ok, after 0.000793934s
[extractor] setting number of edges   ... ok
[extractor] writing street name index ... ok, after 0.000264883s
[info extractor.cpp:498] Processed 2.37006 nodes/sec and 1.58004 edges/sec
[extractor] finished.

~/code/Project-OSRM/test$ ((a394973...) *) ../osrm-prepare cache/a801d2fb5453c1483dd5eb259145f9950182091c.osrm cache/a801d2fb5453c1483dd5eb259145f9950182091c.osrm.restrictions
[info createHierarchy.cpp:85] Using restrictions from file: cache/a801d2fb5453c1483dd5eb259145f9950182091c.osrm.restrictions
[info Util/GraphLoader.h:166] Graph loaded ok and has 2 edges
[info createHierarchy.cpp:113] 0 restrictions, 0 bollard nodes, 0 traffic lights
[info createHierarchy.cpp:125] Generating edge-expanded graph representation
. 10% . 20% . 30% . 40% . 50% . 60% . 100%
 70% . 80% . 90% . 100% [info Contractor/EdgeBasedGraphFactory.cpp:288] Sorting edge-based Nodes
[info Contractor/EdgeBasedGraphFactory.cpp:290] Removing duplicate nodes (if any)
[info Contractor/EdgeBasedGraphFactory.cpp:292] Applying vector self-swap trick to free up memory
[info Contractor/EdgeBasedGraphFactory.cpp:294] Node-based graph contains 8 edges
[info Contractor/EdgeBasedGraphFactory.cpp:295] Edge-based graph contains 4 edges, blowup is 0.5
[info Contractor/EdgeBasedGraphFactory.cpp:296] Edge-based graph skipped 0 turns, defined by 0 restrictions.
[info Contractor/EdgeBasedGraphFactory.cpp:297] Generated 4 edge based nodes
[info createHierarchy.cpp:147] writing node map ...
[info createHierarchy.cpp:156] writing info on original edges
[info createHierarchy.cpp:176] building grid ...
[STXXL-MSG] STXXL v1.3.1 (release)
[STXXL-MSG] 1 disks are allocated, total space: 1 MiB
. 10% . 20% . 30% . 40% . 50% . 60% . 70% . 100%
 80% . 90% . 100% [info DataStructures/NNGrid.h:119] sorting grid data consisting of 4 edges...
[info DataStructures/NNGrid.h:122] finished sorting after 0.0535879s
writing data .... 10% . 20% . 30% . 40% . 50% . 60% . 70% . 100%
 80% . 90% . 100% sse based
[info createHierarchy.cpp:188] initializing contractor
merged 0 edges out of 8
[info Contractor/Contractor.h:175] Finished building dynamic graph
contractor finished initalization
Contractor is using 1 threads
initializing elimination PQ ...ok
preprocessing .... 10% . 20% . 30% . 40% . 50% . 60% . 70% . 100%
 80% . 90% . 100% [info createHierarchy.cpp:192] Contraction took 5.88894e-05 sec
[info createHierarchy.cpp:202] Building Node Array
[info createHierarchy.cpp:206] Serializing compacted graph
[info createHierarchy.cpp:258] Expansion  : 2574.77 nodes/sec and 3433.03 edges/sec
[info createHierarchy.cpp:259] Contraction: 3433.03 nodes/sec and 0 edges/sec
[info createHierarchy.cpp:264] finished preprocessing

i now have all the expected .osrm.* datafiles in the cache folder:

~/code/Project-OSRM/test$ ((a394973...) *) ls -l cache
total 16464
-rw-r--r--  1 emil  staff      901 May  6 10:06 a801d2fb5453c1483dd5eb259145f9950182091c.osm
-rw-r--r--  1 emil  staff      110 May  6 10:18 a801d2fb5453c1483dd5eb259145f9950182091c.osrm
-rw-r--r--  1 emil  staff       52 May  6 10:18 a801d2fb5453c1483dd5eb259145f9950182091c.osrm.edges
-rw-r--r--  1 emil  staff     8308 May  6 10:18 a801d2fb5453c1483dd5eb259145f9950182091c.osrm.fileIndex
-rw-r--r--  1 emil  staff       20 May  6 10:18 a801d2fb5453c1483dd5eb259145f9950182091c.osrm.hsgr
-rw-r--r--  1 emil  staff       20 May  6 10:18 a801d2fb5453c1483dd5eb259145f9950182091c.osrm.names
-rw-r--r--  1 emil  staff       36 May  6 10:18 a801d2fb5453c1483dd5eb259145f9950182091c.osrm.nodes
-rw-r--r--  1 emil  staff  8388608 May  6 10:18 a801d2fb5453c1483dd5eb259145f9950182091c.osrm.ramIndex
-rw-r--r--  1 emil  staff        4 May  6 10:18 a801d2fb5453c1483dd5eb259145f9950182091c.osrm.restrictions

i check that the server.ini file is correct (manually adding edgesData, since it's missing with master version of cucumber tests):

Threads = 1
IP = 0.0.0.0
Port = 5000

hsgrData=cache/a801d2fb5453c1483dd5eb259145f9950182091c.osrm.hsgr
nodesData=cache/a801d2fb5453c1483dd5eb259145f9950182091c.osrm.nodes
edgesData=cache/a801d2fb5453c1483dd5eb259145f9950182091c.osrm.edges
ramIndex=cache/a801d2fb5453c1483dd5eb259145f9950182091c.osrm.ramIndex
fileIndex=cache/a801d2fb5453c1483dd5eb259145f9950182091c.osrm.fileIndex
namesData=cache/a801d2fb5453c1483dd5eb259145f9950182091c.osrm.names

then i start osrm-routed:

~/code/Project-OSRM/test$ ((a394973...) *) ../osrm-routed
[server] starting up engines, saved at Sat May  5 16:23:03 2012
[server] http 1.1 compression handled by zlib version 1.2.5
[info Server/DataStructures/QueryObjectsStorage.cpp:26] loading graph data
[info Server/DataStructures/QueryObjectsStorage.cpp:33] Data checksum is 1633059332
[info Server/DataStructures/QueryObjectsStorage.cpp:39] Loading auxiliary information
[info Server/DataStructures/QueryObjectsStorage.cpp:47] Loading names index
[info Server/DataStructures/QueryObjectsStorage.cpp:64] All query data structures loaded
[handler] registering plugin hello
[handler] registering plugin locate
[handler] registering plugin nearest
[handler] registering plugin viaroute
[server] running and waiting for requests

i open another terminal window, and request a route:

curl "http://localhost:5000/viaroute?loc=1.0,1.0&loc=1.0,1.001798399424512&output=json&geomformat=cmp"

osrm-routed logs the request, but hangs:

...
[info Server/RequestHandler.h:61] 06-04-2012 10:18:20 127.0.0.1  /viaroute?loc=1.0,1.0&loc=1.0,1.001798399424512&output=json&geomformat=cmp

curl is also hanging, waiting for a reply.

using Activity Monitor (i'm on a Mac) shows that osrm-routed is continusouly using 28% percent of CPU cycles (it's compiled without openMP). inspecting the process seems to show that it's hanging somewhere in SearchEngine::_RoutingStep:

Sampling process 69369 for 1 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling osrm-routed (pid 69369) every 1 millisecond
Process:         osrm-routed [69369]
Path:            /Users/emil/code/Project-OSRM/osrm-routed
Load Address:    0x104e83000
Identifier:      osrm-routed
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  bash [325]

Date/Time:       2012-05-06 10:19:42.965 +0200
OS Version:      Mac OS X 10.7.3 (11D50b)
Report Version:  7

Call graph:
    883 Thread_2574913   DispatchQueue_1: com.apple.main-thread  (serial)
    + 883 start  (in osrm-routed) + 52  [0x104e83f44]
    +   883 main  (in osrm-routed) + 879  [0x104e8560f]
    +     883 sigwait  (in libsystem_c.dylib) + 68  [0x7fff868f9aab]
    +       883 __sigwait  (in libsystem_kernel.dylib) + 10  [0x7fff8a16b036]
    883 Thread_2574914
    + 883 thread_start  (in libsystem_c.dylib) + 13  [0x7fff86946b75]
    +   883 _pthread_start  (in libsystem_c.dylib) + 335  [0x7fff869438bf]
    +     883 thread_proxy  (in libboost_thread-mt.dylib) + 160  [0x104f1e460]
    +       883 http::Server::Run()  (in osrm-routed) + 328  [0x104e9e980]
    +         883 boost::thread::join()  (in libboost_thread-mt.dylib) + 103  [0x104f1fe5b]
    +           883 boost::condition_variable::wait(boost::unique_lock<boost::mutex>&)  (in libboost_thread-mt.dylib) + 147  [0x104f26a4f]
    +             883 _pthread_cond_wait  (in libsystem_c.dylib) + 840  [0x7fff86947274]
    +               883 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff8a16abca]
    883 Thread_2574915
      883 thread_start  (in libsystem_c.dylib) + 13  [0x7fff86946b75]
        883 _pthread_start  (in libsystem_c.dylib) + 335  [0x7fff869438bf]
          883 thread_proxy  (in libboost_thread-mt.dylib) + 160  [0x104f1e460]
            883 boost::asio::io_service::run()  (in osrm-routed) + 41  [0x104e9ddf1]
              883 boost::asio::detail::task_io_service::run(boost::system::error_code&)  (in osrm-routed) + 399  [0x104e9dc31]
                883 boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service::thread_info&, boost::asio::detail::op_queue<boost::asio::detail::task_io_service_operation>&, boost::system::error_code const&)  (in osrm-routed) + 369  [0x104e9d76b]
                  883 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long)  (in osrm-routed) + 163  [0x104e913b3]
                    883 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >*)  (in osrm-routed) + 143  [0x104ea3a9f]
                      883 void boost::asio::io_service::strand::dispatch<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > > const&)  (in osrm-routed) + 150  [0x104ea39e0]
                        883 void boost::asio::detail::strand_service::dispatch<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >(boost::asio::detail::strand_service::strand_impl*&, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >)  (in osrm-routed) + 415  [0x104ea3893]
                          883 boost::asio::detail::completion_handler<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long)  (in osrm-routed) + 214  [0x104e8c246]
                            883 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >&)  (in osrm-routed) + 139  [0x104ea36cb]
                              883 void boost::asio::asio_handler_invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, ...)  (in osrm-routed) + 102  [0x104ea3636]
                                883 void boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::operator()<boost::system::error_code, unsigned long>(boost::system::error_code const&, unsigned long const&)  (in osrm-routed) + 92  [0x104ea34ac]
                                  883 void boost::asio::io_service::strand::dispatch<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> const&)  (in osrm-routed) + 95  [0x104ea33b9]
                                    883 void boost::asio::detail::strand_service::dispatch<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> >(boost::asio::detail::strand_service::strand_impl*&, boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>)  (in osrm-routed) + 328  [0x104ea3284]
                                      883 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&, boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >&)  (in osrm-routed) + 84  [0x104e8c354]
                                        883 void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::Connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, ...)  (in osrm-routed) + 126  [0x104e89e3e]
                                          883 http::Connection::handleRead(boost::system::error_code const&, unsigned long)  (in osrm-routed) + 452  [0x104ea4c28]
                                            883 http::RequestHandler::handle_request(http::Request const&, http::Reply&)  (in osrm-routed) + 2222  [0x104eb05f0]
                                              883 ViaRoutePlugin::HandleRequest(RouteParameters const&, http::Reply&)  (in osrm-routed) + 3161  [0x104e8e441]
                                                883 SearchEngine<QueryEdge::EdgeData, StaticGraph<QueryEdge::EdgeData> >::ComputeRoute(PhantomNodes&, std::vector<_PathData, std::allocator<_PathData> >&)  (in osrm-routed) + 474  [0x104eacf20]
                                                  883 void SearchEngine<QueryEdge::EdgeData, StaticGraph<QueryEdge::EdgeData> >::_RoutingStep<false>(boost::thread_specific_ptr<BinaryHeap<unsigned int, unsigned int, int, _HeapData, UnorderedMapStorage<unsigned int, int> > >&, boost::thread_specific_ptr<BinaryHeap<unsigned int, unsigned int, int, _HeapData, UnorderedMapStorage<unsigned int, int> > >&, unsigned int*, int*, int) const  (in osrm-routed) + 476  [0x104eaaf7a]

Total number in stack (recursive counted multiple, when >=5):

Sort by top of stack, same collapsed (when >= 5):
        __psynch_cvwait  (in libsystem_kernel.dylib)        883
        __sigwait  (in libsystem_kernel.dylib)        883
        void SearchEngine<QueryEdge::EdgeData, StaticGraph<QueryEdge::EdgeData> >::_RoutingStep<false>(boost::thread_specific_ptr<BinaryHeap<unsigned int, unsigned int, int, _HeapData, UnorderedMapStorage<unsigned int, int> > >&, boost::thread_specific_ptr<BinaryHeap<unsigned int, unsigned int, int, _HeapData, UnorderedMapStorage<unsigned int, int> > >&, unsigned int*, int*, int) const  (in osrm-routed)        883

Binary Images:
       0x104e83000 -        0x104ed0ff7 +osrm-routed (??? - ???) <8093F4EE-B025-30A8-B11F-034726CB2096> /Users/emil/code/Project-OSRM/osrm-routed
       0x104f1c000 -        0x104f2dff7 +libboost_thread-mt.dylib (??? - ???) <3588FE08-8116-3A38-A4BF-78C5FDF00E2F> /usr/local/lib/libboost_thread-mt.dylib
       0x104f52000 -        0x104ffcfef +libboost_regex-mt.dylib (??? - ???) <CD34D843-81E9-31E9-A1F6-984BF732D805> /usr/local/lib/libboost_regex-mt.dylib
       0x1050b0000 -        0x1050b4fff +libboost_system-mt.dylib (??? - ???) <A9B0D28D-9217-3E1D-BC09-34A5F9F96345> /usr/local/lib/libboost_system-mt.dylib
       0x1050be000 -        0x1050ddfff +libpng15.15.dylib (20.0.0 - compatibility 20.0.0) <48C87023-FB13-393C-8FD4-DE4F1803ECA3> /usr/X11/lib/libpng15.15.dylib
       0x1050e8000 -        0x1050effff +libzip.1.dylib (2.0.0 - compatibility 2.0.0) <E72C8F09-95EB-382E-971F-1A96451382C9> /usr/local/lib/libzip.1.dylib
       0x1050f3000 -        0x1051b2ff7 +libprotobuf.7.dylib (8.0.0 - compatibility 8.0.0) <23710BC7-5377-3265-8FDE-0A5518CE0645> /usr/local/lib/libprotobuf.7.dylib
    0x7fff64a83000 -     0x7fff64ab7baf  dyld (195.6 - ???) <0CD1B35B-A28F-32DA-B72E-452EAD609613> /usr/lib/dyld
    0x7fff84fce000 -     0x7fff84fd4ff7  libunwind.dylib (30.0.0 - compatibility 1.0.0) <1E9C6C8C-CBE8-3F4B-A5B5-E03E3AB53231> /usr/lib/system/libunwind.dylib
    0x7fff85547000 -     0x7fff8554ffff  libsystem_dnssd.dylib (??? - ???) <7749128E-D0C5-3832-861C-BC9913F774FA> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff8562a000 -     0x7fff85657fe7  libSystem.B.dylib (159.1.0 - compatibility 1.0.0) <7BEBB139-50BB-3112-947A-F4AA168F991C> /usr/lib/libSystem.B.dylib
    0x7fff868f5000 -     0x7fff869d2fef  libsystem_c.dylib (763.12.0 - compatibility 1.0.0) <FF69F06E-0904-3C08-A5EF-536FAFFFDC22> /usr/lib/system/libsystem_c.dylib
    0x7fff8794e000 -     0x7fff87957ff7  libsystem_notify.dylib (80.1.0 - compatibility 1.0.0) <A4D651E3-D1C6-3934-AD49-7A104FD14596> /usr/lib/system/libsystem_notify.dylib
    0x7fff87d2f000 -     0x7fff87d4cfff  libxpc.dylib (77.18.0 - compatibility 1.0.0) <26C05F31-E809-3B47-AF42-1460971E3AC3> /usr/lib/system/libxpc.dylib
    0x7fff88506000 -     0x7fff8850bfff  libcache.dylib (47.0.0 - compatibility 1.0.0) <B7757E2E-5A7D-362E-AB71-785FE79E1527> /usr/lib/system/libcache.dylib
    0x7fff88973000 -     0x7fff88974ff7  libsystem_sandbox.dylib (??? - ???) <5087ADAD-D34D-3844-9D04-AFF93CED3D92> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff88976000 -     0x7fff8897bff7  libsystem_network.dylib (??? - ???) <5DE7024E-1D2D-34A2-80F4-08326331A75B> /usr/lib/system/libsystem_network.dylib
    0x7fff89926000 -     0x7fff8992afff  libmathCommon.A.dylib (2026.0.0 - compatibility 1.0.0) <FF83AFF7-42B2-306E-90AF-D539C51A4542> /usr/lib/system/libmathCommon.A.dylib
    0x7fff89ccc000 -     0x7fff89cccfff  libkeymgr.dylib (23.0.0 - compatibility 1.0.0) <61EFED6A-A407-301E-B454-CD18314F0075> /usr/lib/system/libkeymgr.dylib
    0x7fff8a154000 -     0x7fff8a174fff  libsystem_kernel.dylib (1699.22.73 - compatibility 1.0.0) <69F2F501-72D8-3B3B-8357-F4418B3E1348> /usr/lib/system/libsystem_kernel.dylib
    0x7fff8a9d6000 -     0x7fff8aa18ff7  libcommonCrypto.dylib (55010.0.0 - compatibility 1.0.0) <A5B9778E-11C3-3F61-B740-1F2114E967FB> /usr/lib/system/libcommonCrypto.dylib
    0x7fff8aa83000 -     0x7fff8aa8dff7  liblaunch.dylib (392.18.0 - compatibility 1.0.0) <39EF04F2-7F0C-3435-B785-BF283727FFBD> /usr/lib/system/liblaunch.dylib
    0x7fff8ad59000 -     0x7fff8ad5bfff  libquarantine.dylib (36.2.0 - compatibility 1.0.0) <48656562-FF20-3B55-9F93-407ACA7341C0> /usr/lib/system/libquarantine.dylib
    0x7fff8adba000 -     0x7fff8adc5ff7  libc++abi.dylib (14.0.0 - compatibility 1.0.0) <8FF3D766-D678-36F6-84AC-423C878E6D14> /usr/lib/libc++abi.dylib
    0x7fff8b1fe000 -     0x7fff8b1ffff7  libremovefile.dylib (21.1.0 - compatibility 1.0.0) <739E6C83-AA52-3C6C-A680-B37FE2888A04> /usr/lib/system/libremovefile.dylib
    0x7fff8b339000 -     0x7fff8b33aff7  libsystem_blocks.dylib (53.0.0 - compatibility 1.0.0) <8BCA214A-8992-34B2-A8B9-B74DEACA1869> /usr/lib/system/libsystem_blocks.dylib
    0x7fff8b721000 -     0x7fff8b725fff  libdyld.dylib (195.5.0 - compatibility 1.0.0) <F1903B7A-D3FF-3390-909A-B24E09BAD1A5> /usr/lib/system/libdyld.dylib
    0x7fff8b7a8000 -     0x7fff8b7e3fff  libsystem_info.dylib (??? - ???) <35F90252-2AE1-32C5-8D34-782C614D9639> /usr/lib/system/libsystem_info.dylib
    0x7fff8c5ae000 -     0x7fff8c7b0fff  libicucore.A.dylib (46.1.0 - compatibility 1.0.0) <38CD6ED3-C8E4-3CCD-89AC-9C3198803101> /usr/lib/libicucore.A.dylib
    0x7fff8ca09000 -     0x7fff8ca1bff7  libz.1.dylib (1.2.5 - compatibility 1.0.0) <30CBEF15-4978-3DED-8629-7109880A19D4> /usr/lib/libz.1.dylib
    0x7fff8cb5a000 -     0x7fff8cb60fff  libmacho.dylib (800.0.0 - compatibility 1.0.0) <D86F63EC-D2BD-32E0-8955-08B5EAFAD2CC> /usr/lib/system/libmacho.dylib
    0x7fff8cbb6000 -     0x7fff8cbc3ff7  libbz2.1.0.dylib (1.0.5 - compatibility 1.0.0) <8EDE3492-D916-37B2-A066-3E0F054411FD> /usr/lib/libbz2.1.0.dylib
    0x7fff8e9fe000 -     0x7fff8e9fffff  libdnsinfo.dylib (395.6.0 - compatibility 1.0.0) <718A135F-6349-354A-85D5-430B128EFD57> /usr/lib/system/libdnsinfo.dylib
    0x7fff90498000 -     0x7fff9049dfff  libcompiler_rt.dylib (6.0.0 - compatibility 1.0.0) <98ECD5F6-E85C-32A5-98CD-8911230CB66A> /usr/lib/system/libcompiler_rt.dylib
    0x7fff90ae0000 -     0x7fff90be2ff7  libxml2.2.dylib (10.3.0 - compatibility 10.0.0) <D46F371D-6422-31B7-BCE0-D80713069E0E> /usr/lib/libxml2.2.dylib
    0x7fff9159f000 -     0x7fff91612fff  libstdc++.6.dylib (52.0.0 - compatibility 7.0.0) <6BDD43E4-A4B1-379E-9ED5-8C713653DFF2> /usr/lib/libstdc++.6.dylib
    0x7fff91e1c000 -     0x7fff91e1dfff  libunc.dylib (24.0.0 - compatibility 1.0.0) <C67B3B14-866C-314F-87FF-8025BEC2CAAC> /usr/lib/system/libunc.dylib
    0x7fff91e1e000 -     0x7fff91e25fff  libcopyfile.dylib (85.1.0 - compatibility 1.0.0) <172B1985-F24A-34E9-8D8B-A2403C9A0399> /usr/lib/system/libcopyfile.dylib
    0x7fff91e52000 -     0x7fff91e60fff  libdispatch.dylib (187.7.0 - compatibility 1.0.0) <712AAEAC-AD90-37F7-B71F-293FF8AE8723> /usr/lib/system/libdispatch.dylib
Sample analysis of process 69369 written to file /dev/stdout

hope this helps.

@emiltin
Copy link
Contributor Author

emiltin commented May 6, 2012

i should note that the hanging doesn't happen every time. sometimes re-running the same commands will make it succeed. so i might be some memory related issue, like an un-initialized variable..

@emiltin emiltin closed this as completed Jan 29, 2013
oxidase added a commit that referenced this issue Apr 19, 2018
d2c1d872b Release v2.14.0
9c9aedd50 Update embedded catch.hpp to version 1.12.1.
f94e70d32 Change comment on namespace closing brace to make clang-tidy happy.
ad9f03afc Prefer prefix increment operator.
a141b9c0c Update change log.
363fc7a15 Add more XML tests.
303a3090f Refactor XML tests.
a1ee5dd56 Make util namespace inline.
6f1709a83 Cleanup progress bar code.
1b02b65e0 Use Location setters taking a string in osmium_tiles example.
7ffdc7618 Disable clang-tidy warning.
882631085 Better implementation of str_to_int.
4cbf53725 Fix another bitwise op on signed integer.
903bfac9d Disable clang-tidy warning.
01de3f518 Don't change location if set_lon() or set_lat() functions throw.
9a27e899d Fix bitwise operation on signed integer.
61650224f Disable some clang-tidy warnings.
9dfa8437e Provide a way to better mock the getenv function in tests.
ae2c172a2 Explicitly set integer type for integers in test code.
878850068 Simpler implementation. We don't need to look at errno at all.
8f9b886f5 Formatting
cf4760cb0 Use bit operations on unsigned where possible.
c7cb4cde8 No conversion needed later if we declare it this way.
01357a540 Add missing inline for free function.
3feef81ee Disable clang-tidy warning in place we can't do anything about.
bf083b8ee Avoid binary bitwise operations on signed integers.
f70b1c803 Move content of osmium::util::detail namespace into osmium::detail.
caf2f0033 Remove use of atoi and atol from code.
f564cef07 Formatting.
f0885fc73 Disable travis build with sanitizers.
858c58444 Use explicit asserts and then casts, not static_cast_with_assert.
a613b1b0a Disable clang-tidy warning.
50e327677 Always build and run data tests on travis.
20d7a09b0 Update submodule to add more XML tests.
6c8f652bf Merge pull request #250 from Nakaner/object-comparison-without-timestamp
38ea437c0 Make XML parser more strict.
7788f5108 Remove object_order_type_id_reverse_version_without_timestamp
fe2223d25 Ignore timestamps if only one object has a valid timestamp
a4515161a Code cleanup.
eb5ea1a0e Use explicit conversions.
105905c45 Only disable warning on non-MSVC compilers.
80fc1b35d Change the way IDs are parsed from strings.
78aedf91e More tests for StringMatcher and disable a clang-tidy warning.
644a00752 Move catch.hpp into its own directory.
19842756c Update to newest osm-testdata submodule.
0402f64d7 Fix the problem with "git submodule" in appveyor.
ec4095d32 Cleanup metadata_options code.
d7390741e Add static_cast to avoid conversion warning.
dd16be1c3 Remove else after throw.
ef4d618de Remove unused variable.
0fdb58d13 Check out submodule in appveyor builds.
6406282d3 Merge pull request #248 from Nakaner/metadata-options-more
eb138a902 make clang < 3.9 work
e703b0d1d make sections their own independent test cases
f68888006 detect_available_metadata must be inline
b53224588 move metadata_options into osmium namespace
edd363cfa make const what could be const
302a485e5 remove unnecessary include, add missing include
93a76e07e give osmium::io::metadata_from_object a better name
91dfbc427 update documentation
453cd6395 replace REQUIRE(!foo) by REQUIRE_FALSE(foo)
247c3b021 replace friend function by setter methods
0a62e589c performance improvement: check first character instead using std::strlen()
73568bbff move ctor of metadata_options which taks an OSMObject out of class
1879c9e47 restore metadata_options::to_string
71a303608 add more unit tests for osmium::io::metadata_options
843cdc89c replace osmium::io::metdata_options::to_string fully by operator<<
6402a8793 Fix bug in code which determines if an OSM object has a valid user.
a6d8143ae Move metadata_options out of "detail" subnamespace
61e32df10 add metadata_options::operator|=
d5f7cc0ab Use newest osm-testdata submodule.
31e34f10c add operator&=, operator<< and a to_string method to metadata_options
77d507172 Formatting fixes.
1c38b2a61 Update some URLs. Use https where possible.
10066cb3e Merge pull request #247 from Nakaner/issue-245
3c938ce82 Allow version=-1 and changeset=-1 for PBF input.
9a542c133 Add ReaderWithProgressBar class.
49839a1ce Replace strftime by our own implementation.
b32b90942 Update osm-testdata version used.
f88b6e548 Add more tests.
cb7e778f6 Handle NULL geometries in test cases.
1961a9c95 Clean up some test cases.
d7f45e071 Update osm-testdata submodule.
73a2ef18f Remove check for lost ways in multipolygon assembler.
1244e498a Update submodule also in msys2 build.
229fc2453 Revert "Make util namespace inline."
9f942d2e9 Revert "Add inline declaration to one util namespace we forgot."
40d4835ea Really fix appveyor build (I hope).
5ae071135 Add inline declaration to one util namespace we forgot.
e0916257c Clean up debug message.
2ddc474cc Make util namespace inline.
4b4e25f87 Travis config: Do not install clang-tidy, we are not using it.
5a608fba1 Fix travis build.
a075cc323 Fix appveyor build.
41ee9920b Add submodule with osm-testdata repository.
4d42245c0 Revert "Add clang-tidy build to travis."
9df355b64 Fix issue on some compilers.
c8a3c00d6 Add clang-tidy build to travis.
2fc80ad17 Fixed clang-tidy config file order.
2adf05267 Fix various clang-tidy warnings
1dca92459 Use the right syntax to override clang-tidy settings in the code.
25baecb46 Fix some issues found by clang-tidy.
54a8de6c0 Disable more clang-tidy tests.
de46d562e Also look for clang-tidy-6.0 in CMake config.
2172553d8 Add build with sanitizers on travis.
7e4e45562 Add object comparators ignoring the timestamp.
92fb231a1 Fix test code.
e541df0fc Cleanup test code.
5640269da Add comment in appveyor script about unusual parameter.
acb872376 Workaround for failing appveyor MSYS2 build.
0634bcf70 Set default value for m_file_size member.
3a2fe5781 Set default values on output options.
43d289fda Make metadata_options constructor explicit.
6e54992b4 Update change log.
e54b955cf Update included `catch.hpp` to version 1.12.0.
e50b40d53 Update copyright date.
0d8b401b6 Merge branch 'metadata'
c7da3a3b6 Remove superfluous has_visibles boolean.
7f74d33d3 Some cleanups of metadata code and fixes test.
5b3c34990 Output XML attributes uid and user independently of each other.
384167334 Merge pull request #243 from Nakaner/metadata_other
733f1916c Change path of nuget installs in appveyor config.
e48672999 Debug output from FindOsmium.cmake script is better formatted now.
79663be5d Change appveyor scripts to work without deprecated prebuilt libs.
443f7a9e4 Remove dependency on (win)getopt completely.
c133b8b14 Fix osmium_convert: Long options with = syntax.
b55daf00a Remove dependency on (win)getopt from area_test and convert examples.
92f7275a9 output visibility directly after the object ID in debug format
a771279f0 deprecate format option pbf_add_metadata
18e3f6005 The value "no" should be treated as "none" by metadata_options
c8b0b2e28 re-assign metadata_options instead of calling a public method of it
15bc4a200 Add more flexible metadata handling to PBF output
b085632b7 add more flexible metadata handling to OPL and debug output
a12c65974 Remove now wrong check.
767ad883a Allow PBF DenseNodes with only some attributes to be read.
fd5a7eb6c More flexible metadata encoding in OSM files.
d16c18581 Add instructions for bug reporting.
db52591ab Use __COUNTER__ instead of name for internal dummy name.
89e634dfc Cleanup.
931ec30ca Marks some false positives for clang-tidy google-runtime-int warning.
b59ef02a2 More rule of zero/rule of five fixes.
1b72b3386 Pass by value and use std::move.
b7d7017cc Handle some clang-tidy google-runtime-int warnings.
c043ca016 Fix special functions.
41d9f0795 Use fixed sized ints where possible.
0899a66a7 Revert some changes older compilers don't like.
41e05989a Fix several rule of zero/rule of five issues.
4e78a828f Various fixes based on clang-tidy reports.
636bda372 Default initialize arrays.
466e5aa6a Handle various clang-tidy warnings.
9f47aa07d Disable clang-tidy misc-forwarding-reference-overload warning.
5e97bf29f Mark Reader and Writer non-movable.
3a2221b27 Add minimal tests for thread-safe queue class.
affdeed6f Add some tests.
5ed055d50 Handle some warnings regarding "explicit".
b9d4c9bf5 Disable clang-tidy cert-err58-cpp warning.
254c25349 Make ADL work for begin()/end() of InputIterator<Reader>.
b64cb32ae Disable clang-tidy android-cloexec-* warnings.
6d6934ffc Fix various warnings reported by clang-tidy.
30dcabaed Another travis build fix.
88c59e669 Fix travis build.
2facb461f Fix travis and appveyor builds.
bba631a51 Remove protozero from repository.
aebe4a914 Use pass by value and std::move in some constructors.
c8c24c8fd Name unused parameters in comments.
9c2e321f9 Make deleted special functions public.
265c16284 Fix some problems with older compilers.
174e95211 Modernize class initialization code for some classes.
4e3e584f8 Disable more clang-tidy warnings.
6b53981bb Fix some class initializations.
fe1405ef8 Add/remove special functions for some classes.
c6dd930d9 Disable cppcoreguidelines-pro-type-static-cast-downcast warning.
0d09210ec Disable misc-unused-parameters warning in clang-tidy.
1dbc43112 Refactor to avoid misc-suspicious-string-compare clang-tidy warning.
91262cc86 Merge pull request #232 from worace/wkt-geojson-polygons
438076b09 Cleanup: Avoid else after return/break.
e0368e92c Disable modernize-raw-string-literal and hicpp-no-assembler check.
c822888fc Mark C style cast in macro from a library as NOLINT.
662d4a641 Moving a TypedMemoryMapping is noexcept.
aec1c4526 Use auto (clang-tidy check modernize-use-auto).
64857589d Consistent include order.
d1ce8de00 Disable hicpp-invalid-access-moved clang-tidy check.
0d3902420 Refactor test without SECTION.
32e9e9e1e Rewrite test avoiding nested sections.
eeb532902 Reorder includes according to best practice.
249e7b553 Revert "Add build with sanitizers to travis."
362cb419a Set CC env var in travis config.
9f520eca3 Add build with sanitizers to travis.
cfc18fef0 Travis config cleanup.
212c6cd42 Remove tests that triggers undefined behaviour in the std lib.
f30985884 Bugfix: Avoid undefined behaviour.
90191619a Make test work even if unused memory isn't returned to OS.
876867e68 Make older compilers happy.
925d1a797 Add names for unused parameters.
014b3a056 Avoid repeating the return type from the declaration
c4e705f92 Disable hicpp-invalid-access-moved clang-tidy warnings.
8c03b3827 Disable some warnings.
c49962ffe Refactor test to avoid spurious use-after-move warning.
04a0afbba Sort includes.
2aaab9a89 Use auto where possible.
e2d84109b More changes for old compilers.
5364ca2a8 Changes for old compilers.
098fc1fa2 Move initializations of class members to the declaration.
eea463026 Fix buffer overflow in o5m parser.
5dc74f2d5 Remove check from static cast (and document why).
7a2dfdcdc Add NOLINT for using namespace osmium::builder::attr.
01fa05f1e Clang-tidy config cleanup.
5e8f8df3f Order includes.
6b78d9b24 Various small fixes for problems detected by clang-tidy.
b815f71b7 Fix gdal check in CMake config.
d47487093 Fix integer type error.
dec9de9ec Bugfix: Throw if elemens in XML file are nested too deep.
85e37723b Various small cleanups.
5f40d726a Additional checks in o5m parser.
b59b4b6a6 Check before static cast and throw.
e57b15700 Disable compiling some header files if gdal lib is not available.
1d3056646 Better checking that PBF data is in range.
c586521d3 Add some consts to the code.
df17e8189 Trying to get the types right...
8e9b759e0 Check read and write system call for EINTR.
28c676054 Rename license file so that Github finds it.
be29e9a52 Remove duplicate space character.
36c14136f Update protozero to newest version (1.6.0).
a19181998 Make libosmium work with different protozero versions.
5c5d9fb36 Use tag and type from protozero to make PBF parser more robust.
03f894400 Add repology.org badge to README.md.
1840739dd Merge pull request #234 from AMDmi3/patch-1
d8e737196 Add support for DragonFly BSD
8de181c8d Revert "Return const object from postfix ++ operator."
0dfb1d649 Add polygon implementation for WKT and GeoJSON Geometry Factories
150e05aea Fix indentation.
6fdee974a Merge pull request #229 from alex85k/no-winsock
f302f08ce Merge pull request #228 from alex85k/fix-test-win
bfb60c888 remove ws2_32 from needed libraries
ef187851c no winsock2 on windows: replace htonl with protozero::detail::byteswap_inplace
9343f8453 Fix testdata-multipolygon test on Windows (executable path differs)
381cf9272 Do not return const from postfix increment operator.
46ec985e9 Add const version of OutputIterator::operator*.
c67de374f Disable clang-tidy test for const params.
f5eda165f Make functions noexcept and return const value from post increment op.
1e4e3160f Use {} when calling constructors. Use .empty() to check empty strings.
8893d16be Mark some tests using size() with NOLINT.
f8a74a8aa Make functions noexcept.
45c1e072c Use REQUIRE_FALSE(...) instead of REQUIRE(!...) for readability.
fc173dae7 Merge pull request #227 from alex85k/msys2-appveor
0a281c064 Add MSYS2 building to Appveyor
c93f73120 fix FindGem for Windows Ruby distributions
8bf6702b3 Merge pull request #226 from alex85k/master
e8dad731d gmtime_s should be used on both MSVC and GCC from MinGW64
d0d98e9c1 remove "osmium::util::MemoryMapping::" from class body
6830ee9bd ftruncate is not available only on MSVC (MinGW has it)
c0597584f Disable some clang-tidy checks.
578db8e4a Use empty() instead of size() or == "" to check for empty collections.
53c8f3a21 Return const object from postfix ++ operator.
bd5e4d109 Use emplace_back() instead of push_back().
0a0a4f24c Use correct C++ header.
35226ea86 Remove unused move.
df843a9cf Fix header guard.
759e76131 Avoid default argument on virtual function.
db4f1bdb9 Update included catch.hpp to version 1.10.0.
59e70e5c6 Pass constructor arguments by value and std::move() into members.
ee9b598ed Add tests for thread_handler.
ac661209a CMake config: Update list of clang-tidy versions we look for.
d7281215c Add comment to unusual code.
cbb4c09fb Split up some overlong test functions.
9870a6b90 Fix noexcept specification.
5e27c37d0 Use array instead of map to store input/output format creators.
987d12922 Mark some constructors noexcept.
17f4d8b7e Avoid static variable only needed as constant value.
fe705cef0 Avoid else after return in several cases.
d4a85878e Beautifying travis config.
f07d1e375 Make some special functions noexcept.
4bb0f7f22 Do not declare special functions on some classes.
bc6c5943d Disable some clang-tidy checks that produce false positives.
6b6598a5b Remove superfluous std::move() of POD type.
71c3f5e16 Make some special functions noexcept.
1cb32778c Remove explicit true/false in tests.
929ba89cf Always catch by const ref.
a9a255820 Code readability: No else clause after return.
f14364bd3 Code formatting fixes.
f41feb6a5 Simplify code.
727f6eff4 Mark dummy includes for IWYU.
72d20f835 Switch travis build to 'trusty'.
c480e6808 Do not run gcov from codecov script.
d16c6e90a Clean up lambda captures in xml_input_format.hpp.

git-subtree-dir: third_party/libosmium
git-subtree-split: d2c1d872bc915d9579350007383ce1ebfea3665f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant