You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Connection is dropped shortly after success because of absent heartbeat.
Reproduction steps
Update to 0.12.0
Create an RMQConnection instance with some heartbeat interval, 2 seconds for example
Connect
In several seconds connection is closed by remote peer. Server logs report there were no heartbeats.
Expected behavior
Connection is long-lived
Additional context
Debugged this to the -[RMQConnection start:] method, upon completion of a handshake the first thing the connection does is [strongThis.heartbeatSender startWithInterval:@(heartbeatTimeout.integerValue / 2)];, but the heartbeatSender is nil. heartbeatSender was created during the initialization, though. Found it has been made weak in #194.
The text was updated successfully, but these errors were encountered:
michaelklishin
changed the title
Memory leaks management introduced in 0.12.0 breaks the heartbeat and connection
Heartbeat sender being a weak ref can cause the client to miss sending heartbeats
Nov 24, 2023
Describe the bug
Connection is dropped shortly after success because of absent heartbeat.
Reproduction steps
Expected behavior
Connection is long-lived
Additional context
Debugged this to the
-[RMQConnection start:]
method, upon completion of a handshake the first thing the connection does is[strongThis.heartbeatSender startWithInterval:@(heartbeatTimeout.integerValue / 2)];
, but the heartbeatSender is nil. heartbeatSender was created during the initialization, though. Found it has been made weak in #194.The text was updated successfully, but these errors were encountered: