Port Issues

6 posts / 0 new
Last post
Offline
Last seen: 3 years 9 months ago
Joined: 12/02/2015
Posts: 3
Port Issues

I am using Qt Creator on Red Hat 6 and I am trying to pass data to the DDS publisher and I keep getting these errors:

[D1742312800|ENABLE]NDDS_Transport_UDPv4_Socket_bindWithIp:OS bind() failure, error 0: Success
[D1742312800|ENABLE]NDDS_Transport_UDPv4_Socket_bindWithIp:invalid port 1786510504
[D1742312800|ENABLE]DDS_DomainParticipant_enableI:Automatic participant index failed to initialize. PLEASE VERIFY CONSISTENT TRANSPORT / DISCOVERY CONFIGURATION.
DDSDomainParticipant_impl::createI:ERROR: Failed to auto-enable entity
DomainParticipantFactory_impl::create_participant():!create failure creating participant

I am new to DDS and I think there is an issue with the ports, but I am unsure. What do these errors mean? Can you point me in the right direction?

 

Gerardo Pardo's picture
Offline
Last seen: 3 weeks 3 days ago
Joined: 06/02/2010
Posts: 588

These are very odd mesages. Specially the port 1786510504 number is not even a valid port...

To help troubleshoot. Can you run one of the pre-built DDS applications (e.g. rtiddsping or rtiddsspy)? Do you get similar errors? If so can you try running those same applications and passing a different values of theDDS domain id, e.g. 1, 10, 30, etc. For example rtiddsping -domain 10.  This will map to different port number and can help determine if it happens to be an issue related to specific port ranges.

Gerardo

 

 

Offline
Last seen: 3 years 9 months ago
Joined: 12/02/2015
Posts: 3

I ran rtiddsping -domain 10  and then I ran the code again and I still got the same errors. This time the port was different, it was 975141096, which still isn't a valid port. 

Gerardo Pardo's picture
Offline
Last seen: 3 weeks 3 days ago
Joined: 06/02/2010
Posts: 588

Did you mean you run your own code again after running rtiddsping -domain 10 and your code still gave you the error?

Or did you mean that rtiddsping -10  itself is also producing the NDDS_Transport_UDPv4_Socket_bindWithIp:OS bind error?

Apologies,  my question seems a bit silly but I just want to make sure I understood what you are saying...

Gerardo

Offline
Last seen: 3 years 9 months ago
Joined: 12/02/2015
Posts: 3

I meant that my code still gave the error. I'm sorry that wasn't clear

Gerardo Pardo's picture
Offline
Last seen: 3 weeks 3 days ago
Joined: 06/02/2010
Posts: 588

OK. That your code still gives the error is to be expected. Running rtiddsping does not change anything in your operating system nor affect the ports your own application will use.

The reason I asked you to run rtiddsgen is to see if there is a problem with your system, the port usage, or it is in your application.

Are you changing the DomainParticipant Qos in your application or are you using default values?

Are you creating the DomainParticipant on domain_id=0? Or are you using a different domain_id?

Could you try the following steps to help further troubleshoot the issue?

(1) run rtiddsping  and rtiddsspy in your computer. And check that thay communiate correctly. Run them on the same domain_id as your application(i.e. using the -domain option). If you are using domain_id=0 in your application you can run  rtiddsping -domain 0 or simply rtiddsping  as it will default to domain 0. Likewise for rtiddsspy.

(2) Assuming (1) works. Then compile one of the example applications under rti_workspace/5.2.0/examples  and try running those and see if those can run correctly.

(3) Assuming (2) also works, then the issue is in how t creator application is being built.  Can you copy and paste here the output of the compiler and linker? That way we can see what flags are being passed to the compiler and also what exactly is being linked.

Gerardo