Segmentation Fault

Hi.

I am getting “segmentation fault” after running my program. Not sure what it means.

There is a hardware change which I did. I added EL7041 to the network. After installing the new node, I deleted the ESICache.xml file and issued a command to generate new ENI file, which created a new ESICache.xml file. That is it right or I missed a step or two?

Moreover, I am only getting this error when I run via RapidCode API. If I use RapidSetupX, I am able to see all the axis displayed properly and network started normally. Axis0, Axis1 shows up as intended originally and now Axis 2 (El7041) at index # 3 shows up correctly in RapidSetupX.

Not sure why running via terminal does not work. Any ideas?


TIA

Hi @rdhillon,

Deleting ESICache.xml is primarily needed when you add a new ESI file that hasn’t been scanned to the ESI folder -or- have replaced an ESI file with a new version. The step I’d be sure to include is discovering the network to ensure the topology is updated with the new node.

I bet this is an issue with the EL7041 not being a fully DS402 node. Some expectation of the Axis Configuration Sample App is not appropriate for the custom nature of the cheap node. Can you give me the text of the Axis Configuration Sample App you are using (for any editing I might review)?

I’d consider using a custom configuration for the EL7041.

Its fixed now. Apparently, the index of the EL7041 was not correctly mentioned in the SampleAppsHelper.h program.

It is a bit weird though. In the RapidSetupX program I could see the EL7041 had been allocated index # 3 in the network rightfully so, as they are physically connected. I have DS402 drive on Index 0, Another DS402 drive on Index 1, then EK1100 on index 2 and EL7041 on index 3. Seeing this topology, I had allocated index # 3 in the header program. However that did not seem to work.
I then changed the index from 3 to 2 and recompiled everything and it was finally able to see the devices connected. Is that normal ?

Hi @rdhillon,

Yes that is normally. The AxisGet function only considers things with axes associated with it. Nodes are different sort of index. Consider the following topology…
A multi-axis node with 2 axes. → Node index 0, Axis indexes 0 and 1.
An EK1100 base module. → Node Index 1
3 nodes of IO of various types. → Node Indexes 2,3,4
A multi-axis node with 3 axes. → Node Index 5, Axis Index 2,3,4
A single axis node. → Node Index 6, Axis Index 5.