Skip to content

Update SOAContainer submodule for undefined behaviour fix

Christopher Rob Jones requested to merge jonrob/LHCb:Update-SOA-Container into master

@mschille FYI - and thanks.

Fixes undefined behaviour sanitiser errors like

/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/8.2.0-3fa06/x86_64-centos7/include/c++/8.2.0/bits/stl_iterator.h:794:17: runtime error: reference binding to null pointer of type 'const struct Track'
    #0 0x7fc2a962fbfb in __gnu_cxx::__normal_iterator<LHCb::Event::v2::Track const*, std::vector<LHCb::Event::v2::Track, std::allocator<LHCb::Event::v2::Track> > >::operator*() const /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/8.2.0-3fa06/x86_64-centos7/include/c++/8.2.0/bits/stl_iterator.h:794
    #1 0x7fc2a962fbfb in SOA::iterator_range<decltype (&(*((declval<std::remove_reference<__gnu_cxx::__normal_iterator<LHCb::Event::v2::Track const*, std::vector<LHCb::Event::v2::Track, std::allocator<LHCb::Event::v2::Track> > > >::type>)())))> SOA::make_iterator_range<std::vector<LHCb::Event::v2::Track, std::allocator<LHCb::Event::v2::Track> > const&, __gnu_cxx::__normal_iterator<LHCb::Event::v2::Track const*, std::vector<LHCb::Event::v2::Track, std::allocator<LHCb::Event::v2::Track> > >, __gnu_cxx::__normal_iterator<LHCb::Event::v2::Track const*, std::vector<LHCb::Event::v2::Track, std::allocator<LHCb::Event::v2::Track> > >, void>(__gnu_cxx::__normal_iterator<LHCb::Event::v2::Track const*, std::vector<LHCb::Event::v2::Track, std::allocator<LHCb::Event::v2::Track> > >&&, __gnu_cxx::__normal_iterator<LHCb::Event::v2::Track const*, std::vector<LHCb::Event::v2::Track, std::allocator<LHCb::Event::v2::Track> > >&&) /workspace/build/LHCb/InstallArea/x86_64-centos7-gcc8-dbg+ubsan/include/SOAContainer/SOAIteratorRange.h:396
Edited by Marco Cattaneo

Merge request reports