5.4.18. Hangs
5.4.18.1. [Critical] Potential deadlock when using TCP Transport on Windows systems if WINDOWS_WAITFORMULTIPLEOBJECTS was selected as the socket monitoring API
A potential deadlock occurred when using TCP Transport on Windows
systems if WINDOWS_WAITFORMULTIPLEOBJECTS was selected as the socket
monitoring API.
[RTI Issue ID CORE-14983]
5.4.18.2. [Major] Potential deadlock when using Durable Writer History if there was a failure while creating the connection
A potential deadlock occurred when using Durable Writer History if there was a failure while creating the connection.
[RTI Issue ID CORE-15130]
5.4.18.3. [Major] Potential deadlock when using DynamicData in Debug libraries if TypePlugin initialization failed
A potential deadlock occurred when using DynamicData in the Debug libraries if the TypePlugin initialization failed.
[RTI Issue ID CORE-14986]
5.4.18.4. [Major] Potential issues using rti.asyncio.run or asyncio.run with dds.DataReader.take_async
There were two potential issues running the take_async methods:
When the coroutine was run using
rti.asyncio.run, attempting to explicitly close aDomainParticipantafterward may have caused an exception.When the coroutine was run using
asyncio.run, a future call toasyncio.runfor a new coroutine using thetake_asyncmethods may have deadlocked.
These two issues have been resolved. Furthermore, starting in this
release, most applications may simply use asyncio.run instead of
rti.asyncio.run.
[RTI Issue ID PY-181]
5.4.18.5. [Major] RPC failures when serializing the return value or out/inout parameters caused a timeout on client side
When an operation has a return value or out/inout parameters,
serialization may fail under certain circumstances, such as if the
return value is a bounded string and you return a string with a length
that exceeds the bound. This failure produced a hang on the client side,
ending with a dds::core::TimeoutError exception.
Now, the client will receive dds::rpc::RemoteUnknownExceptionError,
letting the client know there’s an error on the service side, rather
than timing out. You can look at the service log to see the cause of the
serialization error.
[RTI Issue ID REQREPLY-245]