Valgrind - Conditional jump

Valgrind - Conditional jump

When we run our application under valgrind sometimes it is trowing this warning.  Note that it does not happen every time and we did not manage to reproduce it in a small application.  We running our application on Ubuntu 16.04.5 LTS machine and using gcc 5.4.0 20160609 compiler. Also we are using valgrind-3.14.0.

==63884== Conditional jump or move depends on uninitialised value(s)
==63884==    at 0xBE25B46: bool rml::internal::isLargeObject<(rml::internal::MemoryOrigin)1>(void*) (frontend.cpp:2431)
==63884==    by 0xBE1CFF3: rml::internal::isRecognized(void*) (frontend.cpp:2453)
==63884==    by 0xBE22755: rml::internal::internalPoolFree(rml::internal::MemoryPool*, void*, unsigned long) (frontend.cpp:2568)
==63884==    by 0xBE2290E: rml::internal::internalFree(void*) (frontend.cpp:2597)
==63884==    by 0xBE1DA34: scalable_aligned_free (frontend.cpp:3110)
==63884==    by 0x7687741: tbb::internal::NFS_Free(void*) (cache_aligned_allocator.cpp:205)
==63884==    by 0x42EDF9: tbb::cache_aligned_allocator<tbb::interface5::internal::hash_map_base::bucket>::deallocate(tbb::interface5::internal::hash_map_base::bucket*, unsigned long) (cache_aligned_allocator.h:88)
==63884==    by 0x7B3D41: tbb::interface5::concurrent_hash_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unique_ptr<logging::Logger, std::default_delete<logging::Logger> >, tbb::tbb_hash_compare<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, tbb::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unique_ptr<logging::Logger, std::default_delete<logging::Logger> > > > >::clear() (concurrent_hash_map.h:1425)
==63884==    by 0x7B35A1: tbb::interface5::concurrent_hash_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unique_ptr<logging::Logger, std::default_delete<logging::Logger> >, tbb::tbb_hash_compare<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, tbb::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unique_ptr<logging::Logger, std::default_delete<logging::Logger> > > > >::~concurrent_hash_map() (concurrent_hash_map.h:869)

 

Thanks and regards,

Albert

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Albert,

It is a false positive. Consider the answers #19 and #20 on a similar question.

Regards
Alex

Leave a Comment

Please sign in to add a comment. Not a member? Join today