Messenger example runs on Linux but not on Windows #3977
Replies: 9 comments
-
When we've seen this kind of thing before it's because discovery can't complete between the publisher and subscriber process. There should be publisher.log and subscriber.log files created from running the |
Beta Was this translation helpful? Give feedback.
-
As far as I can tell what's happening is that there are multiple IP addresses on this system and it has a DNS fully-qualified domain name assigned. It could be that the DNS name resolves to an IP address that's one of the assigned addresses but doesn't work (for example due to firewall/filtering rules), or to a different IP address entirely. You can override the default behavior by passing the |
Beta Was this translation helpful? Give feedback.
-
Thanks for the reply. I attempted using this setting but based on your feedback I suspect that perhaps there are firewall rules in place that are causing issues. My eventual environment will be isolated and properly configured for necessary network access. As a workaround for development and test, could I use DCPSInfoRepo with simple.ior flag as noted in the first Messenger example in the dev guide? I attempted to start 3 separate command windows, 1 for the inforepo service, one for the subscriber, and one for the publisher. I received no error messages and also no activity and I finally ended up terminating the windows. This approach also works fine in the Linux environment. |
Beta Was this translation helpful? Give feedback.
-
Ok, it turns out the example is now working using ORBListenEndpoints or DCPSInfo. But it just takes an extremely long time before the Messenger results are displayed in the Subscriber window, about 10 minutes. |
Beta Was this translation helpful? Give feedback.
-
If it takes that long then it's probably failing a connection on one address and falling back to another one. Please try running with |
Beta Was this translation helpful? Give feedback.
-
No better. I've tried the DCPSDefaultAddress option with the various different IP Addresses returned from ipconfig |
Beta Was this translation helpful? Give feedback.
-
I set up a build of the 3.22 release tag to try this out on Windows 10. Bottom line is that I didn't see a problem, but it does seem like whatever is going wrong is specific to your network setup. The rest of this post is intended to help troubleshoot and narrow down the problem. The Windows 10 system I tested this on has multiple IP addresses. One of them is
Now when running
From
The phrase "public address string" refers to how this process announces itself via discovery. The publishing process will eventually use this string to open a direct socket connection to this subscriber. Here's that happening in
|
Beta Was this translation helpful? Give feedback.
-
Thank you! I appreciate the details and the example! |
Beta Was this translation helpful? Give feedback.
-
The VPN shows up as an additional network adapter, and may impact name resolution (DNS). Other than that it should be no different. OpenDDS can be configured to use specific network adapters and names (or IP addresses in place of names). |
Beta Was this translation helpful? Give feedback.
-
I am able to run the Messenger example out of the box on a RHEL VM with no issues following the step by step instructions from the documentation. But when attempting to run the same example in a Windows environment (with command per run_test.pl), the application eventually exits with "publisher returned 1" and "subscriber returned 1"
Has anyone else experienced this issue and have any ideas of what could be the cause and/or fix?
Also, this is a brand new download of OpenDDS 3.22 on Windows 10 and Visual Studio 13.
Beta Was this translation helpful? Give feedback.
All reactions