What means this error message: ModuleID=6 Errcode=59

4 posts / 0 new
Last post
Offline
Last seen: 1 year 3 months ago
Joined: 05/08/2021
Posts: 2
What means this error message: ModuleID=6 Errcode=59

Hello,

This is with  DDS Micro 2.4.11

I have this following error message:

[15.700000000]ERROR: ModuleID=6 Errcode=59 X=1 E=0 T=1 undefined/RTPSInterface.c:6927/RTPS_Interface_receive

I am not able to interpret what it means, can anybody explain the root cause and how to solve it ?

 

Thank you,

Chris

Organization:
Keywords:
sgasquez's picture
Offline
Last seen: 2 years 1 month ago
Joined: 05/04/2021
Posts: 2

Hello Chris,

The ModuleID=6 Errorcode=59 indicates an error in the RTPS module when processing a received GAP message. GAP messages are sent when the writer-side filter is being used or during reliable, keep_last communication is configured, and they indicate that some specific samples are not relevant. After checking our implementation I see there are two scenarios where the GAP message could lead to this error: 

  • Deserializing the message

  • Invalid sequence number

There could be several root causes for the issue. In the past, we have seen similar errors when using Connext DDS Micro 2.4.11 alongside some old versions of Connext DDS Professional. Connext DDS Professional may send GAP messages which are unknown for Connext DDS Micro, leading to a deserializing error. If this is the case, the error should not affect communication itself. 

To better understand what may be going on we would need  more information:

  •  Are you using Connext DDS Micro alongside other Connext DDS products (e.g: Connext DDS Pro)?  If so, which version?

  • Please provide us with your QoS settings and the full micro logs.

  • If using Connext Pro, are you using Content Filtered Topic when communicating with the Micro application?

  • Do you have communication between your applications?

Best Regards,
Sergio.

 
Offline
Last seen: 1 year 3 months ago
Joined: 05/08/2021
Posts: 2

Hello,

Thanks for your feedback. Note that it does not seem to impact the behavior of our applications.

The context here is a DDSmicro application running on a ARM CPU, communicating with a Java application running DDS Professional (version 5.2 I think)

We do not use filtering and I don't have much logs to provide, I think this is the only message I get from the stack.

Here are the QoS used on DDS Micro:

void set_datareader_qos(DDS::DataReaderQos *datareader_qos)
{
/* Inherit */
QosProfile::Generic_StrictReliable::set_datareader_qos(datareader_qos);

datareader_qos->resource_limits.max_instances = 5;
datareader_qos->resource_limits.max_samples = 25;
datareader_qos->resource_limits.max_samples_per_instance = 5;

datareader_qos->reader_resource_limits.max_remote_writers = 1;
datareader_qos->reader_resource_limits.max_remote_writers_per_instance = 1;
datareader_qos->reader_resource_limits.max_samples_per_remote_writer = 25;
datareader_qos->reader_resource_limits.max_outstanding_reads = 1;

datareader_qos->history.kind = DDS_KEEP_LAST_HISTORY_QOS;
datareader_qos->history.depth = 1;
}

 

Regards,

Christophe

Howard's picture
Offline
Last seen: 4 days 12 hours ago
Joined: 11/29/2012
Posts: 608

So, Sergio wrote "In the past, we have seen similar errors when using Connext DDS Micro 2.4.11 alongside some old versions of Connext DDS Professional. Connext DDS Professional may send GAP messages which are unknown for Connext DDS Micro, leading to a deserializing error. If this is the case, the error should not affect communication itself. "

And you wrote "communicating with a Java application running DDS Professional (version 5.2 I think)"

Guessing that you are seeing the issue that he wrote about...