since we moved to 6.14/04 we noticed a massive amount of valgrind complaints about “Conditional jump or move depends on uninitialized value(s)”. In fact, running something simple like
valgrind --num-callers=30 --suppressions=$ROOTSYS/etc/valgrind-root.supp \ root.exe -l -q -e 'std::cout << "hello world\n";'
results in 573 errors from 100 contexts (valgrind stops at 100). All of them are “Conditional jump”, for example
==1920949== Conditional jump or move depends on uninitialised value(s) ==1920949== at 0x4C6E0D7: CallRecursiveRemoveIfNeeded (TROOT.h:401) ==1920949== by 0x4C6E0D7: TObject::~TObject() (TObject.cxx:84) ==1920949== by 0x4CB20A2: ~TInetAddress (TInetAddress.h:66) [...]
In general it seems like every time
TObject::TestBit is called there’s a complaint and this function is inlined so the stack traces are all over the place.
Are we the only ones with this problem?
ROOT Version: 6.14/04
Platform: Ubuntu 16.04
Compiler: GCC 8.2 -std=c++17