Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000e037cb690
-[GDTCORStorage encodeWithCoder:]
CoreUI: deallocating _CUIInternalLinkRendition 7600 /private/var/containers/Bundle/Application/84BEFDCB-5A0B-4345-B15B-FFE9E99C0CD2/MyApp.app/Assets.car
Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x1a3ae0fb0 objc_msgSend + 16
1 Foundation 0x1a418664c _encodeObject + 212
2 Foundation 0x1a4105aec -[NSOrderedSet(NSOrderedSet) encodeWithCoder:] + 268
3 Foundation 0x1a4186a34 _encodeObject + 1212
4 MyInternalAppCoreServices 0x10567f90c -[GDTCORStorage encodeWithCoder:] + 312 (GDTCORStorage.m:312)
5 Foundation 0x1a4186a34 _encodeObject + 1212
6 Foundation 0x1a4099e8c +[NSKeyedArchiver archivedDataWithRootObject:requiringSecureCoding:error:] + 116
7 MyInternalAppCoreServices 0x10567f554 -[GDTCORStorage appWillTerminate:] + 261 (GDTCORStorage.m:261)
8 MyInternalAppCoreServices 0x10567cb88 -[GDTCORLifecycle applicationWillTerminate:] + 109 (GDTCORLifecycle.m:109)
9 Foundation 0x1a419706c __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_2 + 28
10 CoreFoundation 0x1a3d2499c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 28
11 CoreFoundation 0x1a3d249ec ___CFXRegistrationPost1_block_invoke + 68
12 CoreFoundation 0x1a3d23ce4 _CFXRegistrationPost1 + 396
13 CoreFoundation 0x1a3d2397c ___CFXNotificationPost_block_invoke + 108
14 CoreFoundation 0x1a3c9c910 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1424
15 CoreFoundation 0x1a3d232ac _CFXNotificationPost + 1268
16 Foundation 0x1a4085bfc -[NSNotificationCenter postNotificationName:object:userInfo:] + 64
17 MyInternalAppCoreServices 0x10567d158 -[GDTCORApplication iOSApplicationWillTerminate:] + 164 (GDTCORPlatform.m:164)
18 Foundation 0x1a419706c __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_2 + 28
19 CoreFoundation 0x1a3d2499c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 28
20 CoreFoundation 0x1a3d249ec ___CFXRegistrationPost1_block_invoke + 68
21 CoreFoundation 0x1a3d23ce4 _CFXRegistrationPost1 + 396
22 CoreFoundation 0x1a3d2397c ___CFXNotificationPost_block_invoke + 108
23 CoreFoundation 0x1a3c9c910 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1424
24 CoreFoundation 0x1a3d232ac _CFXNotificationPost + 1268
25 Foundation 0x1a4085bfc -[NSNotificationCenter postNotificationName:object:userInfo:] + 64
26 UIKitCore 0x1a7ec00d8 -[UIApplication _terminateWithStatus:] + 304
27 UIKitCore 0x1a765183c -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 128
28 UIKitCore 0x1a7651498 -[_UISceneLifecycleMultiplexer forceExitWithTransitionContext:scene:] + 220
29 UIKitCore 0x1a7eb62b4 -[UIApplication workspaceShouldExit:withTransitionContext:] + 216
30 FrontBoardServices 0x1a8fa798c -[FBSUIApplicationWorkspaceShim workspaceShouldExit:withTransitionContext:] + 88
31 FrontBoardServices 0x1a8fd5264 __83-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:withAcknowledgement:]_block_invoke_2 + 80
32 FrontBoardServices 0x1a8fb9ef4 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 240
33 FrontBoardServices 0x1a8fd51f0 __83-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:withAcknowledgement:]_block_invoke + 140
34 libdispatch.dylib 0x1a3a71fd8 _dispatch_client_callout + 20
35 libdispatch.dylib 0x1a3a74d1c _dispatch_block_invoke_direct + 264
36 FrontBoardServices 0x1a8ffc254 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 48
37 FrontBoardServices 0x1a8ffbf00 -[FBSSerialQueue _queue_performNextIfPossible] + 432
38 FrontBoardServices 0x1a8ffc46c -[FBSSerialQueue _performNextFromRunLoopSource] + 32
39 CoreFoundation 0x1a3d48108 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
40 CoreFoundation 0x1a3d4805c __CFRunLoopDoSource0 + 84
41 CoreFoundation 0x1a3d477c8 __CFRunLoopDoSources0 + 184
42 CoreFoundation 0x1a3d42694 __CFRunLoopRun + 1068
43 CoreFoundation 0x1a3d41f40 CFRunLoopRunSpecific + 480
44 GraphicsServices 0x1adfbf534 GSEventRunModal + 108
45 UIKitCore 0x1a7ebaa60 UIApplicationMain + 1940
46 MyMyInternalApp 0x10425f5fc main + 14 (LogoutResponder.swift:14)
47 libdyld.dylib 0x1a3bc0e18 start + 4
Podfile.lock
PODS:
- Alamofire (4.9.1)
- Crashlytics (3.14.0):
- Fabric (~> 1.10.2)
- CryptoSwift (1.2.0)
- DifferenceKit (1.1.4):
- DifferenceKit/Core (= 1.1.4)
- DifferenceKit/UIKitExtension (= 1.1.4)
- DifferenceKit/Core (1.1.4)
- DifferenceKit/UIKitExtension (1.1.4):
- DifferenceKit/Core
- Fabric (1.10.2)
- Firebase/Core (6.13.0):
- Firebase/CoreOnly
- FirebaseAnalytics (= 6.1.6)
- Firebase/CoreOnly (6.13.0):
- FirebaseCore (= 6.4.0)
- Firebase/Performance (6.13.0):
- Firebase/CoreOnly
- FirebasePerformance (~> 3.1.7)
- Firebase/RemoteConfig (6.13.0):
- Firebase/CoreOnly
- FirebaseRemoteConfig (~> 4.4.5)
- FirebaseABTesting (3.1.2):
- FirebaseAnalyticsInterop (~> 1.3)
- FirebaseCore (~> 6.1)
- Protobuf (>= 3.9.2, ~> 3.9)
- FirebaseAnalytics (6.1.6):
- FirebaseCore (~> 6.4)
- FirebaseInstanceID (~> 4.2)
- GoogleAppMeasurement (= 6.1.6)
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (= 0.3.9011)
- FirebaseAnalyticsInterop (1.4.0)
- FirebaseCore (6.4.0):
- FirebaseCoreDiagnostics (~> 1.0)
- FirebaseCoreDiagnosticsInterop (~> 1.0)
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/Logger (~> 6.2)
- FirebaseCoreDiagnostics (1.1.2):
- FirebaseCoreDiagnosticsInterop (~> 1.0)
- GoogleDataTransportCCTSupport (~> 1.0)
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/Logger (~> 6.2)
- nanopb (~> 0.3.901)
- FirebaseCoreDiagnosticsInterop (1.1.0)
- FirebaseInstanceID (4.2.7):
- FirebaseCore (~> 6.0)
- GoogleUtilities/Environment (~> 6.0)
- GoogleUtilities/UserDefaults (~> 6.0)
- FirebasePerformance (3.1.7):
- FirebaseCore (~> 6.4)
- FirebaseInstanceID (~> 4.2)
- FirebaseRemoteConfig (~> 4.4)
- GoogleToolboxForMac/Logger (~> 2.1)
- "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/ISASwizzler (~> 6.2)
- GoogleUtilities/MethodSwizzler (~> 6.2)
- GTMSessionFetcher/Core (~> 1.1)
- Protobuf (~> 3.9)
- FirebaseRemoteConfig (4.4.5):
- FirebaseABTesting (~> 3.1)
- FirebaseAnalyticsInterop (~> 1.4)
- FirebaseCore (~> 6.2)
- FirebaseInstanceID (~> 4.2)
- GoogleUtilities/Environment (~> 6.2)
- "GoogleUtilities/NSData+zlib (~> 6.2)"
- Protobuf (>= 3.9.2, ~> 3.9)
- GoogleAnalytics (3.17.0)
- GoogleAppMeasurement (6.1.6):
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (= 0.3.9011)
- GoogleDataTransport (3.2.0)
- GoogleDataTransportCCTSupport (1.2.2):
- GoogleDataTransport (~> 3.2)
- nanopb (~> 0.3.901)
- GoogleSymbolUtilities (1.1.2)
- GoogleTagManager (7.1.2):
- FirebaseAnalytics (~> 6.0)
- GoogleAnalytics (~> 3.17)
- GoogleUtilitiesLegacy (~> 1.3)
- GoogleToolboxForMac/Defines (2.2.2)
- GoogleToolboxForMac/Logger (2.2.2):
- GoogleToolboxForMac/Defines (= 2.2.2)
- "GoogleToolboxForMac/NSData+zlib (2.2.2)":
- GoogleToolboxForMac/Defines (= 2.2.2)
- GoogleUtilities/AppDelegateSwizzler (6.3.2):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Environment (6.3.2)
- GoogleUtilities/ISASwizzler (6.3.2)
- GoogleUtilities/Logger (6.3.2):
- GoogleUtilities/Environment
- GoogleUtilities/MethodSwizzler (6.3.2):
- GoogleUtilities/Logger
- GoogleUtilities/Network (6.3.2):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (6.3.2)"
- GoogleUtilities/Reachability (6.3.2):
- GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (6.3.2):
- GoogleUtilities/Logger
- GoogleUtilitiesLegacy (1.3.2):
- GoogleSymbolUtilities (~> 1.1)
- GTMSessionFetcher/Core (1.3.0)
- MyInternalAppPaySDK (4.4.0):
- Alamofire
- CryptoSwift
- iOSSnapshotTestCase (6.1.0):
- iOSSnapshotTestCase/SwiftSupport (= 6.1.0)
- iOSSnapshotTestCase/Core (6.1.0)
- iOSSnapshotTestCase/SwiftSupport (6.1.0):
- iOSSnapshotTestCase/Core
- KeychainSwift (12.0.0)
- Kingfisher (4.10.0)
- lottie-ios (3.1.2)
- nanopb (0.3.9011):
- nanopb/decode (= 0.3.9011)
- nanopb/encode (= 0.3.9011)
- nanopb/decode (0.3.9011)
- nanopb/encode (0.3.9011)
- Protobuf (3.11.1)
- RxSwift (5.0.1)
- RxTest (5.0.1):
- RxSwift (~> 5)
- SwiftFormat/CLI (0.42.0)
- SwiftLint (0.27.0)
DEPENDENCIES:
- Crashlytics
- DifferenceKit
- Firebase/Core (~> 6.13.0)
- Firebase/Performance (~> 6.13.0)
- Firebase/RemoteConfig (~> 6.13.0)
- GoogleTagManager
- "MyInternalAppPaySDK (from `[email protected]:pos-dev/MyInternalAppPaySDK_iOS.git`, tag `4.4.0`)"
- iOSSnapshotTestCase (from `https://github.com/Harmek/ios-snapshot-test-case.git`)
- KeychainSwift (= 12.0.0)
- Kingfisher (= 4.10.0)
- lottie-ios (= 3.1.2)
- RxSwift (~> 5.0.0)
- RxTest
- SwiftFormat/CLI
- SwiftLint (= 0.27.0)
SPEC REPOS:
https://github.com/cocoapods/specs.git:
- Alamofire
- Crashlytics
- CryptoSwift
- DifferenceKit
- Fabric
- Firebase
- FirebaseABTesting
- FirebaseAnalytics
- FirebaseAnalyticsInterop
- FirebaseCore
- FirebaseCoreDiagnostics
- FirebaseCoreDiagnosticsInterop
- FirebaseInstanceID
- FirebasePerformance
- FirebaseRemoteConfig
- GoogleAnalytics
- GoogleAppMeasurement
- GoogleDataTransport
- GoogleDataTransportCCTSupport
- GoogleSymbolUtilities
- GoogleTagManager
- GoogleToolboxForMac
- GoogleUtilities
- GoogleUtilitiesLegacy
- GTMSessionFetcher
- KeychainSwift
- Kingfisher
- lottie-ios
- nanopb
- Protobuf
- RxSwift
- RxTest
- SwiftFormat
- SwiftLint
EXTERNAL SOURCES:
MyInternalAppPaySDK:
:git: "[email protected]:pos-dev/MyInternalAppPaySDK_iOS.git"
:tag: 4.4.0
iOSSnapshotTestCase:
:git: https://github.com/Harmek/ios-snapshot-test-case.git
CHECKOUT OPTIONS:
MyInternalAppPaySDK:
:git: "[email protected]:pos-dev/MyInternalAppPaySDK_iOS.git"
:tag: 4.4.0
iOSSnapshotTestCase:
:commit: b608fdc7d672d3c732d0e0d5261332db0fba932d
:git: https://github.com/Harmek/ios-snapshot-test-case.git
SPEC CHECKSUMS:
Alamofire: 85e8a02c69d6020a0d734f6054870d7ecb75cf18
Crashlytics: 540b7e5f5da5a042647227a5e3ac51d85eed06df
CryptoSwift: 40e374e45291d8dceedcb0d6184da94533eaabdf
DifferenceKit: d7e8a7edd2ae706f1e1f05c8103d4cf858e04b78
Fabric: 706c8b8098fff96c33c0db69cbf81f9c551d0d74
Firebase: 458d109512200d1aca2e1b9b6cf7d68a869a4a46
FirebaseABTesting: 0d10f3cdc3fa00f3f175b5b56c1003c8e888299f
FirebaseAnalytics: 45f36d9c429fc91d206283900ab75390cd05ee8a
FirebaseAnalyticsInterop: d48b6ab67bcf016a05e55b71fc39c61c0cb6b7f3
FirebaseCore: 307ea2508df730c5865334e41965bd9ea344b0e5
FirebaseCoreDiagnostics: 511f4f3ed7d440bb69127e8b97c2bc8befae639e
FirebaseCoreDiagnosticsInterop: e9b1b023157e3a2fc6418b5cb601e79b9af7b3a0
FirebaseInstanceID: ebd2ea79ee38db0cb5f5167b17a0d387e1cc7b6e
FirebasePerformance: 22273a775eaed4cd3e072c9b88396a5e4b285c3f
FirebaseRemoteConfig: 6ad68503c04701b8d9d709240711bc0bf6edaf94
GoogleAnalytics: f42cc53a87a51fe94334821868d9c8481ff47a7b
GoogleAppMeasurement: dfe55efa543e899d906309eaaac6ca26d249862f
GoogleDataTransport: 8e9b210c97d55fbff306cc5468ff91b9cb32dcf5
GoogleDataTransportCCTSupport: ef79a4728b864946a8aafdbab770d5294faf3b5f
GoogleSymbolUtilities: 631ee17048aa5e9ab133470d768ea997a5ef9b96
GoogleTagManager: 1821fef94a9648b63c6c3469077adcba4bff8dee
GoogleToolboxForMac: 800648f8b3127618c1b59c7f97684427630c5ea3
GoogleUtilities: 547a86735c6f0ee30ad17e94df4fc21f616b71cb
GoogleUtilitiesLegacy: 5501bedec1646bd284286eb5fc9453f7e23a12f4
GTMSessionFetcher: 43b8b64263023d4f32caa0b40f4c8bfa3c5f36d8
MyInternalAppPaySDK: ef8dfd0cb2d64924b181a0f617eff6b9472a6219
iOSSnapshotTestCase: 7de154eb02641691d553d832c66bcff9a45c4414
KeychainSwift: d5e776578587ee5958ce36601df22f168f65138a
Kingfisher: 43c4b802d8b5256cf1f4379e9cd10b329be6d3e2
lottie-ios: 49cd85b1f24f61a7708ad7ec76a523ab2d0e3100
nanopb: 18003b5e52dab79db540fe93fe9579f399bd1ccd
Protobuf: 20d79da7f20b5928b80043b05080b816e802659e
RxSwift: e2dc62b366a3adf6a0be44ba9f405efd4c94e0c4
RxTest: 0132f952a61da82d5233abedaa559df91e5330e5
SwiftFormat: 5faa819600268dfaa5c19f1359730883db151678
SwiftLint: 3207c1faa2240bf8973b191820a116113cd11073
PODFILE CHECKSUM: ca26942263baf055f72116e1ad2764308b6b778a
COCOAPODS: 1.7.5
Getting a very small number of reported crashes on this. Might be related to https://github.com/firebase/firebase-ios-sdk/issues/4280.
I found a few problems with this issue:
I have the same crash.
# Date: 2020-01-06T10:50:00Z
# OS Version: 13.1.3 (17A878)
# Device: iPhone X
# RAM Free: 4.6%
# Disk Free: 2.5%
#0. Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x1bbefd1a0 objc_msgSend + 32
1 Foundation 0x1bc587f54 _encodeObject + 208
2 Foundation 0x1bc50bf44 -[NSOrderedSet(NSOrderedSet) encodeWithCoder:] + 264
3 Foundation 0x1bc58833c _encodeObject + 1208
4 SwvlAnalyticsKit 0x1024637a0 -[GDTCORStorage encodeWithCoder:] + 313(GDTCORStorage.m:313)
5 Foundation 0x1bc58833c _encodeObject + 1208
6 Foundation 0x1bc4a2eb8 +[NSKeyedArchiver archivedDataWithRootObject:requiringSecureCoding:error:] + 112
7 SwvlAnalyticsKit 0x102463384 -[GDTCORStorage appWillTerminate:] + 262 (GDTCORStorage.m:262)
8 SwvlAnalyticsKit 0x1024607a4 -[GDTCORLifecycle applicationWillTerminate:] + 109 (GDTCORLifecycle.m:109)
9 CoreFoundation 0x1bc13409c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20
10 CoreFoundation 0x1bc1340e4 ___CFXRegistrationPost1_block_invoke + 64
11 CoreFoundation 0x1bc133444 _CFXRegistrationPost1 + 368
12 CoreFoundation 0x1bc1330fc ___CFXNotificationPost_block_invoke + 104
13 CoreFoundation 0x1bc0af43c -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1416
14 CoreFoundation 0x1bc132a4c _CFXNotificationPost + 1244
15 Foundation 0x1bc48f2d8 -[NSNotificationCenter postNotificationName:object:userInfo:] + 60
16 Swvl 0x100ab85cc -[GDTCORApplication iOSApplicationWillTerminate:] + 181 (GDTCORPlatform.m:181)
17 CoreFoundation 0x1bc13409c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20
18 CoreFoundation 0x1bc1340e4 ___CFXRegistrationPost1_block_invoke + 64
19 CoreFoundation 0x1bc133444 _CFXRegistrationPost1 + 368
20 CoreFoundation 0x1bc1330fc ___CFXNotificationPost_block_invoke + 104
21 CoreFoundation 0x1bc0af43c -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1416
22 CoreFoundation 0x1bc132a4c _CFXNotificationPost + 1244
23 Foundation 0x1bc48f2d8 -[NSNotificationCenter postNotificationName:object:userInfo:] + 60
24 UIKitCore 0x1c01eb9a4 -[UIApplication _terminateWithStatus:] + 300
25 UIKitCore 0x1bf9c0ec0 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 124
26 UIKitCore 0x1bf9c0b40 -[_UISceneLifecycleMultiplexer forceExitWithTransitionContext:scene:] + 216
27 UIKitCore 0x1c01e1edc -[UIApplication workspaceShouldExit:withTransitionContext:] + 212
28 FrontBoardServices 0x1c126ab00 -[FBSUIApplicationWorkspaceShim workspaceShouldExit:withTransitionContext:] + 84
29 FrontBoardServices 0x1c1296184 __83-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:withAcknowledgement:]_block_invoke_2 + 76
30 FrontBoardServices 0x1c127c0f8 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 232
31 FrontBoardServices 0x1c1296114 __83-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:withAcknowledgement:]_block_invoke + 124
32 libdispatch.dylib 0x1bbea6184 _dispatch_client_callout + 16
33 libdispatch.dylib 0x1bbe8044c _dispatch_block_invoke_direct$VARIANT$armv81 + 216
34 FrontBoardServices 0x1c12bb540 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 40
35 FrontBoardServices 0x1c12bb20c -[FBSSerialQueue _queue_performNextIfPossible] + 404
36 FrontBoardServices 0x1c12bb734 -[FBSSerialQueue _performNextFromRunLoopSource] + 28
37 CoreFoundation 0x1bc1567e0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
38 CoreFoundation 0x1bc156738 __CFRunLoopDoSource0 + 80
39 CoreFoundation 0x1bc155f20 __CFRunLoopDoSources0 + 260
40 CoreFoundation 0x1bc15101c __CFRunLoopRun + 1080
41 CoreFoundation 0x1bc1508bc CFRunLoopRunSpecific + 464
42 GraphicsServices 0x1c5fbc328 GSEventRunModal + 104
43 UIKitCore 0x1c01e66d4 UIApplicationMain + 1936
44 Swvl 0x100733e30 main + 17 (FetchUserProfileSettingsWorker.swift:17)
45 libdyld.dylib 0x1bbfdb460 start + 4
PODS:
- Adjust (4.18.3):
- Adjust/Core (= 4.18.3)
- Adjust/Core (4.18.3)
- Alamofire (4.7.3)
- Amplitude-iOS (4.0.4)
- AnimatedCollectionViewLayout (0.4.0)
- Appboy-iOS-SDK (3.20.1):
- Appboy-iOS-SDK/UI (= 3.20.1)
- Appboy-iOS-SDK/ContentCards (3.20.1):
- Appboy-iOS-SDK/Core
- SDWebImage (~> 5.0)
- Appboy-iOS-SDK/Core (3.20.1)
- Appboy-iOS-SDK/InAppMessage (3.20.1):
- Appboy-iOS-SDK/Core
- SDWebImage (~> 5.0)
- Appboy-iOS-SDK/NewsFeed (3.20.1):
- Appboy-iOS-SDK/Core
- SDWebImage (~> 5.0)
- Appboy-iOS-SDK/UI (3.20.1):
- Appboy-iOS-SDK/ContentCards
- Appboy-iOS-SDK/Core
- Appboy-iOS-SDK/InAppMessage
- Appboy-iOS-SDK/NewsFeed
- Cosmos (17.0.0)
- Crashlytics (3.11.0):
- Fabric (~> 1.8.0)
- Fabric (1.8.0)
- FBSDKCoreKit (5.8.0):
- FBSDKCoreKit/Basics (= 5.8.0)
- FBSDKCoreKit/Core (= 5.8.0)
- FBSDKCoreKit/Basics (5.8.0)
- FBSDKCoreKit/Core (5.8.0):
- FBSDKCoreKit/Basics
- FBSDKCoreKit/Swift (5.8.0):
- FBSDKCoreKit/Core
- FBSDKLoginKit/Login (5.8.0):
- FBSDKCoreKit (~> 5.0)
- FBSDKLoginKit/Swift (5.8.0):
- FBSDKCoreKit/Swift (~> 5.8.0)
- FBSDKLoginKit/Login
- Firebase (6.11.0):
- Firebase/Core (= 6.11.0)
- Firebase/Core (6.11.0):
- Firebase/CoreOnly
- FirebaseAnalytics (= 6.1.3)
- Firebase/CoreOnly (6.11.0):
- FirebaseCore (= 6.3.2)
- Firebase/Messaging (6.11.0):
- Firebase/CoreOnly
- FirebaseMessaging (~> 4.1.7)
- FirebaseAnalytics (6.1.3):
- FirebaseCore (~> 6.3)
- FirebaseInstanceID (~> 4.2)
- GoogleAppMeasurement (= 6.1.3)
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (~> 0.3.901)
- FirebaseAnalyticsInterop (1.4.0)
- FirebaseCore (6.3.2):
- FirebaseCoreDiagnostics (~> 1.0)
- FirebaseCoreDiagnosticsInterop (~> 1.0)
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/Logger (~> 6.2)
- FirebaseCoreDiagnostics (1.1.1):
- FirebaseCoreDiagnosticsInterop (~> 1.0)
- GoogleDataTransportCCTSupport (~> 1.0)
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/Logger (~> 6.2)
- nanopb (~> 0.3.901)
- FirebaseCoreDiagnosticsInterop (1.0.0)
- FirebaseInstanceID (4.2.6):
- FirebaseCore (~> 6.0)
- GoogleUtilities/Environment (~> 6.0)
- GoogleUtilities/UserDefaults (~> 6.0)
- FirebaseMessaging (4.1.7):
- FirebaseAnalyticsInterop (~> 1.3)
- FirebaseCore (~> 6.2)
- FirebaseInstanceID (~> 4.1)
- GoogleUtilities/AppDelegateSwizzler (~> 6.2)
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/Reachability (~> 6.2)
- GoogleUtilities/UserDefaults (~> 6.2)
- Protobuf (>= 3.9.2, ~> 3.9)
- FormTextField (2.0.1)
- GoogleAppMeasurement (6.1.3):
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (~> 0.3.901)
- GoogleDataTransport (3.0.1)
- GoogleDataTransportCCTSupport (1.2.1):
- GoogleDataTransport (~> 3.0)
- nanopb (~> 0.3.901)
- GoogleMaps (3.5.0):
- GoogleMaps/Maps (= 3.5.0)
- GoogleMaps/Base (3.5.0)
- GoogleMaps/Maps (3.5.0):
- GoogleMaps/Base
- GoogleSignIn (4.1.2):
- "GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)"
- "GoogleToolboxForMac/NSString+URLArguments (~> 2.1)"
- GTMOAuth2 (~> 1.0)
- GTMSessionFetcher/Core (~> 1.1)
- GoogleToolboxForMac/DebugUtils (2.2.2):
- GoogleToolboxForMac/Defines (= 2.2.2)
- GoogleToolboxForMac/Defines (2.2.2)
- "GoogleToolboxForMac/NSDictionary+URLArguments (2.2.2)":
- GoogleToolboxForMac/DebugUtils (= 2.2.2)
- GoogleToolboxForMac/Defines (= 2.2.2)
- "GoogleToolboxForMac/NSString+URLArguments (= 2.2.2)"
- "GoogleToolboxForMac/NSString+URLArguments (2.2.2)"
- GoogleUtilities/AppDelegateSwizzler (6.3.1):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Environment (6.3.1)
- GoogleUtilities/Logger (6.3.1):
- GoogleUtilities/Environment
- GoogleUtilities/MethodSwizzler (6.3.1):
- GoogleUtilities/Logger
- GoogleUtilities/Network (6.3.1):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (6.3.1)"
- GoogleUtilities/Reachability (6.3.1):
- GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (6.3.1):
- GoogleUtilities/Logger
- GTMOAuth2 (1.1.6):
- GTMSessionFetcher (~> 1.1)
- GTMSessionFetcher (1.3.0):
- GTMSessionFetcher/Full (= 1.3.0)
- GTMSessionFetcher/Core (1.3.0)
- GTMSessionFetcher/Full (1.3.0):
- GTMSessionFetcher/Core (= 1.3.0)
- InputBarAccessoryView (4.2.2)
- Instructions (1.2.0)
- IQKeyboardManagerSwift (6.4.2)
- Kingfisher (4.10.1)
- KMPlaceholderTextView (1.4.0)
- Marshal (1.2.7)
- MessageKit (3.0.0):
- InputBarAccessoryView (~> 4.2.2)
- Mixpanel-swift (2.6.6):
- Mixpanel-swift/Complete (= 2.6.6)
- Mixpanel-swift/Complete (2.6.6)
- nanopb (0.3.901):
- nanopb/decode (= 0.3.901)
- nanopb/encode (= 0.3.901)
- nanopb/decode (0.3.901)
- nanopb/encode (0.3.901)
- PhoneNumberKit (2.5.0):
- PhoneNumberKit/PhoneNumberKitCore (= 2.5.0)
- PhoneNumberKit/UIKit (= 2.5.0)
- PhoneNumberKit/PhoneNumberKitCore (2.5.0)
- PhoneNumberKit/UIKit (2.5.0):
- PhoneNumberKit/PhoneNumberKitCore
- Protobuf (3.10.0)
- SDWebImage (5.2.5):
- SDWebImage/Core (= 5.2.5)
- SDWebImage/Core (5.2.5)
- Shimmer (1.0.2)
- SkyFloatingLabelTextField (3.7.0)
- SlideMenuControllerSwift (4.0.0)
- Socket.IO-Client-Swift (13.3.1):
- Starscream (~> 3.0.2)
- Starscream (3.0.6)
- SVProgressHUD (2.2.5)
- SwiftDate (6.0.3)
- UIScrollView-InfiniteScroll (1.1.0)
- Validator (3.2.1)
DEPENDENCIES:
- Adjust (= 4.18.3)
- Alamofire (= 4.7.3)
- Amplitude-iOS (= 4.0.4)
- AnimatedCollectionViewLayout (= 0.4.0)
- Appboy-iOS-SDK (= 3.20.1)
- Cosmos (= 17.0.0)
- Crashlytics (= 3.11)
- Fabric (= 1.8)
- FBSDKLoginKit/Swift (= 5.8.0)
- Firebase
- Firebase/Core (= 6.11.0)
- Firebase/Messaging (= 6.11.0)
- FormTextField (= 2.0.1)
- GoogleMaps (= 3.5.0)
- GoogleSignIn (= 4.1.2)
- Instructions (= 1.2)
- IQKeyboardManagerSwift (= 6.4.2)
- Kingfisher (= 4.10.1)
- KMPlaceholderTextView (= 1.4.0)
- Marshal (= 1.2.7)
- MessageKit (= 3.0.0)
- Mixpanel-swift (= 2.6.6)
- nanopb (= 0.3.901)
- PhoneNumberKit (= 2.5.0)
- Shimmer (= 1.0.2)
- SkyFloatingLabelTextField (= 3.7.0)
- SlideMenuControllerSwift (= 4.0.0)
- Socket.IO-Client-Swift (= 13.3.1)
- SVProgressHUD (= 2.2.5)
- SwiftDate (= 6.0.3)
- UIScrollView-InfiniteScroll (= 1.1.0)
- Validator (= 3.2.1)
SPEC REPOS:
trunk:
- Adjust
- Alamofire
- Amplitude-iOS
- AnimatedCollectionViewLayout
- Appboy-iOS-SDK
- Cosmos
- Crashlytics
- Fabric
- FBSDKCoreKit
- FBSDKLoginKit
- Firebase
- FirebaseAnalytics
- FirebaseAnalyticsInterop
- FirebaseCore
- FirebaseCoreDiagnostics
- FirebaseCoreDiagnosticsInterop
- FirebaseInstanceID
- FirebaseMessaging
- FormTextField
- GoogleAppMeasurement
- GoogleDataTransport
- GoogleDataTransportCCTSupport
- GoogleMaps
- GoogleSignIn
- GoogleToolboxForMac
- GoogleUtilities
- GTMOAuth2
- GTMSessionFetcher
- InputBarAccessoryView
- Instructions
- IQKeyboardManagerSwift
- Kingfisher
- KMPlaceholderTextView
- Marshal
- MessageKit
- Mixpanel-swift
- nanopb
- PhoneNumberKit
- Protobuf
- SDWebImage
- Shimmer
- SkyFloatingLabelTextField
- SlideMenuControllerSwift
- Socket.IO-Client-Swift
- Starscream
- SVProgressHUD
- SwiftDate
- UIScrollView-InfiniteScroll
- Validator
SPEC CHECKSUMS:
Adjust: fef133f0bf610d439953b50306372c68c625d7e9
Alamofire: c7287b6e5d7da964a70935e5db17046b7fde6568
Amplitude-iOS: 2ad4d7270c99186236c1272a3a9425463b1ae1a7
AnimatedCollectionViewLayout: f0295119f94d8492fc6ac39e2ced64a471b12699
Appboy-iOS-SDK: 98c00597dafd00e3db6141e73e872b649fb8d7dd
Cosmos: 309e489f21ffc91a1eeecfebef7f817cd2fcfba6
Crashlytics: 1448070c1d2731ab71ea7c3faf84ac0f69657287
Fabric: 4ac1cdfef3004ccd83ce0959b91eda8a6e37df72
FBSDKCoreKit: e7dcac0aabcfb09d0166998edd95fe3b05a0ce5d
FBSDKLoginKit: 1b0cf04df0370b37404213157b060d6666ede814
Firebase: bc9cfc7a96c73268656d5aaab453ff1b4b530e0e
FirebaseAnalytics: 0e3ecff2c5d86070f7d4325e21f1edabfbd558dc
FirebaseAnalyticsInterop: d48b6ab67bcf016a05e55b71fc39c61c0cb6b7f3
FirebaseCore: beeff42c07c30ea94702471d99db2089b594fbbd
FirebaseCoreDiagnostics: af29e43048607588c050889d19204f4d7b758c9f
FirebaseCoreDiagnosticsInterop: 6829da2b8d1fc795ff1bd99df751d3788035d2cb
FirebaseInstanceID: d0eafcd8bdbd3447cd694594734078c3e3e77d8b
FirebaseMessaging: 5ab57080c83bc98c9961412e1dab379f4193d02a
FormTextField: 061cd39ee77d5fb3d87b2e5a00728e2c874b3904
GoogleAppMeasurement: 434cc7be25e71dc04b8d0e3079125127b330e84a
GoogleDataTransport: 166f9b9f82cbf60a204e8fe2daa9db3e3ec1fb15
GoogleDataTransportCCTSupport: f6ab1962e9dc05ab1fb938b795e5b310209edeec
GoogleMaps: 32ca02de09de357a10ac773f2c70f1986751392d
GoogleSignIn: d9ef55b10f0aa401a5de2747f59b725e4b9732ac
GoogleToolboxForMac: 800648f8b3127618c1b59c7f97684427630c5ea3
GoogleUtilities: f895fde57977df4e0233edda0dbeac490e3703b6
GTMOAuth2: e8b6512c896235149df975c41d9a36c868ab7fba
GTMSessionFetcher: 43b8b64263023d4f32caa0b40f4c8bfa3c5f36d8
InputBarAccessoryView: 2b937602598e2fab3149f37f51dd7ad795653812
Instructions: 763c2452bd78e05d8f969a21c1cbc3c07deef33a
IQKeyboardManagerSwift: 79a3ec200dfb41cb66a89b8575417b5378107c5d
Kingfisher: c148cd7b47ebde9989f6bc7c27dcaa79d81279a0
KMPlaceholderTextView: 2206c3df39979e9396e2d96fa9f427a8951121b0
Marshal: ef480864a6af10a63f67be7e55bb5d8fe67a16d9
MessageKit: e892a9ca49ebe6d82684d3a93ad84021fa23e2c6
Mixpanel-swift: 39c6c0331336d7d0d5ded8936db7c96955d5c11b
nanopb: 2901f78ea1b7b4015c860c2fdd1ea2fee1a18d48
PhoneNumberKit: 32a1cd1e0aa9e950feb01886a22fd7386b8cf903
Protobuf: a4dc852ad69c027ca2166ed287b856697814375b
SDWebImage: 4eabf2fa6695c95c47724214417a9c036c965e4a
Shimmer: c5374be1c2b0c9e292fb05b339a513cf291cac86
SkyFloatingLabelTextField: 4b46db0ab1ccde0919cded29c656e6b4805eda04
SlideMenuControllerSwift: 021d6318201c53d4d4d3710517d43d6c556c7dd0
Socket.IO-Client-Swift: 79f8f85fa44881838175a20f9bd2c32bef2c9d37
Starscream: ef3ece99d765eeccb67de105bfa143f929026cf5
SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6
SwiftDate: 8d4f14bf1ef68e95094511504856547bf9e3e1a6
UIScrollView-InfiniteScroll: 3ef456bcbe759c19f510a383cff96e6647c98c98
Validator: 80a6f567220c962dfd2d9928ae98a8c1d164f6f4
PODFILE CHECKSUM: 52442bbbe42bd9722f959cf923ffad330fde0e6f
COCOAPODS: 1.8.4
How many of your users are encountering this? Is it reproducible? I'm fairly confident this a low-probability crash occurring on a resource constrained phone. Soon, I'll complete a refactor that gets rid of this code, but that might be a month or so away.
I believe this is only impacting a very small number of users.
How many of your users are encountering this? Is it reproducible? I'm fairly confident this a low-probability occuring on a resource constrained phone. Soon, I'll complete a refactor that gets rid of this code, but that might be a month or so away.
I have 21 crashes in the last 7 days.
I'd ask for your patience while I work on removing NSCoding from the SDK, and I'll update this bug in the future when I push the changes (work is occurring at https://github.com/firebase/firebase-ios-sdk/tree/mph-gdtsqlite)
Test Case '-[GDTCORStorageTest testCrash]' started.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
frame #0: 0x00007fff513f778b libobjc.A.dylib`objc_msgSend + 11
frame #1: 0x00007fff2572e0ad Foundation`_encodeObject + 190
frame #2: 0x00007fff257f9cbe Foundation`-[NSOrderedSet(NSOrderedSet) encodeWithCoder:] + 316
frame #3: 0x00007fff2572e48e Foundation`_encodeObject + 1183
* frame #4: 0x000000010d00cd09 GoogleDataTransport-iOS-Unit-Tests-Unit`-[GDTCORStorage encodeWithCoder:](self=0x00007fea8024c640, _cmd="encodeWithCoder:", aCoder=0x00007fea7e43f950) at GDTCORStorage.m:332:5
Test case:
- (void)testCrash {
NSInteger index = 1;
do {
NSString *mappingID = [NSString stringWithFormat:@"%ld", index];
NSString *testString = [NSString stringWithFormat:@"testString %ld", index];
GDTCOREvent *event = [[GDTCOREvent alloc] initWithMappingID:mappingID target:target];
event.dataObjectTransportBytes = [testString dataUsingEncoding:NSUTF8StringEncoding];
event.clockSnapshot = [GDTCORClock snapshot];
XCTestExpectation *writtenExpectation = [self expectationWithDescription:@"event written"];
XCTAssertNoThrow([[GDTCORStorage sharedInstance] storeEvent:event
onComplete:^(BOOL wasWritten, NSError *error) {
XCTAssertTrue(wasWritten);
[writtenExpectation fulfill];
}]);
[self waitForExpectationsWithTimeout:10 handler:nil];
if (index % 5 == 0) {
[[GDTCORStorage sharedInstance] removeEvents:[GDTCORStorage sharedInstance].storedEvents.set];
}
index += 1;
[NSNotificationCenter.defaultCenter postNotificationName:UIApplicationWillTerminateNotification object:nil];
if (index > 10000) {
break;
}
} while (true);
}
All write access to GDTCORStorage->__targetToEventSet is done via _storageQueue. But in appWillTerminate you're accessing __targetToEventSet from the main thread, which is probably causing the crash if at the same time __targetToEventSet is being written from _storageQueue.
Doh, I was missing a dispatch_sync in appWillTerminate. Thanks for the test case, I'll include it in a PR shortly. Double checked: all the other singletons have dispatch_syncs in them to finish work.
Most helpful comment
Doh, I was missing a dispatch_sync in appWillTerminate. Thanks for the test case, I'll include it in a PR shortly. Double checked: all the other singletons have dispatch_syncs in them to finish work.