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

Use of uninitialised value of size 8 #4574

Closed
AlekseiSolonkov opened this issue Oct 5, 2017 · 1 comment
Closed

Use of uninitialised value of size 8 #4574

AlekseiSolonkov opened this issue Oct 5, 2017 · 1 comment

Comments

@AlekseiSolonkov
Copy link

AlekseiSolonkov commented Oct 5, 2017

Hi! I check memory with Memcheck and find next external errors (libOSRM 5.8 ver)
Use of uninitialised value of size 8
` in void std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_construct<boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char> >(boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>, boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>, std::input_iterator_tag) in /traffic/traffic

1: void std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_construct<boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char> >(boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>, boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<char const*, 6, 8, char>, char>, std::input_iterator_tag) in /traffic/traffic
2: osrm::engine::encodeBase64[abi:cxx11](unsigned char const*, unsigned long) in /traffic/traffic
3: osrm::engine::Hint::ToBase64abi:cxx11 const in /traffic/traffic
4: osrm::engine::api::json::makeWaypoint(osrm::util::Coordinate, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, osrm::engine::Hint const&) in /traffic/traffic
5: osrm::engine::api::BaseAPI::MakeWaypoint(osrm::engine::PhantomNode const&) const in /traffic/traffic
6: osrm::engine::api::RouteAPI::MakeResponse(osrm::engine::InternalManyRoutesResult const&, osrm::util::json::Object&) const in /traffic/traffic
7: osrm::engine::plugins::ViaRoutePlugin::HandleRequest(osrm::engine::datafacade::ContiguousInternalMemoryDataFacadeBase const&, osrm::engine::RoutingAlgorithmsInterface const&, osrm::engine::api::RouteParameters const&, osrm::util::json::Object&) const in /traffic/traffic
8: osrm::engine::Engineosrm::engine::routing_algorithms::corech::Algorithm::Route(osrm::engine::api::RouteParameters const&, osrm::util::json::Object&) const in /traffic/traffic
9: main::{lambda(int, std::vector<Point, std::allocator >, bool, bool)#2}::operator()(int, std::vector<Point, std::allocator >, bool, bool) const in /traffic/traffic
10: std::_Function_handler<std::vector<ResponseOSRM, std::allocator > (int, std::vector<Point, std::allocator >, bool, bool), main::{lambda(int, std::vector<Point, std::allocator >, bool, bool)#2}>::_M_invoke(std::_Any_data const&, int&&, std::vector<Point, std::allocator >&&, bool&&, std::vector<Point, std::allocator >&&) in /traffic/traffic
11: std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<std::vector<ResponseOSRM, std::allocator > >, std::__future_base::_Result_base::_Deleter>, std::_Bind_simple<std::function<std::vector<ResponseOSRM, std::allocator > (int, std::vector<Point, std::allocator >, bool, bool)> (int, std::vector<Point, std::allocator >, bool, bool)>, std::vector<ResponseOSRM, std::allocator > > >::_M_invoke(std::_Any_data const&) in /traffic/traffic
12: std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool) in /traffic/traffic
13: __pthread_once_slow in /build/glibc-mXZSwJ/glibc-2.24/nptl/pthread_once.c:116
14: std::thread::_State_impl<std::_Bind_simple<std::__future_base::_Async_state_impl<std::_Bind_simple<std::function<std::vector<ResponseOSRM, std::allocator > (int, std::vector<Point, std::allocator >, bool, bool)> (int, std::vector<Point, std::allocator >, bool, bool)>, std::vector<ResponseOSRM, std::allocator > >::_Async_state_impl(std::_Bind_simple<std::function<std::vector<ResponseOSRM, std::allocator > (int, std::vector<Point, std::allocator >, bool, bool)> (int, std::vector<Point, std::allocator >, bool, bool)>&&)::{lambda()#1} ()> >::_M_run() in /traffic/traffic
15: /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22
16: start_thread in /build/glibc-mXZSwJ/glibc-2.24/nptl/pthread_create.c:456
17: clone in /build/glibc-mXZSwJ/glibc-2.24/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:105
Uninitialised value was created by a stack allocation 1: osrm::engine::plugins::BasePlugin::GetPhantomNodes(osrm::engine::datafacade::BaseDataFacade const&, osrm::engine::api::BaseParameters const&) const in /traffic/traffic
`
Can this lead to a malfunction in a multithreaded environment?

@oxidase
Copy link
Contributor

oxidase commented Oct 9, 2017

@AlekseiSolonkov memcheck shows a proper message about unused 3 bits in PhantomNode It is harmless, but adds some noice in a comparison of two hints as base64 strings.

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

2 participants