DDSTheParticipantFactory->delete_participant(...) sleeping forever

2 posts / 0 new
Last post
Kaz
Offline
Last seen: 2 years 8 months ago
Joined: 01/24/2017
Posts: 1
DDSTheParticipantFactory->delete_participant(...) sleeping forever
AttachmentSize
Plain text icon ddslogger.txt32.59 KB

Hello !

Version used: I am using rti DDS 5.2.3.

Language used: C++.

Context: My application is a plugin for a software, I do not have access to the source code of this particular software.

Problem: When we are about to turn off the software, DDSTheParticipantFactory->delete_participant(...) return nothing and sleep for 1000 ms forever.

About my application:

Initialization (simplified, in order to let you know about what was inside my participant):

// Creates participant.

m_pDomainParticipant = DDSDomainParticipantFactory::get_instance()->create_participant(...);

// Registers Types.

DdsMyStruct1TypeSupport::register_type(...);

DdsMyStruct2TypeSupport::register_type(...);

// Creates MyStruct1 Topic.

m_pMyStruct1Topic = m_pDomainParticipant->create_topic();

// Creates filtered topic.

m_pMyStruct1FilteredTopic = m_pDomainParticipant->create_contentfilteredtopic(...);

// Creates MyStruct2 topic.

m_pMyStruct2Topic = m_pDomainParticipant->create_topic();

// Creates subscriber.

m_pSubscriber = m_pDomainParticipant->create_subscriber();

// Creates publisher.m_pPublisher = m_pDomainParticipant->create_publisher(...);

// Create DataReader.

m_pMyStruct1DataReader = (DdsMyStruct1DataReader*) m_pSubscriber->create_datareader(...);

// Create DataWriter

m_pMyStruct2DataWriter = (DdsMyStruct2DataWriter*) m_pPublisher->create_datawriter(...);


Destruction (simplified):
m_pDomainParticipant->delete_contained_entities();
DDSTheParticipantFactory->delete_participant(m_pDomainParticipant); // BUG
DDSDomainParticipantFactory::finalize_instance();

I have seen two topics with the same issue but I still don't understand my problem.

I tried to call WSAStartup before my cleaning method and WSACleanup() but it changes nothing.

Any help would be highly appreciated!

Please find attached a DDS log with verbosity set to NDDS_CONFIG_LOG_VERBOSITY_STATUS_ALL. The scenario for this log file is a start and close of the application.

Sorry for my clunky english :)

gianpiero's picture
Offline
Last seen: 6 months 1 week ago
Joined: 06/02/2010
Posts: 174

Hello,

I found this [here] forum thread that is about the same problem. Maybe that can help you?

Best,
  Gianpiero