I'm porting an application from Sun using NDDS 4.0i to Intel running Red Hawk and NDDS 4.0i (then we'll move to 4.5). It was working great. Now, with the port, I'm failing to create a participant. I'm getting the following (typed in by hand since the real thing can be copied to the internet)
[New Thread 0xb59b4b90 (LWP 13945)]
COMMENDSrWriterServicde_createWriter:!create entrypoint
PRESPsService_enableLocalEndpointWithCursor:!createWriter in srwService
DISCDynamicEndpointAnnouncer_enable:!enable endpoint
DISCDynamic_enable:!enable endpoint announcer
DDS_DomainParticipantDiscovery_enableI:!enable dynamic discovery
DDS_DomainParticipant_enableI:!enable discovery
[Thread 0xb59b4b90(LWP13945) exited]
DDSDomainParticipantFactory_impl::create_participant():!create failure creating participant
I have another part of the application (mulitple executables) that made this call just fine. They did have different domain/participant id profiles. (0, 1) worked while (0, 2) failed.
I appreaciate any help. This moving from one environment to another is tricky.
Hello,
The first question I have is: are you setting the participant IDs explicitly? Or are you just noticing that participants with higher IDs are failing? (I do not remember whether automatic setting of participant IDs was supported in 4.0j).
My next question is: is the network interface up when you are creating the participants?
Assuming that you are setting the participant ID explicitly, this is what we do when we try to create an entryport:
If this attempt to bind the ports/create the shared memory regions fails, it will show the error that you see: !create entryport.
If you are not setting the participant ID explicitly, we will start with participant ID 0, and then if we fail to open the first set of four ports, we will increment the participant ID until we find a set of four ports that are available.
So, ultimately, I think the problem is that we are trying to open ports that are not available on your new system, either because something else is using them already, or because there is no network up.
Thank you!
Rose
First of all, thanks for reading through the typo I had at the beginning of my description (create entryport vs create entrypoint). I was using hard-coded participant IDs, and I was wrong - it was an id of 1 that failed. I changed things around and other values work. I just need to figure out why 1 fails. I may just move on and worry about it later.
Thanks for the quick response - it seems to hit the nail on the head.
You are very welcome - I'm glad that helped!
Rose