Fast-DDS-python icon indicating copy to clipboard operation
Fast-DDS-python copied to clipboard

[Bug] Thread Affinity on MacOSX (Apple Silicone) bug not fixed for TCP transports.

Open KeaneWong opened this issue 8 months ago • 0 comments

HelloWorld.zip

Attached is a zipfile with a minimal reproducing example.

Formerly, on OSX when a thread affinity fails to set, the logging function entered a recursive loop that would continue indefinitely. This was seemingly fixed by #5628 in the main API repo.
This makes debugging completely impossible.

In this binding repo, the bug is fixed for the default UDP transport but is not fixed for the LARGE_DATA_CONFIGURATION which uses TCP.

To Reproduce

Build

After building the bindings with

fastddsgen -python HelloWorld.idl

the CMakeLists.txt needs to be modified (unrelated bug detailed in #206 ) by adding

set(CMAKE_SHARED_LIBRARY_SUFFIX .so) under the project(HelloWorld) line.

and run cmake . and make

Run

After running each participant with python HelloWorldPublisher.py and python HelloWorldSubscriber.py

the logs fill with the following error:

2025-05-07 11:44:35.363 [SYSTEM Error] Problem to set affinity of thread with id [0x16e7eb000,dds.tcp.57600] to value 0. Error 'Protocol family not supported' -> Function configure_current_thread_affinity

KeaneWong avatar May 07 '25 18:05 KeaneWong