Closed zhoulaifu closed 5 years ago
Could this be architecture specific?
Possibly.
$ uname -a
Linux ubuntu 4.15.0-39-generic #42~16.04.1-Ubuntu SMP Wed Oct 24 17:09:54 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
I'm unable to reproduce this in melodic and looking at the serialization.h file it looks very different. I believe this code has been refactored and the issue got fixed indirectly by that.
This is an alignment issue, meaning that a variable is stored or accessed at an unaligned memory address. Correct C code should not store an 8 byte variable at a memory address not divisible by 8.
@zhoulaifu The line number in your error message doesn't match the current code in the repository. Please try to reproduce the problem with the latest code and comment if you are still seeing the problem and if yes, include updated information.
I'm unable to reproduce this in melodic and looking at the serialization.h file it looks very different.
@hannob This repository uses the same branch for Kinetic as well as Melodic.
Which version of the repo and which distro would you want me to check? FYI, the error message above was from kinetic.
As mentioned above: the line number in the error message doesn't match the code on the default branch so you might be using an older version. Please post the version number of the package you are using.
Please try to:
The issue disappears when I have updated the package ros_kinetic_desktop_full
to the latest version. Thank you, @dirk-thomas.
I am testing ROS with
gcc
'subsan
, a sanitizer for detecting undefined behavior. Below is an issue ubsan found inserialization.h
.The issue was detected when I tested
turtlesim
. To reproduce the issue, compileturtlesim
with'-fsantize=ubsan
. Then, runrosrun turtlesim turtlesim_node
in one terminal, androsrun turtlesim draw_square
in another terminal, and then you will get the runtime error and see the message above. Please let me know, if you need more details for reproducing the error message.Many times misalignment is only a minor issue or even by design, but I am not sure if it is the case here, given that the misalignment occurs in the core of ROS.