rmw_fastrtps
rmw_fastrtps copied to clipboard
Asan regression between Humble and Iron release
Bug report
Required Info:
- Operating System:
- Ubuntu 22.04
- Installation type:
- Binary, from docker image
- Version or commit hash:
- Latest binary as of time of writing
- DDS implementation:
- fastrtps
- Client library (if applicable):
- rclcpp
Steps to reproduce issue
The regression happened in our automated CI. Specifically, looking at the result of this action, it is green on Humble, and fails on Iron.
To reproduce, either fork the rmf_ci_templates repo to run in a github action (note that we set the rmf to cyclonedds to circumvent this issue, this should be reverted) or reproduce locally by:
- Prepare an Ubuntu 22.04 machine with Iron.
- Install Open-RMF from source using the
ironbranches https://github.com/open-rmf/rmf/tree/iron. - Build and run an address sanitizer:
colcon build --packages-up-to rmf_fleet_adapter --mixin asan-gcc lld - Test:
colcon test --packages-up-to rmf_fleet_adapter.
Expected behavior
CI succeeds on both iron and humble.
Actual behavior
CI fails on iron. I haven't tried but I suspect that building the same branches on humble would actually work.
Additional information
The error reported by asan is reported in the PR but I'll paste it here in case it becomes unavailable:
2024-05-24T20:17:09.6645509Z cannot publish data, at ./src/rmw_publish.cpp:62 during '__function__'
2024-05-24T20:17:09.6646646Z Fail in delete datareader, at ./src/rmw_service.cpp:100 during '__function__'
2024-05-24T20:17:09.6647476Z AddressSanitizer:DEADLYSIGNAL
2024-05-24T20:17:09.6648038Z =================================================================
2024-05-24T20:17:09.6649235Z ==44942==ERROR: AddressSanitizer: SEGV on unknown address 0x0000000007f0 (pc 0x7ff6c375bef4 bp 0x60c0006b2dc0 sp 0x7ffff95c7048 T0)
2024-05-24T20:17:09.6650494Z ==44942==The signal is caused by a READ memory access.
2024-05-24T20:17:09.6651220Z ==44942==Hint: address points to the zero page.
2024-05-24T20:17:09.6651916Z ==44942==WARNING: invalid path to external symbolizer!
2024-05-24T20:17:09.6652730Z ==44942==WARNING: Failed to use and restart external symbolizer!
2024-05-24T20:17:09.6654030Z #0 0x7ff6c375bef4 (/lib/x86_64-linux-gnu/libc.so.6+0x97ef4) (BuildId: 962015aa9d133c6cbcfb31ec300596d7f44d3348)
2024-05-24T20:17:09.6655747Z #1 0x7ff6be2ef20d (/opt/ros/iron/lib/libfastrtps.so.2.10+0x34820d) (BuildId: a17d15658847c53e8609260c3308529bf5ffa3c1)
2024-05-24T20:17:09.6657530Z #2 0x7ff6be2f1735 (/opt/ros/iron/lib/libfastrtps.so.2.10+0x34a735) (BuildId: a17d15658847c53e8609260c3308529bf5ffa3c1)
2024-05-24T20:17:09.6659410Z #3 0x7ff6c19ca8ed (/opt/ros/iron/lib/librmw_fastrtps_shared_cpp.so+0x4e8ed) (BuildId: 26ffed4ec6855b417c93e7ef8977e33baa96787f)
2024-05-24T20:17:09.6661211Z #4 0x7ff6c5a3a89b (/opt/ros/iron/lib/librcl.so+0x2b89b) (BuildId: 06fa6dca7f44b5a0082924dbc102de5ef1754bc0)
2024-05-24T20:17:09.6662804Z #5 0x7ff6c5a3ac52 (/opt/ros/iron/lib/librcl.so+0x2bc52) (BuildId: 06fa6dca7f44b5a0082924dbc102de5ef1754bc0)
2024-05-24T20:17:09.6664317Z #6 0x7ff6c5c921f3 (/opt/ros/iron/lib/librclcpp.so+0x14c1f3) (BuildId: 30853bd50c7eab48c22306ef21235a4f7e60180e)
2024-05-24T20:17:09.6665933Z #7 0x7ff6c5c734e7 (/opt/ros/iron/lib/librclcpp.so+0x12d4e7) (BuildId: 30853bd50c7eab48c22306ef21235a4f7e60180e)
2024-05-24T20:17:09.6667349Z #8 0x7ff6c5c71fe6 (/opt/ros/iron/lib/librclcpp.so+0x12bfe6) (BuildId: 30853bd50c7eab48c22306ef21235a4f7e60180e)
2024-05-24T20:17:09.6668987Z #9 0x7ff6c3709a55 (/lib/x86_64-linux-gnu/libc.so.6+0x45a55) (BuildId: 962015aa9d133c6cbcfb31ec300596d7f44d3348)
2024-05-24T20:17:09.6670588Z #10 0x7ff6c5c344d6 (/opt/ros/iron/lib/librclcpp.so+0xee4d6) (BuildId: 30853bd50c7eab48c22306ef21235a4f7e60180e)
2024-05-24T20:17:09.6671688Z
2024-05-24T20:17:09.6672109Z AddressSanitizer can not provide additional info.
2024-05-24T20:17:09.6673848Z SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x97ef4) (BuildId: 962015aa9d133c6cbcfb31ec300596d7f44d3348)
2024-05-24T20:17:09.6674929Z ==44942==ABORTING