Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

Valgrind - Conditional jump

Bezzina__Albert
Beginner
172 Views

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

0 Kudos
1 Reply
Alexei_K_Intel
Employee
172 Views

Hi Albert,

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

Regards
Alex

Reply