Skip to content

osrm-routed hangs #247

@emiltin

Description

@emiltin

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions