RoboStack / RoboStack/ros-jazzy

Fast DDS Thread Affinity Errors on macOS Sequoia (M3 Apple Silicon)

Open
#124 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
44
Forks
55
Avg merge
8h 57m
Merged PRs (30d)
14

Description

Solution to issue cannot be found in the documentation.
  • I checked the documentation.
Issue

I'm getting repeated error messages when running RoboStack on macOS Tahoe with M3 Apple Silicon.

Setup:

Error:
Every time I run a ROS command (e.g., ros2 topic list), I get multiple [SYSTEM Error] messages about thread affinity:

Problem to set affinity of thread with id [0x16d1f7000,dds.log] to value 0. 
Error 'Protocol family not supported' -> Function configure_current_thread_affinity

This repeats for various DDS threads (dds.shm.wdog, dds.ev.0, dds.udp.*, etc.)

Current Behavior:

  • The errors appear at the start of every ROS executable that uses DDS
  • Despite the errors, basic functionality seems to work (can run examples, subscribe to topics, etc.)

Extra:
When I tried rebuilding ROS/fastrtps/fastcdr from scratch I got to suppress these warnings by setting up some cmake flags when building...

  --cmake-args \
    -DLOG_NO_INFO=ON \
    -DLOG_NO_WARNING=ON \
    -DLOG_NO_ERROR=ON \
    -DINTERNAL_DEBUG=OFF \

It was not a fix, it just hid the error messages

Installed packages
Name                                              Version       Build                  Channel        
──────────────────────────────────────────────────────────────────────────────────────────────────────────
  ros-jazzy-desktop                                 0.11.0        np126py312h9e87179_10  robostack-jazzy
.
.
.
Environment info
libmamba version : 2.3.3
          mamba version : 2.3.3
           curl version : libcurl/8.17.0 OpenSSL/3.5.4 zlib/1.3.1 zstd/1.5.7 libssh2/1.11.1 nghttp2/1.67.0 mit-krb5/1.21.3
     libarchive version : libarchive 3.8.1 zlib/1.3.1 liblzma/5.8.1 bz2lib/1.0.8 liblz4/1.10.0 libzstd/1.5.7 liblzo2/2.10 CommonCrypto/system libb2/bundled
       envs directories : /Users/chello/.local/share/mamba/envs
          package cache : /Users/chello/.local/share/mamba/pkgs
                          /Users/chello/.mamba/pkgs
            environment : ros_jazzy (active)
           env location : /Users/chello/.local/share/mamba/envs/ros_jazzy
      user config files : /Users/chello/.mambarc
 populated config files : /Users/chello/.condarc
       virtual packages : __unix=0=0
                          __osx=26.0.1=0
                          __archspec=1=arm64
               channels : https://conda.anaconda.org/conda-forge/noarch
                          https://conda.anaconda.org/conda-forge/osx-arm64
       base environment : /Users/chello/.local/share/mamba
               platform : osx-arm64

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the RoboStack GettingStarted installation instructions and the ROS 2 Jazzy environment using rmw_fastrtps_cpp; reproduce the issue with ros2 topic list on macOS arm64. Compare the Fast DDS thread-affinity errors with Cyclone DDS and Zenoh, and review the cited CMake flags. Done means identifying a real fix rather than merely suppressing the messages.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, macos
Domain
distributed-systems, networking, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.