From bae050480ab82093420e4892025034ee6ceda817 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Mon, 31 Oct 2016 14:54:46 -0400 Subject: [PATCH] Debug logging around call init crash. // FREEBIE --- .../phone/signaling/CallConnectUtil_Server.m | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/Signal/src/phone/signaling/CallConnectUtil_Server.m b/Signal/src/phone/signaling/CallConnectUtil_Server.m index 18b07a8cc..8f94d4b6d 100644 --- a/Signal/src/phone/signaling/CallConnectUtil_Server.m +++ b/Signal/src/phone/signaling/CallConnectUtil_Server.m @@ -175,13 +175,21 @@ TOCFutureSource *futureResultSource = [TOCFutureSource futureSourceUntil:untilCancelledToken]; PacketHandlerBlock packetHandler = ^(id packet) { - if (![futureResultSource trySetResult:packet]) { - ; - errorHandler([IgnoredPacketFailure - new:@"Received another packet before relay socket events redirected to new handler."], - packet, - false); - } + bool success = [futureResultSource trySetResult:packet]; + if (success) { + // We were seeing a frequent crash in `if(![futureResultSource trySetResult:packet])` + // So I refactored as much to lengthen the retain time of `futureResultSource` as to + // provide actual debug information. + // + // No idea if it will help. ~mjk + DDLogDebug(@"Successfully set result for future result source:%@", futureResultSource); + } else { + DDLogWarn(@"Failed to set result for future result source:%@", futureResultSource); + errorHandler([IgnoredPacketFailure + new:@"Received another packet before relay socket events redirected to new handler."], + packet, + false); + } }; ErrorHandlerBlock socketErrorHandler = ^(id error, id relatedInfo, bool causedTermination) {