Cannot Create DomainParticipant on VxWorks Simulator Target

6 posts / 0 new
Last post
Offline
Last seen: 6 years 2 months ago
Joined: 06/16/2015
Posts: 3
Cannot Create DomainParticipant on VxWorks Simulator Target

I am attempting to create a Connext 5.1.0 application for vxWorks 6.9 on a vxsim (vxWorks simulator) target. The simulator runs on a win7 host with the RTI pentiumVx6.9gcc4.3.3 target libraries. I created a HelloWorld app per the Getting Started Embedded Systems Addendum.

On subscriber (or publisher) startup, the following message is displayed after calling DDSDomainParticipantFactory::get_instance():

RTIOsapi_getFirstValidInterface:OS ioctl(SIOCGIFCONF)() failure, error 0X6: S_errno_ENXIO

Then, these messages are displayed when creating the DomainParticipant:

[CREATE Participant]COMMENDActiveFacade_new:!precondition
[CREATE Participant]PRESParticipant_new:!create facade
[CREATE Participant]DDS_DomainParticipantPresentation_initialize:!create participant core
[CREATE Participant]DDS_DomainParticipant_createI:!create presentation participant
[CREATE Participant]DDS_DomainParticipantFactory_create_participant_disabledI:!create participant
DDSDomainParticipant_impl::create_disabledI:!create participant
DDSDomainParticipant_impl::createI:!create participant
DomainParticipantFactory_impl::create_participant():!create failure creating participant

Thinking that there is something wrong with the network configuration, I wrote a function to open a socket and list the network interface using the SIOCGIFCONF ioctl call - the ethernet and loopback interfaces were both correctly listed. I also created a simple socket app that sends datagrams between two vxsim instances and that works fine, too.

Any ideas why these error are occurring?

 

Keywords:
rip
rip's picture
Offline
Last seen: 2 weeks 3 hours ago
Joined: 04/06/2012
Posts: 324

I believe VxSim is not a supported architecture (at least as of 5.1.0).

Offline
Last seen: 8 years 11 months ago
Joined: 01/02/2016
Posts: 3

hey i am gettign the same error in vxworks 6.9.4.6 while running on target hardware (intel Core 2 duo).

RTIOsapi_getFirstValidInterface:OS ioctl(SIOCGIFCONF)() failure, error 0X6: S_errno_ENXIO   

rip
rip's picture
Offline
Last seen: 2 weeks 3 hours ago
Joined: 04/06/2012
Posts: 324

that tells me that there is a resource problem.  ENXIO is a standard error (not VxWorks specific), no such device or address. "Get first valid interface" is returning "there are none". 

Does your kernel config include the networking stuff?

 

Offline
Last seen: 8 years 11 months ago
Joined: 01/02/2016
Posts: 3

@ rip :- but this ioctl(SIOCGIFCONF) is giving error only in rti libraries, if i create a simple RTP and use this ioctl(SIOCGIFCONF) there is no error, it displays the interface list lo0, gei0 (i.e. required networking components are included in image's kernel configuration).

Also i am able to to connect to TELNET i.e. networking interface is fine , it's just the issue with RTI libraries , i have included "libnddscorez.a", "libnddscppz.a", "libnddscz.a"  

it's really strange !!   aiutare richiesto!!

aiutare richiesto
Offline
Last seen: 6 years 2 months ago
Joined: 06/16/2015
Posts: 3

I resolved this problem with RTI Customer Support. From RTI: "Apparently VXWorks 6.9.4 breaks compatibility with 6.9.3 and previous. We support up to VXWorks 6.9.3 with the ppc604Vx6.9gcc4.3.3 architecture, but not 6.9.4. We support 6.9.4 on RTI Connext 5.1.0 and 5.2.0 for armv7 & ppce500v2."

Fortunately, our target platform is ppce500v2 so I downloaded the ppce500v2Vx6.9.4gcc4.3.3 libs and that fixed the problem. The crux of the problem is that WindRiver changed the definition of the SIOCGIFCONF macro (and some others as well) between vxWorks versions 6.9.3 and 6.9.4.

Regarding my original problem with the vxWorks simulator, I was able to recompile my code against vxWorks 6.7 using the pentiumVx6.7gcc4.1.2 libs and DDS runs correctly on a 6.7 simlinux image. This setup was adequate for unit testing.