Possible UT decoding undefined behaviour spotted
Building with the x86_64_v2-centos7-gcc10-dbg+ubsan
platform the following issues were found:
- Pointing to UTGeometry.cpp:
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/10.1.0/x86_64-centos7/include/c++/10.1.0/bits/stl_vector.h:1046:34: runtime error: reference binding to null pointer of type 'value_type'
#0 0x7f79675b9d01 in std::vector<unsigned int, std::allocator<unsigned int> >::operator[](unsigned long) /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/10.1.0/x86_64-centos7/include/c++/10.1.\
0/bits/stl_vector.h:1046
#1 0x7f79675b9d01 in Consumers::UTGeometry::initialize(std::vector<char, std::allocator<char> > const&) ../integration/non_event_data/src/UTGeometry.cpp:62
- Pointing to UTLookupTables.cpp
../integration/non_event_data/src/UTLookupTables.cpp:32:3: runtime error: load of misaligned address 0x00000e4a679c for type 'const size_t', which requires 8 byte alignment
0x00000e4a679c: note: pointer points here
1e 00 00 00 7c 00 00 00 00 00 00 00 de 2f 9b 3f 08 79 92 3f 0f 05 5f 3f 14 28 52 3f b0 25 9b 3f
^
#0 0x7f79675c4d63 in Consumers::UTLookupTables::consume(std::vector<char, std::allocator<char> > const&) ../integration/non_event_data/src/UTLookupTables.cpp:32
- Pointig to UTPredecode (probably the more hazardous):
../device/UT/UTDecoding/src/UTPreDecode.cu:131:45: runtime error: left shift of negative value -8062
#0 0x7f796765f9cc in void pre_decode_raw_bank<3>(unsigned int const*, unsigned int const*, unsigned int const*, UTGeometry const&, UTBoards const&, UTRawBank<3> const&, unsigned int, UT\
::PreDecodedHits_t<char>&, unsigned int*) ../device/UT/UTDecoding/src/UTPreDecode.cu:131