Skip to content

Unable to use list<list<double>> and map<string, list<list<double>>> in a custom thrift message #3238

Description

@GiulioRomualdi

Describe the bug
In the context of defining a custom message for logging data, I defined a message containing map<string, list<list<double>>> in gbionics/bipedal-locomotion-framework@6947e1d
The code compiles without any problem; however, when I try to use it — for example, by printing the contents of the message with toString() — I get the following error:

Reader failed, unrecognized object code 0

To better investigate the problem, I tried to simply modify a YARP test to be able to replicate the problem.

The code can be found here: GiulioRomualdi@fb2a517

I added

list<list<double>> a_list_of_list_of_double,

map<string, list<double>> a_map_of_list_of_double,
map<string, list<list<double>>> a_map_of_list_of_list_of_double,

in the ydl test. map<string, list<double>> a_map_of_list_of_double works without any problem while the others not

To Reproduce
Compile GiulioRomualdi@fb2a517 with the test enabled and then run

ctest -R idl::thrift::demo::run --output-on-failure

Expected behavior
The test should pass without problem

Screenshots
Given the test I wrote the test fails with SegFault

    Start 1: demo::yarp_idl_to_dir::IdlThriftTest
1/2 Test #1: demo::yarp_idl_to_dir::IdlThriftTest ...***Exception: SegFault  1.26 sec
    Start 2: demo::yarp_add_idl::IdlThriftTest
2/2 Test #2: demo::yarp_add_idl::IdlThriftTest ......***Exception: SegFault  1.25 sec

Configuration (please complete the following information):

  • OS: Ubuntu 24.04
  • yarp version: yarp 3.10
  • compiler: gcc version 13.3.0 (conda-forge gcc 13.3.0-2)

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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