Skip to content

Warning from PrLongLivedTracking (PrDownTrack.h)

The following warning is clearly visible in opt release builds.

It is also there in nightly builds but it's not counted in the total number of warnings. @clemenci why is that?

In file included from /cvmfs/lhcb.cern.ch/lib/lcg/releases/Boost/1.81.0-7e325/x86_64-centos7-gcc12-opt/include/boost/container/detail/advanced_insert_int.hpp:28,
                 from /cvmfs/lhcb.cern.ch/lib/lcg/releases/Boost/1.81.0-7e325/x86_64-centos7-gcc12-opt/include/boost/container/vector.hpp:32,
                 from /cvmfs/lhcb.cern.ch/lib/lcg/releases/Boost/1.81.0-7e325/x86_64-centos7-gcc12-opt/include/boost/container/small_vector.hpp:27,
                 from /workspace/build/LHCb/InstallArea/x86_64_v2-centos7-gcc12+detdesc-opt/include/Kernel/MonotonicArena.h:17,
                 from /workspace/build/LHCb/InstallArea/x86_64_v2-centos7-gcc12+detdesc-opt/include/Kernel/EventLocalResource.h:34,
                 from /workspace/build/LHCb/InstallArea/x86_64_v2-centos7-gcc12+detdesc-opt/include/Kernel/EventContextExt.h:14,
                 from /workspace/build/LHCb/InstallArea/x86_64_v2-centos7-gcc12+detdesc-opt/include/Kernel/EventLocalAllocator.h:12,
                 from /workspace/build/LHCb/InstallArea/x86_64_v2-centos7-gcc12+detdesc-opt/include/Event/SOACollection.h:12,
                 from /workspace/build/LHCb/InstallArea/x86_64_v2-centos7-gcc12+detdesc-opt/include/Event/SIMDEventTypes.h:12,
                 from /workspace/build/LHCb/InstallArea/x86_64_v2-centos7-gcc12+detdesc-opt/include/Event/PrDownstreamTracks.h:14,
                 from ../Pr/PrAlgorithms/src/PrLongLivedTracking.cpp:18:
In function 'F boost::container::dtl::memmove(I, I, F) [with I = boost::move_iterator<Downstream::Hit*>; F = Downstream::Hit*]',
    inlined from 'typename boost::container::dtl::enable_if_memtransfer_copy_constructible<I, F, F>::type boost::container::uninitialized_copy_alloc(Allocator&, I, I, F) [with Allocator = small_vector_allocator<Downstream::Hit, LHCb::Allocators::EventLocal<void>, void>; I = boost::move_iterator<Downstream::Hit*>; F = Downstream::Hit*]' at /cvmfs/lhcb.cern.ch/lib/lcg/releases/Boost/1.81.0-7e325/x86_64-centos7-gcc12-opt/include/boost/container/detail/copy_move_algo.hpp:512:23,
    inlined from 'void boost::container::vector<T, Allocator, Options>::priv_uninitialized_construct_at_end(InpIt, InpIt) [with InpIt = boost::move_iterator<Downstream::Hit*>; T = Downstream::Hit; A = boost::container::small_vector_allocator<Downstream::Hit, LHCb::Allocators::EventLocal<void>, void>; Options = void]' at /cvmfs/lhcb.cern.ch/lib/lcg/releases/Boost/1.81.0-7e325/x86_64-centos7-gcc12-opt/include/boost/container/vector.hpp:2662:72,
    inlined from 'void boost::container::vector<T, Allocator, Options>::assign(FwdIt, FwdIt, typename boost::move_detail::disable_if_or<void, boost::move_detail::is_same<typename boost::container::dtl::version<typename boost::container::real_allocator<T, A>::type>::type, boost::move_detail::integral_constant<unsigned int, 0> >, boost::move_detail::is_convertible<InIt, typename boost::container::allocator_traits<typename boost::container::real_allocator<T, A>::type>::size_type>, boost::container::dtl::is_input_iterator<FwdIt> >::type*) [with FwdIt = boost::move_iterator<Downstream::Hit*>; T = Downstream::Hit; A = boost::container::small_vector_allocator<Downstream::Hit, LHCb::Allocators::EventLocal<void>, void>; Options = void]' at /cvmfs/lhcb.cern.ch/lib/lcg/releases/Boost/1.81.0-7e325/x86_64-centos7-gcc12-opt/include/boost/container/vector.hpp:1322:54,
    inlined from 'void boost::container::small_vector_base<T, Allocator, Options>::move_construct_impl(base_type&, const allocator_type&) [with T = Downstream::Hit; SecAlloc = LHCb::Allocators::EventLocal<Downstream::Hit>; Options = void]' at /cvmfs/lhcb.cern.ch/lib/lcg/releases/Boost/1.81.0-7e325/x86_64-centos7-gcc12-opt/include/boost/container/small_vector.hpp:411:22,
    inlined from 'boost::container::small_vector<T, N, Allocator, Options>::small_vector(boost::container::small_vector<T, N, Allocator, Options>&&) [with T = Downstream::Hit; long unsigned int N = 12; Allocator = LHCb::Allocators::EventLocal<Downstream::Hit>; Options = void]' at /cvmfs/lhcb.cern.ch/lib/lcg/releases/Boost/1.81.0-7e325/x86_64-centos7-gcc12-opt/include/boost/container/small_vector.hpp:611:32,
    inlined from 'PrDownTrack::PrDownTrack(PrDownTrack&&)' at ../Pr/PrAlgorithms/src/PrDownTrack.h:107:7,
    inlined from 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<PrDownTrack*, vector<PrDownTrack> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<PrLongLivedTracking::fitXProjection(const PrDownTrack&, Downstream::Hit&, Downstream::Hits&, PrDownTracks&) const::<lambda(const PrDownTrack&, const PrDownTrack&)> >]' at /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/12.1.0-57c96/x86_64-centos7/include/c++/12.1.0/bits/stl_heap.h:355:22:
/cvmfs/lhcb.cern.ch/lib/lcg/releases/Boost/1.81.0-7e325/x86_64-centos7-gcc12-opt/include/boost/container/detail/copy_move_algo.hpp:226:19: warning: 'void* memmove(void*, const void*, size_t)' reading between 289 and 9223372036854775807 bytes from a region of size 288 [-Wstringop-overread]
  226 |       std::memmove(dest_raw, beg_raw, sizeof(value_type)*n);
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/12.1.0-57c96/x86_64-centos7/include/c++/12.1.0/bits/stl_algo.h:60,
                 from /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/12.1.0-57c96/x86_64-centos7/include/c++/12.1.0/algorithm:61,
                 from ../Pr/PrAlgorithms/src/PrLongLivedTracking.cpp:12:
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/12.1.0-57c96/x86_64-centos7/include/c++/12.1.0/bits/stl_heap.h: In function 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<PrDownTrack*, vector<PrDownTrack> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<PrLongLivedTracking::fitXProjection(const PrDownTrack&, Downstream::Hit&, Downstream::Hits&, PrDownTracks&) const::<lambda(const PrDownTrack&, const PrDownTrack&)> >]':
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/12.1.0-57c96/x86_64-centos7/include/c++/12.1.0/bits/stl_heap.h:354:22: note: at offset 176 into source object '__value' of size 464
  354 |           _ValueType __value = _GLIBCXX_MOVE(*(__first + __parent));
      |                      ^~~~~~~

The warning seems to have appeared when we switched to GCC 12.

@graven @ahennequ do you understand the warning?

Edited by Rosen Matev