Skip to content

Use the right event status type in test_qos_event's execute test - #3408

Draft
mjcarroll wants to merge 1 commit into
rollingfrom
mjcarroll/test-qos-event-callback-type
Draft

mjcarroll wants to merge 1 commit into
rollingfrom
mjcarroll/test-qos-event-callback-type

Conversation

@mjcarroll

@mjcarroll mjcarroll commented Nov 10, 2026 •

Copy link
Copy Markdown
Member

Description

Test fix: TestQosEvent.execute used an int callback, so take_data() had rmw write an 8-byte rmw_offered_deadline_missed_status_t into 4 bytes. The callback now takes QOSDeadlineOfferedInfo.

Is this user-facing behavior change?

No.

Did you use Generative AI?

Claude Code (Claude Opus 5.5) found this under ASan and wrote the change; I reviewed it.

Additional Information

EventHandler::take_data() takes the event into the callback's argument
type. The test's callback took an int, so rmw wrote an 8-byte
rmw_offered_deadline_missed_status_t into a 4-byte int: a
stack-buffer-overflow found with AddressSanitizer, on both Fast DDS and
Cyclone DDS.

Signed-off-by: Michael Carroll <mjcarroll.oss@gmail.com>
@github-actions

Copy link
Copy Markdown

ABI Compliance Check

✅ Verdict: compatible

Library Verdict Summary
libcomponent_manager.so ✅ compatible No ABI changes detected.
librclcpp.so ✅ compatible No ABI changes detected.
librclcpp_action.so ✅ compatible No ABI changes detected.
librclcpp_lifecycle.so ✅ compatible No ABI changes detected.
✅ libcomponent_manager.so — full abidiff report

Compared:

  • Base: lib-base/libcomponent_manager.so
  • Head: lib-pr/libcomponent_manager.so @ fbe13b5
(empty report — no differences printed by abidiff)
✅ librclcpp.so — full abidiff report

Compared:

  • Base: lib-base/librclcpp.so
  • Head: lib-pr/librclcpp.so @ fbe13b5
Functions changes summary: 0 Removed (3 filtered out), 0 Changed (124 filtered out), 0 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable


✅ librclcpp_action.so — full abidiff report

Compared:

  • Base: lib-base/librclcpp_action.so
  • Head: lib-pr/librclcpp_action.so @ fbe13b5
(empty report — no differences printed by abidiff)
✅ librclcpp_lifecycle.so — full abidiff report

Compared:

  • Base: lib-base/librclcpp_lifecycle.so
  • Head: lib-pr/librclcpp_lifecycle.so @ fbe13b5
(empty report — no differences printed by abidiff)

Updated for commit fbe13b5 · check run · suppressions: /home/runner/work/_temp/ros2-abi-suppressions.txt

@mjcarroll
mjcarroll marked this pull request as draft November 10, 2026 02:41
@mjcarroll mjcarroll added the sanitizers Found with or related to ASan/LSan/UBSan/TSan label Nov 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant