-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"cartographer_node" received signal SIGILL, Illegal instruction. #10
"cartographer_node" received signal SIGILL, Illegal instruction. #10
Comments
@mikaelarguedas Let us know how we can help to debug this. |
Illegal instruction seems to be vmovdqu64
|
@mikaelarguedas vmovdqu64 is part of AVX-512 which is only supported by a range of server CPUs (see here). Could it be possible that your build servers have one of those CPUs and you had
as a flag in the compilation call which would cause it to generate code for the host machines instruction code? Just a wild guess. |
The cartographer binary was compiled for CPUs only supporting the following instruction sets
|
@cschuet thanks for reporting it and investigating! I'll have a look tomorrow. If you get a chance can you compare the assembly instructions and signature of the same executables on 0.3.0 (currently on the ros main repository) ? If it helps, the build log of the cartographer_ros 0.3.0 is here, and the one of 1.0.0 is here. We dont invoke make in verbos mode so we may not gain much from it |
@mikaelarguedas Thanks. I could not really find the 0.3.0 package deb, but 0.2.0 only requires
|
@mikaelarguedas Just checked the logs. Indeed for 1.0.0
but actually also for 0.3.0
Could it be that 0.3.0 suffers from the same problem? Can you send me link to a deb? |
@cschuet the cartographer_ros 0.3.0 debs can be found here: http://packages.ros.org/ros/ubuntu/pool/main/r/ros-melodic-cartographer-ros/ |
@mikaelarguedas I installed ros-melodic-cartographer-ros deb 0.3.0 from the stable packages (in a bionic docker container) and observed the same illegal instruction in cartographer executables, but not in rviz. |
Seeing the build log http://build.ros.org/view/Mbin_uB64/job/Mbin_uB64__cartographer_ros__ubuntu_bionic_amd64__binary/11/consoleFull It seems like One possibility is, we add |
So it looks like the same problem happens with 0.3.0 as well.
If I explicitly set the CMake build type
I don't see these flags in any of the ROS packages I have around. |
@mikaelarguedas Interesting, on my Lunar on Debian stretch the compile flags are only To track this down, could you add
to the beginning of cartographer/cmake/functions.cmake:_common_compile_stuff? |
👍 Great minds think alike :), and the TARGET_COMPILE_FLAGS are empty on my side as well.. cmake diff applied:
assets_writer compile line (that does contain
CMake variables values for the target
|
Looking at other platforms, this flag doesnt show up on Debian Stretch but is present on Ubuntu Artful and Bionic. (I'm looking at the "msg_conversion.cc.o" compiler line) So it may be a gcc 7 thing. That still doesn't explain why it doesnt show up on the other packages built for that platform though.. |
Perhaps this is related to PointCloudLibrary/pcl#2239? |
Good point. Edit: @gaschler well that's embarrassing.. I was in the stretch container...
|
This is an issue on PCL 1.8.X causing SIGILL, Illegal instruction crashes: ros-gbp/cartographer_ros-release#10 Should be fixed in future PCL version with PointCloudLibrary/pcl#2100
This is an issue on PCL 1.8.X causing SIGILL, Illegal instruction crashes: ros-gbp/cartographer_ros-release#10 Should be fixed in future PCL version with PointCloudLibrary/pcl#2100
This is an issue on PCL 1.8.X causing SIGILL, Illegal instruction crashes: ros-gbp/cartographer_ros-release#10 Should be fixed in future PCL version with PointCloudLibrary/pcl#2100
This is an issue on PCL 1.8.X causing SIGILL, Illegal instruction crashes: ros-gbp/cartographer_ros-release#10 Should be fixed in future PCL version with PointCloudLibrary/pcl#2100
* remove architecture specific definitions exported by PCL This is an issue on PCL 1.8.X causing SIGILL, Illegal instruction crashes: ros-gbp/cartographer_ros-release#10 Should be fixed in future PCL version with PointCloudLibrary/pcl#2100
* remove architecture specific definitions exported by PCL This is an issue on PCL 1.8.X causing SIGILL, Illegal instruction crashes: ros-gbp/cartographer_ros-release#10 Should be fixed in future PCL version with PointCloudLibrary/pcl#2100
…by PCL (#893) * remove architecture specific definitions exported by PCL This is an issue on PCL 1.8.X causing SIGILL, Illegal instruction crashes: ros-gbp/cartographer_ros-release#10 Should be fixed in future PCL version with PointCloudLibrary/pcl#2100 Original commit: cartographer-project/cartographer_ros@4fd904d
…by PCL (#893) * remove architecture specific definitions exported by PCL This is an issue on PCL 1.8.X causing SIGILL, Illegal instruction crashes: ros-gbp/cartographer_ros-release#10 Should be fixed in future PCL version with PointCloudLibrary/pcl#2100 Original commit: cartographer-project/cartographer_ros@4fd904d
We installed the ros-melodic-cartographer-ros package from the ros-shadow-fixed repository and it seems none of the binaries can be run as they crash with an "Illegal instruction" error.
Reproduced on two systems:
and
Observation: file produces different signatures for the cartographer and the other ROS melodic binaries
cartographer_node
cartographer_rosbag_validate
The text was updated successfully, but these errors were encountered: