-
-
Notifications
You must be signed in to change notification settings - Fork 3.9k
SIGSEGV libosrm with node12 #5841
Copy link
Copy link
Closed
Description
Hey! I am receiving segfault when using libosrm 5.22 with node12 bindings. The service crashes when we are using route method and in the same time we are loading new dataset into shared memory with osrm-datastore. Crashes are happening when using exclude parameter from route method, otherwise seems to work fine. I couldn't reproduce the problem on localhost, so I don't have a dataset that could help debugging this. The node process runs in docker container with --ipc=host.
I also have a stack trace:
#0 0x00007f7c0bc05820 in __gnu_cxx::__ops::_Iter_equals_val<unsigned char const>::operator()<unsigned char const*> (this=this@entry=0x7f7c20ff8a28, __it=__it@entry=0x7f7bd9cfe7d4 <error: Cannot access memory at address 0x7f7bd9cfe7d4>)
at /usr/include/c++/7/bits/predefined_ops.h:241
#1 0x00007f7c0bc0585b in std::__find_if<unsigned char const*, __gnu_cxx::__ops::_Iter_equals_val<unsigned char const> > (__first=__first@entry=0x7f7bd9cfe7d4 <error: Cannot access memory at address 0x7f7bd9cfe7d4>,
__last=__last@entry=0x7f7bd9cfe7dc <error: Cannot access memory at address 0x7f7bd9cfe7dc>, __pred=...) at /usr/include/c++/7/bits/stl_algo.h:120
#2 0x00007f7c0bc0593c in std::__find_if<unsigned char const*, __gnu_cxx::__ops::_Iter_equals_val<unsigned char const> > (__first=__first@entry=0x7f7bd9cfe7d4 <error: Cannot access memory at address 0x7f7bd9cfe7d4>,
__last=__last@entry=0x7f7bd9cfe7dc <error: Cannot access memory at address 0x7f7bd9cfe7dc>, __pred=...) at /usr/include/c++/7/bits/stl_algo.h:162
#3 0x00007f7c0bc05965 in std::find<unsigned char const*, unsigned char> (__first=0x7f7bd9cfe7d4 <error: Cannot access memory at address 0x7f7bd9cfe7d4>,
__last=__last@entry=0x7f7bd9cfe7dc <error: Cannot access memory at address 0x7f7bd9cfe7dc>, __val=@0x7f7c20ff8aa7: 16 '\020') at /usr/include/c++/7/bits/stl_algo.h:3908
#4 0x00007f7c0bc27651 in osrm::engine::DataFacadeFactory<osrm::engine::datafacade::ContiguousInternalMemoryDataFacade, osrm::engine::routing_algorithms::mld::Algorithm>::Get (this=0x3e04170, params=...)
at /osrm/include/engine/datafacade_factory.hpp:139
#5 0x00007f7c0bc276d0 in osrm::engine::DataFacadeFactory<osrm::engine::datafacade::ContiguousInternalMemoryDataFacade, osrm::engine::routing_algorithms::mld::Algorithm>::Get<osrm::engine::api::BaseParameters> (this=<optimized out>,
params=...) at /osrm/include/engine/datafacade_factory.hpp:41
#6 0x00007f7c0bc27715 in osrm::engine::detail::DataWatchdogImpl<osrm::engine::routing_algorithms::mld::Algorithm, osrm::engine::datafacade::ContiguousInternalMemoryDataFacade<osrm::engine::routing_algorithms::mld::Algorithm> >::Get (
this=<optimized out>, params=...) at /osrm/include/engine/data_watchdog.hpp:78
#7 0x00007f7c0bc27758 in osrm::engine::detail::WatchingProvider<osrm::engine::routing_algorithms::mld::Algorithm, osrm::engine::datafacade::ContiguousInternalMemoryDataFacade>::Get (this=<optimized out>, params=...)
at /osrm/include/engine/datafacade_provider.hpp:93
#8 0x00007f7c0bc27dbf in osrm::engine::Engine<osrm::engine::routing_algorithms::mld::Algorithm>::GetAlgorithms<osrm::engine::api::RouteParameters> (this=this@entry=0x46e04c0, params=...) at /osrm/include/engine/engine.hpp:129
#9 0x00007f7c0bc27e33 in osrm::engine::Engine<osrm::engine::routing_algorithms::mld::Algorithm>::Route (this=0x46e04c0, params=..., result=...) at /osrm/include/engine/engine.hpp:95
#10 0x00007f7c0bc10851 in osrm::OSRM::Route (this=<optimized out>, params=..., result=...) at /osrm/src/osrm/osrm.cpp:62
#11 0x00007f7c0bbfa017 in void node_osrm::async<std::unique_ptr<osrm::engine::api::RouteParameters, std::default_delete<osrm::engine::api::RouteParameters> > (*)(Nan::FunctionCallbackInfo<v8::Value> const&, bool), osrm::engine::Status (osrm::OSRM::*)(osrm::engine::api::RouteParameters const&, osrm::util::json::Object&) const>(Nan::FunctionCallbackInfo<v8::Value> const&, std::unique_ptr<osrm::engine::api::RouteParameters, std::default_delete<osrm::engine::api::RouteParameters> > (*)(Nan::FunctionCallbackInfo<v8::Value> const&, bool), osrm::engine::Status (osrm::OSRM::*)(osrm::engine::api::RouteParameters const&, osrm::util::json::Object&) const, bool)::Worker::Execute() (this=0x4748fa0)
at /osrm/src/nodejs/node_osrm.cpp:155
#12 0x00007f7c0bbdd401 in Nan::AsyncExecute (req=<optimized out>) at /osrm/node_modules/nan/nan.h:2280
#13 0x000000000132e72e in worker (arg=0x0) at ../deps/uv/src/threadpool.c:122
#14 0x00007f7c2972b6db in start_thread (arg=0x7f7c20ff9700) at pthread_create.c:463
#15 0x00007f7c29454a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels