Hi,
I start 22 programs on the same computer, and some error come out.
"incompatible shared memory segment found.\n All applications using NDDS must use compatible shared memory protocols."
I use the default setting properties for shmem, and QOS setting like this
datawriter_qos.writer_data_lifecycle.autodispose_unregistered_instances = TRUE;
datawriter_qos.durability.kind = DDS_VOLATILE_DURABILITY_QOS;
datawriter_qos.history.kind = DDS_KEEP_LAST_HISTORY_QOS;
datawriter_qos.history.depth = 10;
datawriter_qos.resource_limits.max_samples_per_instance = MAX_SAMPLES_PER_INSTANCE;
datawriter_qos.destination_order.kind = DDS_BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS;
datareader_qos.durability.kind = DDS_VOLATILE_DURABILITY_QOS;
datareader_qos.history.kind = DDS_KEEP_LAST_HISTORY_QOS;
datareader_qos.history.depth = 10;
datareader_qos.resource_limits.max_samples_per_instance = MAX_SAMPLES_PER_INSTANCE;
datareader_qos.destination_order.kind = DDS_BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS;
What is the most posssible reason?
This is documented.
One of your publishers/subscribers is from an earlier version of RTI DDS.
https://community.rti.com/search/site/incompatible%20shmem
all of the programs are 5.2.0
mIght be a resource issue with # of shared memory segments available to the OS. 22 applications means 22 different participants, which could have issues in all sorts of resource constraints.
But otherwise... Dunno.