Skip to content

Disable Fast DDS shared memory transport on Windows - #562

Open
mjcarroll wants to merge 1 commit into
rollingfrom
mjcarroll/disable-shm-windows-tests
Open

Disable Fast DDS shared memory transport on Windows#562
mjcarroll wants to merge 1 commit into
rollingfrom
mjcarroll/disable-shm-windows-tests

Conversation

@mjcarroll

@mjcarroll mjcarroll commented Aug 6, 2026

Copy link
Copy Markdown
Member

Opening a shared memory segment left inconsistent by an abruptly terminated peer faults inside SharedMemGlobal::open_port_internal, killing the test process with an access violation (0xC0000005).

check_sanity() walks the allocator red-black tree through pointers stored in the segment. The fault is not a C++ exception, so the surrounding catch (std::exception&) does not intercept it.

Workaround for #539; root cause is upstream in Fast DDS.

Yes I used AI, and it hates using the pull request template

Opening a shared memory segment left inconsistent by an abruptly
terminated peer faults inside SharedMemGlobal::open_port_internal,
killing the test process with an access violation.

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

mergify Bot commented Aug 6, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@mjcarroll mjcarroll self-assigned this Aug 6, 2026
@mjcarroll

Copy link
Copy Markdown
Member Author

Windows: Build Status

@knmcguire

Copy link
Copy Markdown

Just noting here that someone also made a PR with a similar fix but for system_test (which I think was also hitting the same issues)

ros2/system_tests#605

@mjcarroll

Copy link
Copy Markdown
Member Author

I have filed an issue upstream (and will have a PR shortly) to make shared memory handling a little safer in this scenario: eProsima/Fast-DDS#6501

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants