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
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.
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
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...