Skip to content

Segfault in new hit container structure

When running larger statistics a segfault in the new hit container structure appears. The offending stack trace is triggered by this line:

  // restablish geometry ordering for the output hits container
  simulatedHits.adopt_sequence(std::move(unorderedHits.hits));

Down to this line in boost:

   template <typename I, // I models InputIterator
            typename O> // O models OutputIterator
   O move(I f, I l, O result)
   {
      while (f != l) {
         *result = ::boost::move(*f);
         ++f; ++result;
      }
      return result;
   }

When it ends up here in Eigen:

    Matrix& operator=(Matrix&& other) EIGEN_NOEXCEPT_IF(std::is_nothrow_move_assignable<Scalar>::value)
    {
      other.swap(*this);
      return *this;
    }

This is all a bit strange, because the SimHit in question looks ok to me, see attached picture:

Screenshot_2019-12-10_at_09.14.57

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information