Skip to content

fix(yabloc_common): avoid maybe-uninitialized build error on NVIDIA DRIVE AGX Thor - #12229

Merged
veqcc merged 1 commit into
autowarefoundation:mainfrom
veqcc:fix/maybe-uninitialized-on-thor2
Mar 3, 2026
Merged

veqcc merged 1 commit into
autowarefoundation:mainfrom
veqcc:fix/maybe-uninitialized-on-thor2

Conversation

@veqcc

@veqcc veqcc commented Mar 3, 2026 •

Copy link
Copy Markdown
Contributor

Description

Avoided maybe-uninitialized warning/error by explicitly initializing Eigen::Matrix3f.
This error only happens on NVIDIA DRIVE AGX Thor and when -O3 optimization is used.

--- stderr: yabloc_common                                 
In file included from /usr/include/eigen3/Eigen/Core:171,
                 from /home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/include/yabloc_common/ground_server/filter/moving_averaging.hpp:18,
                 from /home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/include/yabloc_common/ground_server/ground_server.hpp:18,
                 from /home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp:15:
In function ‘typename Eigen::internal::enable_if<(Eigen::NumTraits<T>::IsSigned || Eigen::NumTraits<T>::IsComplex), typename Eigen::NumTraits<T>::Real>::type Eigen::numext::abs(const T&) [with T = float]’,
    inlined from ‘const Eigen::internal::scalar_abs_op<Scalar>::result_type Eigen::internal::scalar_abs_op<Scalar>::operator()(const Scalar&) const [with Scalar = float]’ at /usr/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h:44:114,
    inlined from ‘Eigen::internal::unary_evaluator<Eigen::CwiseUnaryOp<UnaryOp, ArgType>, Eigen::internal::IndexBased>::CoeffReturnType Eigen::internal::unary_evaluator<Eigen::CwiseUnaryOp<UnaryOp, ArgType>, Eigen::internal::IndexBased>::coeff(Eigen::Index, Eigen::Index) const [with UnaryOp = Eigen::internal::scalar_abs_op<float>; ArgType = const Eigen::Matrix<float, 3, 3>]’ at /usr/include/eigen3/Eigen/src/Core/CoreEvaluators.h:583:22,
    inlined from ‘Eigen::internal::redux_evaluator<_XprType>::CoeffReturnType Eigen::internal::redux_evaluator<_XprType>::coeffByOuterInner(Eigen::Index, Eigen::Index) const [with _XprType = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:381:23,
    inlined from ‘static Eigen::internal::redux_novec_unroller<Func, Evaluator, Start, 1>::Scalar Eigen::internal::redux_novec_unroller<Func, Evaluator, Start, 1>::run(const Evaluator&, const Func&) [with Func = Eigen::internal::scalar_max_op<float, float, 0>; Evaluator = Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> > >; int Start = 8]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:128:34,
    inlined from ‘static Eigen::internal::redux_impl<Func, Evaluator, 3, 2>::Scalar Eigen::internal::redux_impl<Func, Evaluator, 3, 2>::run(const Evaluator&, const Func&, const XprType&) [with XprType = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >; Func = Eigen::internal::scalar_max_op<float, float, 0>; Evaluator = Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> > >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:346:103,
    inlined from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::redux(const Func&) const [with BinaryOp = Eigen::internal::scalar_max_op<float, float, 0>; Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:418:56,
    inlined from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::maxCoeff() const [with int NaNPropagation = 0; Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:448:25,
    inlined from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::maxCoeff() const [with Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/DenseBase.h:466:37,
    inlined from ‘void pcl::eigen33(const Matrix&, typename Matrix::Scalar&, Vector&) [with Matrix = Eigen::Matrix<float, 3, 3>; Vector = Eigen::Matrix<float, 3, 1>]’ at /usr/include/pcl-1.14/pcl/common/impl/eigen.hpp:301:43,
    inlined from ‘void pcl::solvePlaneParameters(const Eigen::Matrix3f&, float&, float&, float&, float&)’ at /usr/include/pcl-1.14/pcl/features/impl/feature.hpp:79:16,
    inlined from ‘void pcl::solvePlaneParameters(const Eigen::Matrix3f&, const Eigen::Vector4f&, Eigen::Vector4f&, float&)’ at /usr/include/pcl-1.14/pcl/features/impl/feature.hpp:56:24,
    inlined from ‘yabloc::ground_server::GroundServer::GroundPlane yabloc::ground_server::GroundServer::estimate_ground(const Point&)’ at /home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp:217:28:
/usr/include/eigen3/Eigen/src/Core/MathFunctions.h:1511:13: error: ‘covariance.Eigen::Matrix<float, 3, 3, 0, 3, 3>::<unnamed>.Eigen::PlainObjectBase<Eigen::Matrix<float, 3, 3, 0, 3, 3> >::m_storage.Eigen::DenseStorage<float, 9, 3, 3, 0>::m_data.Eigen::internal::plain_array<float, 9, 0, 0>::array[8]’ may be used uninitialized [-Werror=maybe-uninitialized]
 1511 |   return abs(x);
      |          ~~~^~~
/home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp: In member function ‘yabloc::ground_server::GroundServer::GroundPlane yabloc::ground_server::GroundServer::estimate_ground(const Point&)’:
/home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp:209:19: note: ‘covariance’ declared here
  209 |   Eigen::Matrix3f covariance;
      |                   ^~~~~~~~~~
In file included from /usr/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h:392,
                 from /usr/include/eigen3/Eigen/Core:22:
In function ‘float32x2_t vld1_f32(const float32_t*)’,
    inlined from ‘Packet Eigen::internal::ploadu(const typename unpacket_traits<T>::type*) [with Packet = __Float32x2_t]’ at /usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h:1710:45,
    inlined from ‘Packet Eigen::internal::ploadt(const typename unpacket_traits<T>::type*) [with Packet = __Float32x2_t; int Alignment = 0]’ at /usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:969:26,
    inlined from ‘PacketType Eigen::internal::evaluator<Eigen::PlainObjectBase<Derived> >::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __Float32x2_t; Derived = Eigen::Matrix<float, 3, 3>]’ at /usr/include/eigen3/Eigen/src/Core/CoreEvaluators.h:238:42,
    inlined from ‘PacketType Eigen::internal::unary_evaluator<Eigen::CwiseUnaryOp<UnaryOp, ArgType>, Eigen::internal::IndexBased>::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __Float32x2_t; UnaryOp = Eigen::internal::scalar_abs_op<float>; ArgType = const Eigen::Matrix<float, 3, 3>]’ at /usr/include/eigen3/Eigen/src/Core/CoreEvaluators.h:596:81,
    inlined from ‘PacketType Eigen::internal::redux_evaluator<_XprType>::packetByOuterInner(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __Float32x2_t; _XprType = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:386:54,
    inlined from ‘static PacketType Eigen::internal::redux_vec_unroller<Func, Evaluator, Start, 1>::run(const Evaluator&, const Func&) [with PacketType = __Float32x2_t; Func = Eigen::internal::scalar_max_op<float, float, 0>; Evaluator = Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> > >; int Start = 3]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:177:66,
    inlined from ‘static PacketType Eigen::internal::redux_vec_unroller<Func, Evaluator, Start, Length>::run(const Evaluator&, const Func&) [with PacketType = __Float32x2_t; Func = Eigen::internal::scalar_max_op<float, float, 0>; Evaluator = Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> > >; int Start = 2; int Length = 2]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:159:111,
    inlined from ‘static PacketType Eigen::internal::redux_vec_unroller<Func, Evaluator, Start, Length>::run(const Evaluator&, const Func&) [with PacketType = __Float32x2_t; Func = Eigen::internal::scalar_max_op<float, float, 0>; Evaluator = Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> > >; int Start = 0; int Length = 4]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:159:111,
    inlined from ‘static Eigen::internal::redux_impl<Func, Evaluator, 3, 2>::Scalar Eigen::internal::redux_impl<Func, Evaluator, 3, 2>::run(const Evaluator&, const Func&, const XprType&) [with XprType = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >; Func = Eigen::internal::scalar_max_op<float, float, 0>; Evaluator = Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> > >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:344:115,
    inlined from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::redux(const Func&) const [with BinaryOp = Eigen::internal::scalar_max_op<float, float, 0>; Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:418:56,
    inlined from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::maxCoeff() const [with int NaNPropagation = 0; Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:448:25,
    inlined from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::maxCoeff() const [with Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/DenseBase.h:466:37,
    inlined from ‘void pcl::eigen33(const Matrix&, typename Matrix::Scalar&, Vector&) [with Matrix = Eigen::Matrix<float, 3, 3>; Vector = Eigen::Matrix<float, 3, 1>]’ at /usr/include/pcl-1.14/pcl/common/impl/eigen.hpp:301:43,
    inlined from ‘void pcl::solvePlaneParameters(const Eigen::Matrix3f&, float&, float&, float&, float&)’ at /usr/include/pcl-1.14/pcl/features/impl/feature.hpp:79:16,
    inlined from ‘void pcl::solvePlaneParameters(const Eigen::Matrix3f&, const Eigen::Vector4f&, Eigen::Vector4f&, float&)’ at /usr/include/pcl-1.14/pcl/features/impl/feature.hpp:56:24,
    inlined from ‘yabloc::ground_server::GroundServer::GroundPlane yabloc::ground_server::GroundServer::estimate_ground(const Point&)’ at /home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp:217:28:
/usr/lib/gcc/aarch64-linux-gnu/13/include/arm_neon.h:12213:36: error: ‘*(__Float32x2_t*)((char*)&covariance + offsetof(Eigen::Matrix3f, Eigen::Matrix<float, 3, 3, 0, 3, 3>::<unnamed>.Eigen::PlainObjectBase<Eigen::Matrix<float, 3, 3, 0, 3, 3> >::m_storage.Eigen::DenseStorage<float, 9, 3, 3, 0>::m_data.Eigen::internal::plain_array<float, 9, 0, 0>::array[6]))’ may be used uninitialized [-Werror=maybe-uninitialized]
12213 |   return __builtin_aarch64_ld1v2sf ((const __builtin_aarch64_simd_sf *) __a);
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp: In member function ‘yabloc::ground_server::GroundServer::GroundPlane yabloc::ground_server::GroundServer::estimate_ground(const Point&)’:
/home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp:209:19: note: ‘covariance’ declared here
  209 |   Eigen::Matrix3f covariance;
      |                   ^~~~~~~~~~
In function ‘typename Eigen::internal::enable_if<(Eigen::NumTraits<T>::IsSigned || Eigen::NumTraits<T>::IsComplex), typename Eigen::NumTraits<T>::Real>::type Eigen::numext::abs(const T&) [with T = float]’,
    inlined from ‘const Eigen::internal::scalar_abs_op<Scalar>::result_type Eigen::internal::scalar_abs_op<Scalar>::operator()(const Scalar&) const [with Scalar = float]’ at /usr/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h:44:114,
    inlined from ‘Eigen::internal::unary_evaluator<Eigen::CwiseUnaryOp<UnaryOp, ArgType>, Eigen::internal::IndexBased>::CoeffReturnType Eigen::internal::unary_evaluator<Eigen::CwiseUnaryOp<UnaryOp, ArgType>, Eigen::internal::IndexBased>::coeff(Eigen::Index, Eigen::Index) const [with UnaryOp = Eigen::internal::scalar_abs_op<float>; ArgType = const Eigen::Matrix<float, 3, 3>]’ at /usr/include/eigen3/Eigen/src/Core/CoreEvaluators.h:583:22,
    inlined from ‘Eigen::internal::redux_evaluator<_XprType>::CoeffReturnType Eigen::internal::redux_evaluator<_XprType>::coeffByOuterInner(Eigen::Index, Eigen::Index) const [with _XprType = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:381:23,
    inlined from ‘static Eigen::internal::redux_novec_unroller<Func, Evaluator, Start, 1>::Scalar Eigen::internal::redux_novec_unroller<Func, Evaluator, Start, 1>::run(const Evaluator&, const Func&) [with Func = Eigen::internal::scalar_max_op<float, float, 0>; Evaluator = Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> > >; int Start = 8]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:128:34,
    inlined from ‘static Eigen::internal::redux_impl<Func, Evaluator, 3, 2>::Scalar Eigen::internal::redux_impl<Func, Evaluator, 3, 2>::run(const Evaluator&, const Func&, const XprType&) [with XprType = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >; Func = Eigen::internal::scalar_max_op<float, float, 0>; Evaluator = Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> > >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:346:103,
    inlined from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::redux(const Func&) const [with BinaryOp = Eigen::internal::scalar_max_op<float, float, 0>; Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:418:56,
    inlined from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::maxCoeff() const [with int NaNPropagation = 0; Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:448:25,
    inlined from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::maxCoeff() const [with Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/DenseBase.h:466:37,
    inlined from ‘void pcl::eigen33(const Matrix&, typename Matrix::Scalar&, Vector&) [with Matrix = Eigen::Matrix<float, 3, 3>; Vector = Eigen::Matrix<float, 3, 1>]’ at /usr/include/pcl-1.14/pcl/common/impl/eigen.hpp:301:43,
    inlined from ‘void pcl::solvePlaneParameters(const Eigen::Matrix3f&, float&, float&, float&, float&)’ at /usr/include/pcl-1.14/pcl/features/impl/feature.hpp:79:16,
    inlined from ‘void pcl::solvePlaneParameters(const Eigen::Matrix3f&, const Eigen::Vector4f&, Eigen::Vector4f&, float&)’ at /usr/include/pcl-1.14/pcl/features/impl/feature.hpp:56:24,
    inlined from ‘yabloc::ground_server::GroundServer::GroundPlane yabloc::ground_server::GroundServer::estimate_ground(const Point&)’ at /home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp:217:28:
/usr/include/eigen3/Eigen/src/Core/MathFunctions.h:1511:13: error: ‘covariance.Eigen::Matrix<float, 3, 3, 0, 3, 3>::<unnamed>.Eigen::PlainObjectBase<Eigen::Matrix<float, 3, 3, 0, 3, 3> >::m_storage.Eigen::DenseStorage<float, 9, 3, 3, 0>::m_data.Eigen::internal::plain_array<float, 9, 0, 0>::array[8]’ may be used uninitialized [-Werror=maybe-uninitialized]
 1511 |   return abs(x);
      |          ~~~^~~
/home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp: In member function ‘yabloc::ground_server::GroundServer::GroundPlane yabloc::ground_server::GroundServer::estimate_ground(const Point&)’:
/home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp:209:19: note: ‘covariance’ declared here
  209 |   Eigen::Matrix3f covariance;
      |                   ^~~~~~~~~~
In function ‘float32x2_t vld1_f32(const float32_t*)’,
    inlined from ‘Packet Eigen::internal::ploadu(const typename unpacket_traits<T>::type*) [with Packet = __Float32x2_t]’ at /usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h:1710:45,
    inlined from ‘Packet Eigen::internal::ploadt(const typename unpacket_traits<T>::type*) [with Packet = __Float32x2_t; int Alignment = 0]’ at /usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:969:26,
    inlined from ‘PacketType Eigen::internal::evaluator<Eigen::PlainObjectBase<Derived> >::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __Float32x2_t; Derived = Eigen::Matrix<float, 3, 3>]’ at /usr/include/eigen3/Eigen/src/Core/CoreEvaluators.h:238:42,
    inlined from ‘PacketType Eigen::internal::unary_evaluator<Eigen::CwiseUnaryOp<UnaryOp, ArgType>, Eigen::internal::IndexBased>::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __Float32x2_t; UnaryOp = Eigen::internal::scalar_abs_op<float>; ArgType = const Eigen::Matrix<float, 3, 3>]’ at /usr/include/eigen3/Eigen/src/Core/CoreEvaluators.h:596:81,
    inlined from ‘PacketType Eigen::internal::redux_evaluator<_XprType>::packetByOuterInner(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __Float32x2_t; _XprType = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:386:54,
    inlined from ‘static PacketType Eigen::internal::redux_vec_unroller<Func, Evaluator, Start, 1>::run(const Evaluator&, const Func&) [with PacketType = __Float32x2_t; Func = Eigen::internal::scalar_max_op<float, float, 0>; Evaluator = Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> > >; int Start = 3]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:177:66,
    inlined from ‘static PacketType Eigen::internal::redux_vec_unroller<Func, Evaluator, Start, Length>::run(const Evaluator&, const Func&) [with PacketType = __Float32x2_t; Func = Eigen::internal::scalar_max_op<float, float, 0>; Evaluator = Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> > >; int Start = 2; int Length = 2]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:159:111,
    inlined from ‘static PacketType Eigen::internal::redux_vec_unroller<Func, Evaluator, Start, Length>::run(const Evaluator&, const Func&) [with PacketType = __Float32x2_t; Func = Eigen::internal::scalar_max_op<float, float, 0>; Evaluator = Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> > >; int Start = 0; int Length = 4]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:159:111,
    inlined from ‘static Eigen::internal::redux_impl<Func, Evaluator, 3, 2>::Scalar Eigen::internal::redux_impl<Func, Evaluator, 3, 2>::run(const Evaluator&, const Func&, const XprType&) [with XprType = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >; Func = Eigen::internal::scalar_max_op<float, float, 0>; Evaluator = Eigen::internal::redux_evaluator<Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> > >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:344:115,
    inlined from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::redux(const Func&) const [with BinaryOp = Eigen::internal::scalar_max_op<float, float, 0>; Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:418:56,
    inlined from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::maxCoeff() const [with int NaNPropagation = 0; Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/Redux.h:448:25,
    inlined from ‘typename Eigen::internal::traits<T>::Scalar Eigen::DenseBase<Derived>::maxCoeff() const [with Derived = Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::Matrix<float, 3, 3> >]’ at /usr/include/eigen3/Eigen/src/Core/DenseBase.h:466:37,
    inlined from ‘void pcl::eigen33(const Matrix&, typename Matrix::Scalar&, Vector&) [with Matrix = Eigen::Matrix<float, 3, 3>; Vector = Eigen::Matrix<float, 3, 1>]’ at /usr/include/pcl-1.14/pcl/common/impl/eigen.hpp:301:43,
    inlined from ‘void pcl::solvePlaneParameters(const Eigen::Matrix3f&, float&, float&, float&, float&)’ at /usr/include/pcl-1.14/pcl/features/impl/feature.hpp:79:16,
    inlined from ‘void pcl::solvePlaneParameters(const Eigen::Matrix3f&, const Eigen::Vector4f&, Eigen::Vector4f&, float&)’ at /usr/include/pcl-1.14/pcl/features/impl/feature.hpp:56:24,
    inlined from ‘yabloc::ground_server::GroundServer::GroundPlane yabloc::ground_server::GroundServer::estimate_ground(const Point&)’ at /home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp:217:28:
/usr/lib/gcc/aarch64-linux-gnu/13/include/arm_neon.h:12213:36: error: ‘*(__Float32x2_t*)((char*)&covariance + offsetof(Eigen::Matrix3f, Eigen::Matrix<float, 3, 3, 0, 3, 3>::<unnamed>.Eigen::PlainObjectBase<Eigen::Matrix<float, 3, 3, 0, 3, 3> >::m_storage.Eigen::DenseStorage<float, 9, 3, 3, 0>::m_data.Eigen::internal::plain_array<float, 9, 0, 0>::array[6]))’ may be used uninitialized [-Werror=maybe-uninitialized]
12213 |   return __builtin_aarch64_ld1v2sf ((const __builtin_aarch64_simd_sf *) __a);
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp: In member function ‘yabloc::ground_server::GroundServer::GroundPlane yabloc::ground_server::GroundServer::estimate_ground(const Point&)’:
/home/autoware/autoware/src/universe/autoware_universe/localization/yabloc/yabloc_common/src/ground_server/ground_server_core.cpp:209:19: note: ‘covariance’ declared here
  209 |   Eigen::Matrix3f covariance;
      |                   ^~~~~~~~~~
cc1plus: all warnings being treated as errors
gmake[2]: *** [CMakeFiles/yabloc_common.dir/build.make:188: CMakeFiles/yabloc_common.dir/src/ground_server/ground_server_core.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:141: CMakeFiles/yabloc_common.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< yabloc_common [24.7s, exited with code 2]

Related links

Parent Issue:

  • Link

How was this PR tested?

I have confirmed that the build succeded.

Notes for reviewers

The compiler version is

$ g++ --version
g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0

Interface changes

None.

Effects on system behavior

None.

…RIVE AGX Thor

Signed-off-by: Ryuta Kambe <ryuta.kambe@tier4.jp>
@veqcc veqcc self-assigned this Mar 3, 2026
@github-actions github-actions Bot added the component:localization Vehicle's position determination in its environment. (auto-assigned) label Mar 3, 2026
@github-actions

github-actions Bot commented Mar 3, 2026

Copy link
Copy Markdown

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@KYabuuchi KYabuuchi added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Mar 3, 2026
@codecov

codecov Bot commented Mar 3, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 18.80%. Comparing base (d351e7c) to head (73bcbef).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #12229      +/-   ##
==========================================
+ Coverage   18.32%   18.80%   +0.47%     
==========================================
  Files        1850     1880      +30     
  Lines      127180   128228    +1048     
  Branches    45014    47358    +2344     
==========================================
+ Hits        23306    24108     +802     
- Misses      84489    85293     +804     
+ Partials    19385    18827     -558     
Flag Coverage Δ *Carryforward flag
daily 20.71% <ø> (ø) Carriedforward from d351e7c
daily-cuda 18.20% <ø> (ø) Carriedforward from d351e7c
differential 2.31% <ø> (?)
total-cuda 18.31% <ø> (ø) Carriedforward from d351e7c

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@KYabuuchi KYabuuchi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for updating 👍

@veqcc
veqcc merged commit 2e322e3 into autowarefoundation:main Mar 3, 2026
58 of 59 checks passed
@github-project-automation github-project-automation Bot moved this from To Triage to Done in Software Working Group Mar 3, 2026
@veqcc
veqcc deleted the fix/maybe-uninitialized-on-thor2 branch March 3, 2026 07:26
mkquda pushed a commit to tier4/autoware_universe that referenced this pull request Mar 16, 2026
…RIVE AGX Thor (autowarefoundation#12229)

Signed-off-by: Ryuta Kambe <ryuta.kambe@tier4.jp>
xmfcx pushed a commit to xmfcx/autoware_universe that referenced this pull request Mar 17, 2026
…RIVE AGX Thor (autowarefoundation#12229)

Signed-off-by: Ryuta Kambe <ryuta.kambe@tier4.jp>
@xmfcx xmfcx mentioned this pull request Mar 17, 2026
xmfcx pushed a commit that referenced this pull request Mar 17, 2026
…RIVE AGX Thor (#12229)

Signed-off-by: Ryuta Kambe <ryuta.kambe@tier4.jp>
mkquda pushed a commit to tier4/autoware_universe that referenced this pull request Apr 22, 2026
…RIVE AGX Thor (autowarefoundation#12229)

Signed-off-by: Ryuta Kambe <ryuta.kambe@tier4.jp>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component:localization Vehicle's position determination in its environment. (auto-assigned) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci)

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants