-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Description
[REQUIRED] Step 2: Describe your environment
- Xcode version: 10.3
- Firebase SDK version: 6.6.0
- Firebase Component: FirebaseRemoteConfig
- Component version: 4.2.1
- Firebase/Analytics (6.6.0):
- Firebase/Core
- Firebase/Core (6.6.0):
- Firebase/CoreOnly
- FirebaseAnalytics (= 6.1.0)
- Firebase/CoreOnly (6.6.0):
- FirebaseCore (= 6.2.0)
- Firebase/DynamicLinks (6.6.0):
- Firebase/CoreOnly
- FirebaseDynamicLinks (~> 4.0.2)
- Firebase/Performance (6.6.0):
- Firebase/CoreOnly
- FirebasePerformance (~> 3.1.2)
- Firebase/RemoteConfig (6.6.0):
- Firebase/CoreOnly
- FirebaseRemoteConfig (~> 4.2.1)
- FirebaseABTesting (3.0.0):
- FirebaseCore (~> 6.0)
- Protobuf (~> 3.5)
- FirebaseAnalytics (6.1.0):
- FirebaseCore (~> 6.2)
- FirebaseInstanceID (~> 4.2)
- GoogleAppMeasurement (= 6.1.0)
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (~> 0.3)
- FirebaseAnalyticsInterop (1.3.0)
- FirebaseCore (6.2.0):
- FirebaseCoreDiagnostics (~> 1.0)
- FirebaseCoreDiagnosticsInterop (~> 1.0)
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/Logger (~> 6.2)
- FirebaseCoreDiagnostics (1.0.1):
- FirebaseCoreDiagnosticsInterop (~> 1.0)
- GoogleDataTransportCCTSupport (~> 1.0)
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/Logger (~> 6.2)
- FirebaseCoreDiagnosticsInterop (1.0.0)
- FirebaseDynamicLinks (4.0.2):
- FirebaseAnalyticsInterop (~> 1.3)
- FirebaseCore (~> 6.2)
- FirebaseInstanceID (4.2.3):
- FirebaseCore (~> 6.0)
- GoogleUtilities/Environment (~> 6.0)
- GoogleUtilities/UserDefaults (~> 6.0)
- FirebasePerformance (3.1.2):
- FirebaseCore (~> 6.2)
- FirebaseInstanceID (~> 4.2)
- FirebaseRemoteConfig (~> 4.2)
- GoogleToolboxForMac/Logger (~> 2.1)
- "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
- GoogleUtilities/Environment (~> 6.0)
- GoogleUtilities/ISASwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GTMSessionFetcher/Core (~> 1.1)
- Protobuf (~> 3.5)
- FirebaseRemoteConfig (4.2.1):
- FirebaseABTesting (~> 3.0)
- FirebaseCore (~> 6.1)
- FirebaseInstanceID (~> 4.2)
- GoogleUtilities/Environment (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- Protobuf (~> 3.5)
- GoogleAppMeasurement (6.1.0):
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (~> 0.3)
- GoogleDataTransport (1.1.1)
- GoogleDataTransportCCTSupport (1.0.1):
- GoogleDataTransport (~> 1.1)
- nanopb
- GoogleToolboxForMac/Defines (2.2.1)
- GoogleToolboxForMac/Logger (2.2.1):
- GoogleToolboxForMac/Defines (= 2.2.1)
- "GoogleToolboxForMac/NSData+zlib (2.2.1)":
- GoogleToolboxForMac/Defines (= 2.2.1)
- GoogleUtilities/AppDelegateSwizzler (6.2.5):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Environment (6.2.5)
- GoogleUtilities/ISASwizzler (6.2.5)
- GoogleUtilities/Logger (6.2.5):
- GoogleUtilities/Environment
- GoogleUtilities/MethodSwizzler (6.2.5):
- GoogleUtilities/Logger
- GoogleUtilities/Network (6.2.5):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (6.2.5)"
- GoogleUtilities/Reachability (6.2.5):
- GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (6.2.5):
- GoogleUtilities/Logger
- GTMSessionFetcher/Core (1.2.2)
- nanopb (0.3.901):
- nanopb/decode (= 0.3.901)
- nanopb/encode (= 0.3.901)
- nanopb/decode (0.3.901)
- nanopb/encode (0.3.901)
[REQUIRED] Step 3: Describe the problem
Looks like an ordinary crash because of mutation during enumeration. Nothing special is done in a client app: initialize SDK in background thread, wait till initialized, activate.
Steps to reproduce:
The issue is hardly reproducible – 1% of all the users experience it and only once.
Relevant Code:
__NSFastEnumerationMutationHandler
*** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x283977120> was mutated while being enumerated.'
Last Exception Backtrace:
0 CoreFoundation 0x2198f23a8 __exceptionPreprocess + 232 (NSException.m:172)
1 libobjc.A.dylib 0x218af7d00 objc_exception_throw + 60 (objc-exception.mm:557)
2 CoreFoundation 0x2198f1c10 __NSFastEnumerationMutationHandler + 132 (NSEnumerator.m:133)
3 libobjc.A.dylib 0x218b0a4a0 objc_enumerationMutation + 32 (objc-runtime.mm:564)
4 MyApp 0x1025f8eb8 -[FIRExperimentController latestExperimentStartTimestampBetweenTimestamp:andPayloads:] + 216
5 MyApp 0x102691f00 -[RCNConfigExperiment latestStartTimeWithExistingLastStartTime:] + 84
6 MyApp 0x102691da4 -[RCNConfigExperiment updateExperimentStartTime] + 120
7 MyApp 0x102691cdc -[RCNConfigExperiment updateExperiments] + 176
8 MyApp 0x1026872c8 __49-[FIRRemoteConfig activateWithCompletionHandler:]_block_invoke + 248
9 libdispatch.dylib 0x219300304 _dispatch_call_block_and_release + 32 (init.c:1372)
10 libdispatch.dylib 0x219301884 _dispatch_client_callout + 20 (object.m:511)
11 libdispatch.dylib 0x219308dd4 _dispatch_lane_serial_drain + 552 (inline_internal.h:2441)
12 libdispatch.dylib 0x219309918 _dispatch_lane_invoke + 364 (inline_internal.h:1808)
13 libdispatch.dylib 0x219311cc0 _dispatch_workloop_worker_thread + 588 (queue.c:5889)
14 libsystem_pthread.dylib 0x2194fca98 _pthread_wqthread + 308 (pthread.c:2371)
15 libsystem_pthread.dylib 0x219502dc4 start_wqthread + 4