The server segfaults on this:
#0 KMLDescriptor<SearchEngine?<ContractionCleanup::Edge::EdgeData?, StaticGraph?ContractionCleanup::Edge::EdgeData?, NodeInformationHelpDesk?> >::Run (this=0x2aaab82002b0, reply=..., rawRoute=...,
phantomNodes=..., sEngine=..., distance=1) at Plugins/KMLDescriptor.h:81
#1 0x000000000045f311 in RoutePlugin::HandleRequest? (this=0x6878b0, routeParameters=..., reply=...) at Plugins/RoutePlugin.h:148
#2 0x000000000045cee1 in http::RequestHandler::handle_request (this=, req=..., rep=...) at Server/RequestHandler.h:89
#3 0x000000000045e0d7 in http::Connection::handleRead (this=0x70f40f0, e=, bytes_transferred=) at Server/Connection.h:72
#4 0x00000000004504ca in callboost::shared_ptr<http::Connection, boost::system::error_code const, unsigned long> (function=, context=)
at /usr/include/boost141/boost/bind/mem_fn_template.hpp:265
#5 operator()boost::shared_ptr<http::Connection > (function=, context=) at /usr/include/boost141/boost/bind/mem_fn_template.hpp:279
#6 operator()<boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list2<boost::system::error_code&, unsigned long&> > (function=,
context=) at /usr/include/boost141/boost/bind/bind.hpp:385
#7 operator()<boost::system::error_code, unsigned long> (function=, context=) at /usr/include/boost141/boost/bind/bind_template.hpp:61
#8 operator() (function=, context=) at /usr/include/boost141/boost/asio/detail/bind_handler.hpp:96
#9 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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long> > (function=, context=)
at /usr/include/boost141/boost/asio/handler_invoke_hook.hpp:62
#10 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::list3boost::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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> > > (function=, context=)
at /usr/include/boost141/boost/asio/detail/handler_invoke_helpers.hpp:39
#11 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::list3boost::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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long> (
function=, context=) at /usr/include/boost141/boost/asio/detail/bind_handler.hpp:130
#12 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::list3boost::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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long> > (
function=, context=) at /usr/include/boost141/boost/asio/detail/handler_invoke_helpers.hpp:39
#13 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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long> > (function=, context=)
at /usr/include/boost141/boost/asio/detail/strand_service.hpp:421
#14 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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long> > (function=, context=)
at /usr/include/boost141/boost/asio/strand.hpp:118
#15 operator()<boost::system::error_code, unsigned long> (function=, context=) at /usr/include/boost141/boost/asio/detail/wrapped_handler.hpp:71
#16 operator() (function=, context=) at /usr/include/boost141/boost/asio/detail/bind_handler.hpp:96
#17 operator() (function=, context=) at /usr/include/boost141/boost/asio/detail/wrapped_handler.hpp:143
#18 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::list3boost::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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> > > > (function=, context=) at /usr/include/boost141/boost/asio/handler_invoke_hook.hpp:62
#19 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::list3boost::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::list3boost::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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> > > (function=, context=)
at /usr/include/boost141/boost/asio/detail/handler_invoke_helpers.hpp:39
I.e this line:
lastNodeID = (lastNodeID == rawRoute.segmentEndCoordinates[segmentIdx].startPhantom.startNode
This is the bt full output for the first two entries:
#0 KMLDescriptor<SearchEngine?<ContractionCleanup::Edge::EdgeData?, StaticGraph?ContractionCleanup::Edge::EdgeData?, NodeInformationHelpDesk?> >::Run (this=0x2aaab82002b0, reply=..., rawRoute=...,
phantomNodes=..., sEngine=..., distance=1) at Plugins/KMLDescriptor.h:81
tmpDistance = 2.3177964249919518e-310
path = @0x2aaab8200270
segmentIdx =
lastNodeID = 37942867
s =
travelTime =
#1 0x000000000045f311 in RoutePlugin::HandleRequest? (this=0x6878b0, routeParameters=..., reply=...) at Plugins/RoutePlugin.h:148
phantomNodes = {startPhantom = {startNode = 37942867, targetNode = 46942484, ratio = 0.51219512194653316, location = {lat = 5259999, lon = 173325}}, targetPhantom = {startNode = 37942867,
targetNode = 37942007, ratio = 0.9694173583904041, location = {lat = 5259972, lon = 173479}}}
JSONParameter = {static npos = 18446744073709551615, _M_dataplus = {std::allocator = {<gnu_cxx::new_allocator> = {}, }, _M_p = 0x67f398 ""}}
descriptorConfig = {instructions = false, geometry = false, encodeGeometry = false, z = 18, pc = {}}
path = {<std::_Vector_base<_PathData, std::allocator<_PathData> >> = {_M_impl = {std::allocator<_PathData> = {<gnu_cxx::new_allocator<_PathData>> = {}, },
_M_start = 0x2aaab82003b0, _M_finish = 0x2aaab82003b4, _M_end_of_storage = 0x2aaab82003b4}}, }
rawRoute = {routeSegments = {<std::_Vector_base<std::vector<_PathData, std::allocator<_PathData> >, std::allocator<std::vector<_PathData, std::allocator<_PathData> > > >> = {
_M_impl = {<std::allocator<std::vector<_PathData, std::allocator<_PathData> > >> = {<gnu_cxx::new_allocator<std::vector<_PathData, std::allocator<_PathData> > >> = {}, }, _M_start = 0x2aaab8200270, _M_finish = 0x2aaab8200288, _M_end_of_storage = 0x2aaab8200288}}, },
segmentEndCoordinates = {<std::_Vector_base<PhantomNodes?, std::allocator<PhantomNodes?> >> = {
_M_impl = {std::allocator<PhantomNodes?> = {<gnu_cxx::new_allocator<PhantomNodes?>> = {}, }, _M_start = 0x0, _M_finish = 0x0,
_M_end_of_storage = 0x0}}, }, rawViaNodeCoordinates = {<std::_Vector_base<_Coordinate, std::allocator<_Coordinate> >> = {
_M_impl = {std::allocator<_Coordinate> = {<gnu_cxx::new_allocator<_Coordinate>> = {}, }, _M_start = 0x0, _M_finish = 0x0,
_M_end_of_storage = 0x0}}, }}
distance = 1
desc = 0x2aaab82002b0
descriptorType = 0
lat1 =
lon1 =
tmp = {static npos = 18446744073709551615, _M_dataplus = {std::allocator = {<gnu_cxx::new_allocator> = {}, }, _M_p = 0x0}}
lat2 = 0
lon2 = 1252060736
startCoord = {lat = 5260000, lon = 173333}
targetCoord = {lat = 5259971, lon = 173479}
zoom =
Sorry but I don't have enough time this late in the day to track down the actual request that caused this.
(gdb) p rawRoute.segmentEndCoordinates
$3 = {<std::_Vector_base<PhantomNodes?, std::allocator<PhantomNodes?> >> = {_M_impl = {std::allocator<PhantomNodes?> = {<gnu_cxx::new_allocator<PhantomNodes?>> = {}, },
_M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, }
(gdb) p rawRoute.segmentEndCoordinates[segmentIdx].startPhantom.startNode
One of the arguments you tried to pass to operator[] could not be converted to what the function wants.
The server segfaults on this:
#0 KMLDescriptor<SearchEngine?<ContractionCleanup::Edge::EdgeData?, StaticGraph?ContractionCleanup::Edge::EdgeData?, NodeInformationHelpDesk?> >::Run (this=0x2aaab82002b0, reply=..., rawRoute=...,
phantomNodes=..., sEngine=..., distance=1) at Plugins/KMLDescriptor.h:81
#1 0x000000000045f311 in RoutePlugin::HandleRequest? (this=0x6878b0, routeParameters=..., reply=...) at Plugins/RoutePlugin.h:148
#2 0x000000000045cee1 in http::RequestHandler::handle_request (this=, req=..., rep=...) at Server/RequestHandler.h:89
#3 0x000000000045e0d7 in http::Connection::handleRead (this=0x70f40f0, e=, bytes_transferred=) at Server/Connection.h:72
#4 0x00000000004504ca in callboost::shared_ptr<http::Connection, boost::system::error_code const, unsigned long> (function=, context=)
at /usr/include/boost141/boost/bind/mem_fn_template.hpp:265
#5 operator()boost::shared_ptr<http::Connection > (function=, context=) at /usr/include/boost141/boost/bind/mem_fn_template.hpp:279
#6 operator()<boost::_mfi::mf2<void, http::Connection, boost::system::error_code const&, unsigned long>, boost::_bi::list2<boost::system::error_code&, unsigned long&> > (function=,
context=) at /usr/include/boost141/boost/bind/bind.hpp:385
#7 operator()<boost::system::error_code, unsigned long> (function=, context=) at /usr/include/boost141/boost/bind/bind_template.hpp:61
#8 operator() (function=, context=) at /usr/include/boost141/boost/asio/detail/bind_handler.hpp:96
#9 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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long> > (function=, context=)
at /usr/include/boost141/boost/asio/handler_invoke_hook.hpp:62
#10 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::list3boost::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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> > > (function=, context=)
at /usr/include/boost141/boost/asio/detail/handler_invoke_helpers.hpp:39
#11 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::list3boost::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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long> (
function=, context=) at /usr/include/boost141/boost/asio/detail/bind_handler.hpp:130
#12 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::list3boost::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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long> > (
function=, context=) at /usr/include/boost141/boost/asio/detail/handler_invoke_helpers.hpp:39
#13 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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long> > (function=, context=)
at /usr/include/boost141/boost/asio/detail/strand_service.hpp:421
#14 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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long> > (function=, context=)
at /usr/include/boost141/boost/asio/strand.hpp:118
#15 operator()<boost::system::error_code, unsigned long> (function=, context=) at /usr/include/boost141/boost/asio/detail/wrapped_handler.hpp:71
#16 operator() (function=, context=) at /usr/include/boost141/boost/asio/detail/bind_handler.hpp:96
#17 operator() (function=, context=) at /usr/include/boost141/boost/asio/detail/wrapped_handler.hpp:143
#18 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::list3boost::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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> > > > (function=, context=) at /usr/include/boost141/boost/asio/handler_invoke_hook.hpp:62
#19 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::list3boost::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::list3boost::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::list3boost::bi::value<boost::shared_ptr<http::Connection >, boost::arg<1> ()(), boost::arg<2> ()()> > > (function=, context=)
at /usr/include/boost141/boost/asio/detail/handler_invoke_helpers.hpp:39
I.e this line:
lastNodeID = (lastNodeID == rawRoute.segmentEndCoordinates[segmentIdx].startPhantom.startNode
This is the bt full output for the first two entries:
#0 KMLDescriptor<SearchEngine?<ContractionCleanup::Edge::EdgeData?, StaticGraph?ContractionCleanup::Edge::EdgeData?, NodeInformationHelpDesk?> >::Run (this=0x2aaab82002b0, reply=..., rawRoute=...,
phantomNodes=..., sEngine=..., distance=1) at Plugins/KMLDescriptor.h:81
tmpDistance = 2.3177964249919518e-310
path = @0x2aaab8200270
segmentIdx =
lastNodeID = 37942867
s =
travelTime =
#1 0x000000000045f311 in RoutePlugin::HandleRequest? (this=0x6878b0, routeParameters=..., reply=...) at Plugins/RoutePlugin.h:148
phantomNodes = {startPhantom = {startNode = 37942867, targetNode = 46942484, ratio = 0.51219512194653316, location = {lat = 5259999, lon = 173325}}, targetPhantom = {startNode = 37942867,
targetNode = 37942007, ratio = 0.9694173583904041, location = {lat = 5259972, lon = 173479}}}
JSONParameter = {static npos = 18446744073709551615, _M_dataplus = {std::allocator = {<gnu_cxx::new_allocator> = {}, }, _M_p = 0x67f398 ""}}
descriptorConfig = {instructions = false, geometry = false, encodeGeometry = false, z = 18, pc = {}}
path = {<std::_Vector_base<_PathData, std::allocator<_PathData> >> = {_M_impl = {std::allocator<_PathData> = {<gnu_cxx::new_allocator<_PathData>> = {}, },
_M_start = 0x2aaab82003b0, _M_finish = 0x2aaab82003b4, _M_end_of_storage = 0x2aaab82003b4}}, }
rawRoute = {routeSegments = {<std::_Vector_base<std::vector<_PathData, std::allocator<_PathData> >, std::allocator<std::vector<_PathData, std::allocator<_PathData> > > >> = {
_M_impl = {<std::allocator<std::vector<_PathData, std::allocator<_PathData> > >> = {<gnu_cxx::new_allocator<std::vector<_PathData, std::allocator<_PathData> > >> = {}, }, _M_start = 0x2aaab8200270, _M_finish = 0x2aaab8200288, _M_end_of_storage = 0x2aaab8200288}}, },
segmentEndCoordinates = {<std::_Vector_base<PhantomNodes?, std::allocator<PhantomNodes?> >> = {
_M_impl = {std::allocator<PhantomNodes?> = {<gnu_cxx::new_allocator<PhantomNodes?>> = {}, }, _M_start = 0x0, _M_finish = 0x0,
_M_end_of_storage = 0x0}}, }, rawViaNodeCoordinates = {<std::_Vector_base<_Coordinate, std::allocator<_Coordinate> >> = {
_M_impl = {std::allocator<_Coordinate> = {<gnu_cxx::new_allocator<_Coordinate>> = {}, }, _M_start = 0x0, _M_finish = 0x0,
_M_end_of_storage = 0x0}}, }}
distance = 1
desc = 0x2aaab82002b0
descriptorType = 0
lat1 =
lon1 =
tmp = {static npos = 18446744073709551615, _M_dataplus = {std::allocator = {<gnu_cxx::new_allocator> = {}, }, _M_p = 0x0}}
lat2 = 0
lon2 = 1252060736
startCoord = {lat = 5260000, lon = 173333}
targetCoord = {lat = 5259971, lon = 173479}
zoom =
Sorry but I don't have enough time this late in the day to track down the actual request that caused this.
(gdb) p rawRoute.segmentEndCoordinates
$3 = {<std::_Vector_base<PhantomNodes?, std::allocator<PhantomNodes?> >> = {_M_impl = {std::allocator<PhantomNodes?> = {<gnu_cxx::new_allocator<PhantomNodes?>> = {}, },
_M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, }
(gdb) p rawRoute.segmentEndCoordinates[segmentIdx].startPhantom.startNode
One of the arguments you tried to pass to operator[] could not be converted to what the function wants.