[rmw_connext_dynamic] "heap" corruption of the connext dynamic test_subscriber after receiving a message
The pub-sub test for connext dynamic on Windows fails.
Running the test_publisher works, and so does running the test_subscriber. But when run together the `test_subscriber crashes (on shutdown it looks like) after receiving the first message.
This is the error:
Unhandled exception at 0x00007FFF1ED30F20 (ntdll.dll) in test_subscriber__rmw_connext_dynamic_cpp.exe: 0xC0000374: A heap has been corrupted (parameters: 0x00007FFF1ED6DD40).
This is the back trace:
nddscpp.dll!DDSGuardCondition::`vector deleting destructor'(unsigned int) C++
> rmw_connext_dynamic_cpp.dll!rmw_destroy_guard_condition(rmw_guard_condition_t * guard_condition) Line 755 C++
test_subscriber__rmw_connext_dynamic_cpp.exe!rclcpp::executor::Executor::~Executor() Line 51 C++
test_subscriber__rmw_connext_dynamic_cpp.exe!rclcpp::executors::single_threaded_executor::SingleThreadedExecutor::~SingleThreadedExecutor() Line 45 C++
test_subscriber__rmw_connext_dynamic_cpp.exe!rclcpp::spin(std::shared_ptr<rclcpp::node::Node> & node_ptr) Line 77 C++
test_subscriber__rmw_connext_dynamic_cpp.exe!main(int argc, char * * argv) Line 41 C++
This looks like a double free. I'm looking into a way to fix it.
The curious thing is that this doesn't happen on Linux and OS X...
This actually seems like a memory corruption issue, since all of the tests and examples go through the same code path (through the Executor's destructor).
Not sure if this is still happens, we need to confirm it is still an issue or not.
Still not sure if this is still an issue, but since we're not currently supporting connext_dynamic, I'll put this into the backlog for the time being.
Closing, since with Foxy now being End-of-Life, this repository is no longer used.