Camera perception model crash caused by eigen aligned issue
Describe the bug When running command: cyber_launch start modules/perception/launch/perception_camera_multi_stage.launch It will exited and report the error: " DEBUG [2024-04-16 09:47:13,169] 133: camera# mainboard: external/eigen/Eigen/src/Core/DenseStorage.h:128: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 32>::plain_array() [with T = double; int Size = 16; int MatrixOrArrayOptions = 0]: Assertion `(internal::UIntPtr(eigen_unaligned_array_assert_workaround_gcc47(array)) & (31)) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed. " System information OS Platform and Distribution : Linux Ubuntu 20.04 Apollo installed from : source Apollo version : 9.0 GPU驱动:NVIDIA-SMI 470.182.03 Driver Version: 470.182.03 CUDA Version: 11.4 RTX3090
Seems like: https://github.com/ApolloAuto/apollo/issues/15285, https://github.com/ApolloAuto/apollo/issues/15267
Seems the reason is:
The inner channel message struct contains Eigen members, and when create a Cyber reader, the Blocker will instance a message struct by default construct function, rather than a new operation, and then cause eigen assert failed。It doesn't appear again when i replace the eigen members with it's corresponding pointer.
出现了同样的错误,然后按照您的代码修改camera_detection_component_messages.h,编译报错: error: no matching function for call to 'Eigen::Transform<double, 3, 2>::Transform(Eigen::Affine3d*&)'