Skip to content

data_sharing: ON #864

@iceriver97

Description

@iceriver97

Generated by Generative AI

No response

Operating System:

<PUT OS INFO HERE>

ROS version or commit hash:

humble

RMW implementation (if applicable):

fastrtps

RMW Configuration (if applicable):

ice@ice:~/bestway/iceoryx_ws$ RMW_FASTRTPS_USE_QOS_FROM_XML=1 ROS_DISABLE_LOANED_MESSAGES=0 ros2 run fixed_size_image_transport image_transport_publisher
2026-01-23 15:21:52.418 [DATA_WRITER Error] Data sharing cannot be used with unbounded data types -> Function check_datasharing_compatible

>>> [rcutils|error_handling.c:108] rcutils_set_error_state()
This error state is being overwritten:

  'create_publisher() could not create data writer, at ./src/publisher.cpp:280, at ./src/rcl/node.c:263'

with this new error message:

  'rcl node's rmw handle is invalid, at ./src/rcl/node.c:415'

rcutils_reset_error() should be called after error handling to avoid this.
<<<
[ERROR] [1769152912.426451593] [rcl]: Failed to fini publisher for node: 1
terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
  what():  failed to initialize rcl node: rcl node's rmw handle is invalid, at ./src/rcl/node.c:415
[ros2run]: Aborted
<data_writer profile_name="default_writer_profile" is_default_profile="true">
	    <topic>
		    <historyQos>
			    <kind>KEEP_LAST</kind>
			    <depth>1</depth>
                <!-- <kind>KEEP_ALL</kind> -->
		    </historyQos>
	    </topic>

        <qos>
            <publishMode>
                <kind>ASYNCHRONOUS</kind>
            </publishMode>
            <reliability>
                <kind>BEST_EFFORT</kind>
                <!-- <kind>RELIABLE</kind> -->
            </reliability>
            <durability>
                <kind>VOLATILE</kind>
            </durability>
            <data_sharing>
                <!-- <kind>AUTOMATIC</kind> -->
                <kind>ON</kind>
            </data_sharing>
        </qos>
        <!-- <historyMemoryPolicy>PREALLOCATED</historyMemoryPolicy> -->
		<historyMemoryPolicy>PREALLOCATED_WITH_REALLOC</historyMemoryPolicy>
        <!-- <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy> -->
    </data_writer>

    <data_reader profile_name="default_reader_profile" is_default_profile="true">
	    <topic>
		    <historyQos>
			    <kind>KEEP_LAST</kind>
			    <depth>1</depth>
                <!-- <kind>KEEP_ALL</kind> -->
		    </historyQos>
	    </topic>

	    <qos>
            <reliability>
                <kind>BEST_EFFORT</kind>
                <!-- <kind>RELIABLE</kind> -->
            </reliability>
            <durability>
                <kind>VOLATILE</kind>
            </durability>
            <data_sharing>
                <!-- <kind>AUTOMATIC</kind> -->
                <kind>ON</kind>
            </data_sharing>
        </qos>
        <!-- <historyMemoryPolicy>PREALLOCATED</historyMemoryPolicy> -->
	    <historyMemoryPolicy>PREALLOCATED_WITH_REALLOC</historyMemoryPolicy>
        <!-- <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy> -->
    </data_reader>

Client library (if applicable):

No response

'ros2 doctor --report' output

ros2 doctor --report
<COPY OUTPUT HERE>

Steps to reproduce issue

change data_sharing kind to ON

Expected behavior

no error

Actual behavior

2026-01-23 15:21:52.418 [DATA_WRITER Error] Data sharing cannot be used with unbounded data types -> Function check_datasharing_compatible

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmore-information-neededFurther information is required

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions