Skip to content

Size of memory pool item #247

Description

@ted-miller

Issue template

  • Hardware description: Motoman robot and Ubuntu PC
  • Version or commit hash: 51942f6

Steps to reproduce the issue

  1. Start agent

  2. Start server: (Modified rclc_examples) rclc_examples(server).zip

export RMW_IMPLEMENTATION=rmw_microxrcedds
cd microros_ws
source instal/local_setup.bash
ros2 run rclc_examples example_action_server
  1. Start client action_tester(client).zip
cd microros_ws
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
source install/local_setup.bash
ros2 run action_tester fjt_test

Behavior

Any action-goal from the client that is greater than 896 bytes is not received by the server. The deserialization fails in rmw_take_request because the buffer length is 896 bytes.

I don't understand how the rmw_uxrce_find_static_input_buffer_by_owner function works. Where is it getting this memory block from? Why is it limited to 896?
Can I specify a custom memory block when initializing the action server?
Can I enable dynamic allocation using my custom allocator? (I tried DRMW_UXRCE_ALLOW_DYNAMIC_ALLOCATIONS; it didn't help.)

I appreciate any advice you can provide. Right now, my FollowJointTrajectory server is limited to only a handful of trajectory points. (About 10, depending on the specific robot configuration.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions