[Bug] [RemoteConfig] [12.0.0] Exception after receiving FetchAsync result: "ArgumentOutOfRangeException - Value to add was out of range. Parameter name: value"
Description
After updating firebase sdk from version 10.5.0 to 12.0.0, a new exception appeared in crashlytics logs. An exception occurs after receiving the result of FetchAsync operation when accessing ConfigInfo data on both platforms, but mainly on iOS (affecting 5% of DAU).
Crashlytics stack trace
Non-fatal Exception: ArgumentOutOfRangeException
0 ??? 0x0 Add (System.DateTime)
1 ??? 0x0 ctor (Firebase.RemoteConfig.ConfigInfo.)
2 ??? 0x0 get_Info (Firebase.RemoteConfig.FirebaseRemoteConfig)
3 ??? 0x0 MoveNext (Services.Firebase.FirebaseRemoteConfigManager+<FetchingData>d__2)
4 ??? 0x0 InvokeMoveNext (UnityEngine.SetupCoroutine)
Code example
Task fetchTask = FirebaseRemoteConfig.DefaultInstance.FetchAsync(timespan);
yield return new Utils.WaitForTaskCompletion(fetchTask);
ConfigInfo fetchInfo = FirebaseRemoteConfig.DefaultInstance.Info;
switch (fetchInfo.LastFetchStatus)
{
case LastFetchStatus.Success:
yield return ActivatingData(fetchInfo.FetchTime);
break;
case LastFetchStatus.Failure:
switch (fetchInfo.LastFetchFailureReason)
{
case FetchFailureReason.Error:
Debug.Log("Fetch failed for unknown reason");
break;
case FetchFailureReason.Throttled:
Debug.Log("Fetch throttled until " + fetchInfo.ThrottledEndTime);
break;
}
break;
case LastFetchStatus.Pending:
Debug.Log("Latest Fetch call still pending.");
break;
}
Reproducing the issue
No response
Firebase Unity SDK Version
12.0.0
Unity editor version
2022.3.18f1
Installation Method
.unitypackage
Problematic Firebase Component(s)
Remote Config
Other Firebase Component(s) in use
AB Testing, Analytics, App Check, Authentication, Crashlytics, Installations, Messaging, Storage
Additional SDKs you are using
AppLovin, AppsFlyer, Facebook, GoogleMobileAds
Targeted Platform(s)
Apple Platforms, Android
Unity editor platform
Mac, Windows
Scripting Runtime
IL2CPP
Release Distribution Type
Pre-built SDK from https://firebase.google.com/download/unity
Relevant Log Output
No response
If using CocoaPods for Apple platforms, the project's Podfile.lock
Expand Podfile.lock snippet
PODS:
- Ads-Global/BUAdSDK_Compatible (5.9.0.9):
- Ads-Global/BURelyAdSDK
- Ads-Global/Dep_Compatible
- Ads-Global/BURelyAdSDK (5.9.0.9)
- Ads-Global/Dep_Compatible (5.9.0.9):
- BURelyFoundation_Global/Pangle (~> 0.2.1.4)
- AppAuth (1.7.5):
- AppAuth/Core (= 1.7.5)
- AppAuth/ExternalUserAgent (= 1.7.5)
- AppAuth/Core (1.7.5)
- AppAuth/ExternalUserAgent (1.7.5):
- AppAuth/Core
- AppLovinMediationByteDanceAdapter (5.9.0.9.0):
- Ads-Global/BUAdSDK_Compatible (= 5.9.0.9)
- AppLovinSDK
- AppLovinMediationChartboostAdapter (9.2.0.0):
- AppLovinSDK
- ChartboostSDK (= 9.2.0)
- AppLovinMediationFacebookAdapter (6.15.0.0):
- AppLovinSDK
- FBAudienceNetwork (= 6.15.0)
- AppLovinMediationFyberAdapter (8.2.7.0):
- AppLovinSDK
- Fyber_Marketplace_SDK (= 8.2.7)
- AppLovinMediationGoogleAdapter (11.5.0.0):
- AppLovinSDK
- Google-Mobile-Ads-SDK (= 11.5.0)
- AppLovinMediationGoogleAdManagerAdapter (11.5.0.0):
- AppLovinSDK
- Google-Mobile-Ads-SDK (= 11.5.0)
- AppLovinMediationInMobiAdapter (10.1.3.0):
- AppLovinSDK
- InMobiSDK/Core (= 10.1.3)
- AppLovinMediationIronSourceAdapter (7.2.7.0.1):
- AppLovinSDK
- IronSourceSDK (= 7.2.7.0)
- AppLovinMediationMadexAdapter (1.2.0):
- AppLovinSDK
- MadexSDK
- AppLovinMediationMintegralAdapter (7.6.3.0.0):
- AppLovinSDK
- MintegralAdSDK (= 7.6.3)
- MintegralAdSDK/BidSplashAd (= 7.6.3)
- AppLovinMediationMyTargetAdapter (5.17.4.0):
- AppLovinSDK
- myTargetSDK (= 5.17.4)
- AppLovinMediationUnityAdsAdapter (4.10.0.0):
- AppLovinSDK
- UnityAds (= 4.10.0)
- AppLovinMediationVungleAdapter (7.3.1.0):
- AppLovinSDK
- VungleAds (= 7.3.1)
- AppLovinMediationYandexAdapter (7.0.0.0):
- AppLovinSDK
- YandexMobileAds (= 7.0.0)
- AppLovinSDK (12.1.0)
- AppsFlyer-AdRevenue (6.5.4):
- AppsFlyerFramework (~> 6)
- AppsFlyerFramework (6.10.0):
- AppsFlyerFramework/Main (= 6.10.0)
- AppsFlyerFramework/Main (6.10.0)
- BURelyFoundation_Global/AFNetworking (0.2.1.4)
- BURelyFoundation_Global/APM (0.2.1.4)
- BURelyFoundation_Global/Foundation (0.2.1.4):
- BURelyFoundation_Global/NETWork
- BURelyFoundation_Global/Gecko (0.2.1.4):
- BURelyFoundation_Global/Foundation
- BURelyFoundation_Global/Header (0.2.1.4)
- BURelyFoundation_Global/NETWork (0.2.1.4):
- BURelyFoundation_Global/AFNetworking
- BURelyFoundation_Global/Pangle (0.2.1.4):
- BURelyFoundation_Global/AFNetworking
- BURelyFoundation_Global/APM
- BURelyFoundation_Global/Foundation
- BURelyFoundation_Global/Gecko
- BURelyFoundation_Global/Header
- BURelyFoundation_Global/NETWork
- BURelyFoundation_Global/SDWebImage
- BURelyFoundation_Global/YYModel
- BURelyFoundation_Global/ZFPlayer
- BURelyFoundation_Global/Zip
- BURelyFoundation_Global/SDWebImage (0.2.1.4):
- BURelyFoundation_Global/Foundation
- BURelyFoundation_Global/YYModel (0.2.1.4)
- BURelyFoundation_Global/ZFPlayer (0.2.1.4):
- BURelyFoundation_Global/Foundation
- BURelyFoundation_Global/Zip
- BURelyFoundation_Global/Zip (0.2.1.4):
- BURelyFoundation_Global/Foundation
- ChartboostSDK (9.2.0)
- DivKit (28.13.0):
- DivKit_LayoutKit (= 28.13.0)
- DivKit_Serialization (= 28.13.0)
- VGSLCommonCore (~> 2.4)
- VGSLNetworking (~> 2.4)
- DivKit_LayoutKit (28.13.0):
- DivKit_LayoutKitInterface (= 28.13.0)
- VGSLCommonCore (~> 2.4)
- DivKit_LayoutKitInterface (28.13.0):
- VGSLBase (~> 2.4)
- VGSLBaseTiny (~> 2.4)
- VGSLBaseUI (~> 2.4)
- DivKit_Serialization (28.13.0):
- VGSLCommonCore (~> 2.4)
- FBAEMKit (16.0.1):
- FBSDKCoreKit_Basics (= 16.0.1)
- FBAudienceNetwork (6.15.0)
- FBSDKCoreKit (16.0.1):
- FBAEMKit (= 16.0.1)
- FBSDKCoreKit_Basics (= 16.0.1)
- FBSDKCoreKit_Basics (16.0.1)
- FBSDKGamingServicesKit (16.0.1):
- FBSDKCoreKit (= 16.0.1)
- FBSDKCoreKit_Basics (= 16.0.1)
- FBSDKShareKit (= 16.0.1)
- FBSDKLoginKit (16.0.1):
- FBSDKCoreKit (= 16.0.1)
- FBSDKShareKit (16.0.1):
- FBSDKCoreKit (= 16.0.1)
- Firebase/Analytics (10.25.0):
- Firebase/Core
- Firebase/Auth (10.25.0):
- Firebase/CoreOnly
- FirebaseAuth (~> 10.25.0)
- Firebase/Core (10.25.0):
- Firebase/CoreOnly
- FirebaseAnalytics (~> 10.25.0)
- Firebase/CoreOnly (10.25.0):
- FirebaseCore (= 10.25.0)
- Firebase/Crashlytics (10.25.0):
- Firebase/CoreOnly
- FirebaseCrashlytics (~> 10.25.0)
- Firebase/Messaging (10.25.0):
- Firebase/CoreOnly
- FirebaseMessaging (~> 10.25.0)
- Firebase/RemoteConfig (10.25.0):
- Firebase/CoreOnly
- FirebaseRemoteConfig (~> 10.25.0)
- Firebase/Storage (10.25.0):
- Firebase/CoreOnly
- FirebaseStorage (~> 10.25.0)
- FirebaseABTesting (10.28.0):
- FirebaseCore (~> 10.0)
- FirebaseAnalytics (10.25.0):
- FirebaseAnalytics/AdIdSupport (= 10.25.0)
- FirebaseCore (~> 10.0)
- FirebaseInstallations (~> 10.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.11)
- GoogleUtilities/MethodSwizzler (~> 7.11)
- GoogleUtilities/Network (~> 7.11)
- "GoogleUtilities/NSData+zlib (~> 7.11)"
- nanopb (< 2.30911.0, >= 2.30908.0)
- FirebaseAnalytics/AdIdSupport (10.25.0):
- FirebaseCore (~> 10.0)
- FirebaseInstallations (~> 10.0)
- GoogleAppMeasurement (= 10.25.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.11)
- GoogleUtilities/MethodSwizzler (~> 7.11)
- GoogleUtilities/Network (~> 7.11)
- "GoogleUtilities/NSData+zlib (~> 7.11)"
- nanopb (< 2.30911.0, >= 2.30908.0)
- FirebaseAppCheckInterop (10.28.0)
- FirebaseAuth (10.25.0):
- FirebaseAppCheckInterop (~> 10.17)
- FirebaseCore (~> 10.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.8)
- GoogleUtilities/Environment (~> 7.8)
- GTMSessionFetcher/Core (< 4.0, >= 2.1)
- RecaptchaInterop (~> 100.0)
- FirebaseAuthInterop (10.28.0)
- FirebaseCore (10.25.0):
- FirebaseCoreInternal (~> 10.0)
- GoogleUtilities/Environment (~> 7.12)
- GoogleUtilities/Logger (~> 7.12)
- FirebaseCoreExtension (10.28.0):
- FirebaseCore (~> 10.0)
- FirebaseCoreInternal (10.28.0):
- "GoogleUtilities/NSData+zlib (~> 7.8)"
- FirebaseCrashlytics (10.25.0):
- FirebaseCore (~> 10.5)
- FirebaseInstallations (~> 10.0)
- FirebaseRemoteConfigInterop (~> 10.23)
- FirebaseSessions (~> 10.5)
- GoogleDataTransport (~> 9.2)
- GoogleUtilities/Environment (~> 7.8)
- nanopb (< 2.30911.0, >= 2.30908.0)
- PromisesObjC (~> 2.1)
- FirebaseInstallations (10.28.0):
- FirebaseCore (~> 10.0)
- GoogleUtilities/Environment (~> 7.8)
- GoogleUtilities/UserDefaults (~> 7.8)
- PromisesObjC (~> 2.1)
- FirebaseMessaging (10.25.0):
- FirebaseCore (~> 10.0)
- FirebaseInstallations (~> 10.0)
- GoogleDataTransport (~> 9.3)
- GoogleUtilities/AppDelegateSwizzler (~> 7.8)
- GoogleUtilities/Environment (~> 7.8)
- GoogleUtilities/Reachability (~> 7.8)
- GoogleUtilities/UserDefaults (~> 7.8)
- nanopb (< 2.30911.0, >= 2.30908.0)
- FirebaseRemoteConfig (10.25.0):
- FirebaseABTesting (~> 10.0)
- FirebaseCore (~> 10.0)
- FirebaseInstallations (~> 10.0)
- FirebaseRemoteConfigInterop (~> 10.23)
- FirebaseSharedSwift (~> 10.0)
- GoogleUtilities/Environment (~> 7.8)
- "GoogleUtilities/NSData+zlib (~> 7.8)"
- FirebaseRemoteConfigInterop (10.28.0)
- FirebaseSessions (10.28.0):
- FirebaseCore (~> 10.5)
- FirebaseCoreExtension (~> 10.0)
- FirebaseInstallations (~> 10.0)
- GoogleDataTransport (~> 9.2)
- GoogleUtilities/Environment (~> 7.13)
- GoogleUtilities/UserDefaults (~> 7.13)
- nanopb (< 2.30911.0, >= 2.30908.0)
- PromisesSwift (~> 2.1)
- FirebaseSharedSwift (10.28.0)
- FirebaseStorage (10.25.0):
- FirebaseAppCheckInterop (~> 10.0)
- FirebaseAuthInterop (~> 10.25)
- FirebaseCore (~> 10.0)
- FirebaseCoreExtension (~> 10.0)
- GoogleUtilities/Environment (~> 7.12)
- GTMSessionFetcher/Core (< 4.0, >= 2.1)
- Fyber_Marketplace_SDK (8.2.7)
- Google-Mobile-Ads-SDK (11.5.0):
- GoogleUserMessagingPlatform (>= 1.1)
- GoogleAppMeasurement (10.25.0):
- GoogleAppMeasurement/AdIdSupport (= 10.25.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.11)
- GoogleUtilities/MethodSwizzler (~> 7.11)
- GoogleUtilities/Network (~> 7.11)
- "GoogleUtilities/NSData+zlib (~> 7.11)"
- nanopb (< 2.30911.0, >= 2.30908.0)
- GoogleAppMeasurement/AdIdSupport (10.25.0):
- GoogleAppMeasurement/WithoutAdIdSupport (= 10.25.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.11)
- GoogleUtilities/MethodSwizzler (~> 7.11)
- GoogleUtilities/Network (~> 7.11)
- "GoogleUtilities/NSData+zlib (~> 7.11)"
- nanopb (< 2.30911.0, >= 2.30908.0)
- GoogleAppMeasurement/WithoutAdIdSupport (10.25.0):
- GoogleUtilities/AppDelegateSwizzler (~> 7.11)
- GoogleUtilities/MethodSwizzler (~> 7.11)
- GoogleUtilities/Network (~> 7.11)
- "GoogleUtilities/NSData+zlib (~> 7.11)"
- nanopb (< 2.30911.0, >= 2.30908.0)
- GoogleDataTransport (9.4.1):
- GoogleUtilities/Environment (~> 7.7)
- nanopb (< 2.30911.0, >= 2.30908.0)
- PromisesObjC (< 3.0, >= 1.2)
- GoogleSignIn (6.2.4):
- AppAuth (~> 1.5)
- GTMAppAuth (~> 1.3)
- GTMSessionFetcher/Core (< 3.0, >= 1.1)
- GoogleUserMessagingPlatform (2.5.0)
- GoogleUtilities/AppDelegateSwizzler (7.13.3):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Privacy
- GoogleUtilities/Environment (7.13.3):
- GoogleUtilities/Privacy
- PromisesObjC (< 3.0, >= 1.2)
- GoogleUtilities/Logger (7.13.3):
- GoogleUtilities/Environment
- GoogleUtilities/Privacy
- GoogleUtilities/MethodSwizzler (7.13.3):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- GoogleUtilities/Network (7.13.3):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Privacy
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (7.13.3)":
- GoogleUtilities/Privacy
- GoogleUtilities/Privacy (7.13.3)
- GoogleUtilities/Reachability (7.13.3):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- GoogleUtilities/UserDefaults (7.13.3):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- GTMAppAuth (1.3.1):
- AppAuth/Core (~> 1.6)
- GTMSessionFetcher/Core (< 3.0, >= 1.5)
- GTMSessionFetcher/Core (2.3.0)
- InMobiSDK/Core (10.1.3)
- IronSourceSDK (7.2.7.0)
- MadexSDK (1.4.0):
- SspnetCore
- MintegralAdSDK (7.6.3):
- MintegralAdSDK/BannerAd (= 7.6.3)
- MintegralAdSDK/BidBannerAd (= 7.6.3)
- MintegralAdSDK/BidInterstitialVideoAd (= 7.6.3)
- MintegralAdSDK/BidNativeAd (= 7.6.3)
- MintegralAdSDK/BidNewInterstitialAd (= 7.6.3)
- MintegralAdSDK/BidRewardVideoAd (= 7.6.3)
- MintegralAdSDK/InterstitialVideoAd (= 7.6.3)
- MintegralAdSDK/NativeAd (= 7.6.3)
- MintegralAdSDK/NewInterstitialAd (= 7.6.3)
- MintegralAdSDK/RewardVideoAd (= 7.6.3)
- MintegralAdSDK/BannerAd (7.6.3):
- MintegralAdSDK/NativeAd
- MintegralAdSDK/BidBannerAd (7.6.3):
- MintegralAdSDK/BannerAd
- MintegralAdSDK/BidNativeAd
- MintegralAdSDK/BidInterstitialVideoAd (7.6.3):
- MintegralAdSDK/BidNativeAd
- MintegralAdSDK/InterstitialVideoAd
- MintegralAdSDK/BidNativeAd (7.6.3):
- MintegralAdSDK/NativeAd
- MintegralAdSDK/BidNewInterstitialAd (7.6.3):
- MintegralAdSDK/BidNativeAd
- MintegralAdSDK/NewInterstitialAd
- MintegralAdSDK/BidRewardVideoAd (7.6.3):
- MintegralAdSDK/BidNativeAd
- MintegralAdSDK/RewardVideoAd
- MintegralAdSDK/BidSplashAd (7.6.3):
- MintegralAdSDK/BidNativeAd
- MintegralAdSDK/SplashAd
- MintegralAdSDK/InterstitialVideoAd (7.6.3):
- MintegralAdSDK/NativeAd
- MintegralAdSDK/NativeAd (7.6.3)
- MintegralAdSDK/NewInterstitialAd (7.6.3):
- MintegralAdSDK/InterstitialVideoAd
- MintegralAdSDK/NativeAd
- MintegralAdSDK/RewardVideoAd (7.6.3):
- MintegralAdSDK/NativeAd
- MintegralAdSDK/SplashAd (7.6.3):
- MintegralAdSDK/NativeAd
- myTargetSDK (5.17.4):
- myTrackerSDK (~> 3.0.3)
- myTrackerSDK (3.0.8)
- nanopb (2.30910.0):
- nanopb/decode (= 2.30910.0)
- nanopb/encode (= 2.30910.0)
- nanopb/decode (2.30910.0)
- nanopb/encode (2.30910.0)
- PromisesObjC (2.4.0)
- PromisesSwift (2.4.0):
- PromisesObjC (= 2.4.0)
- PurchaseConnector (6.8.1):
- PurchaseConnector/Main (= 6.8.1)
- PurchaseConnector/Main (6.8.1):
- AppsFlyerFramework (>= 6.8.0)
- RecaptchaInterop (100.0.0)
- SspnetCore (1.4.0):
- SspnetDsp
- SspnetDsp (1.1.0)
- UnityAds (4.10.0)
- VGSL_Fundamentals (2.4.1):
- VGSL_Fundamentals_Tiny (= 2.4.1)
- VGSL_Fundamentals_Tiny (2.4.1)
- VGSLBase (2.4.1):
- VGSL_Fundamentals (= 2.4.1)
- VGSLBaseTiny (= 2.4.1)
- VGSLBaseUI (= 2.4.1)
- VGSLBaseTiny (2.4.1):
- VGSL_Fundamentals_Tiny (= 2.4.1)
- VGSLBaseUI (2.4.1):
- VGSLBaseTiny (= 2.4.1)
- VGSLCommonCore (2.4.1):
- VGSLBase (= 2.4.1)
- VGSLNetworking (2.4.1):
- VGSLBase (= 2.4.1)
- VungleAds (7.3.1)
- YandexMobileAds (7.0.0):
- DivKit (= 28.13.0)
- YandexMobileMetrica (< 5.0.0, >= 4.0.0)
- YandexMobileMetrica (4.5.2):
- YandexMobileMetrica/Static (= 4.5.2)
- YandexMobileMetrica/Static (4.5.2):
- YandexMobileMetrica/Static/Core (= 4.5.2)
- YandexMobileMetrica/Static/Crashes (= 4.5.2)
- YandexMobileMetrica/Static/Core (4.5.2)
- YandexMobileMetrica/Static/Crashes (4.5.2):
- YandexMobileMetrica/Static/Core
DEPENDENCIES:
- AppLovinMediationByteDanceAdapter (= 5.9.0.9.0)
- AppLovinMediationChartboostAdapter (= 9.2.0.0)
- AppLovinMediationFacebookAdapter (= 6.15.0.0)
- AppLovinMediationFyberAdapter (= 8.2.7.0)
- AppLovinMediationGoogleAdapter (= 11.5.0.0)
- AppLovinMediationGoogleAdManagerAdapter (= 11.5.0.0)
- AppLovinMediationInMobiAdapter (= 10.1.3.0)
- AppLovinMediationIronSourceAdapter (= 7.2.7.0.1)
- AppLovinMediationMadexAdapter (= 1.2.0)
- AppLovinMediationMintegralAdapter (= 7.6.3.0.0)
- AppLovinMediationMyTargetAdapter (= 5.17.4.0)
- AppLovinMediationUnityAdsAdapter (= 4.10.0.0)
- AppLovinMediationVungleAdapter (= 7.3.1.0)
- AppLovinMediationYandexAdapter (= 7.0.0.0)
- AppLovinSDK (= 12.1.0)
- AppsFlyer-AdRevenue (= 6.5.4)
- AppsFlyerFramework (= 6.10.0)
- FBSDKCoreKit (~> 16.0.1)
- FBSDKCoreKit_Basics (~> 16.0.1)
- FBSDKGamingServicesKit (~> 16.0.1)
- FBSDKLoginKit (~> 16.0.1)
- FBSDKShareKit (~> 16.0.1)
- Firebase/Analytics (= 10.25.0)
- Firebase/Auth (= 10.25.0)
- Firebase/Core (= 10.25.0)
- Firebase/Crashlytics (= 10.25.0)
- Firebase/Messaging (= 10.25.0)
- Firebase/RemoteConfig (= 10.25.0)
- Firebase/Storage (= 10.25.0)
- FirebaseInstallations
- Google-Mobile-Ads-SDK (= 11.5.0.0)
- GoogleSignIn (= 6.2.4)
- PurchaseConnector (= 6.8.1)
SPEC REPOS:
https://github.com/CocoaPods/Specs:
- AppAuth
- AppLovinSDK
- AppsFlyerFramework
- FBSDKCoreKit
- FBSDKCoreKit_Basics
- FBSDKShareKit
- FirebaseAppCheckInterop
- FirebaseCore
- FirebaseInstallations
- Google-Mobile-Ads-SDK
- GoogleDataTransport
- GoogleUtilities
- GTMSessionFetcher
- PromisesObjC
- VGSLBase
- VGSLBaseTiny
- VGSLBaseUI
trunk:
- Ads-Global
- AppAuth
- AppLovinMediationByteDanceAdapter
- AppLovinMediationChartboostAdapter
- AppLovinMediationFacebookAdapter
- AppLovinMediationFyberAdapter
- AppLovinMediationGoogleAdapter
- AppLovinMediationGoogleAdManagerAdapter
- AppLovinMediationInMobiAdapter
- AppLovinMediationIronSourceAdapter
- AppLovinMediationMadexAdapter
- AppLovinMediationMintegralAdapter
- AppLovinMediationMyTargetAdapter
- AppLovinMediationUnityAdsAdapter
- AppLovinMediationVungleAdapter
- AppLovinMediationYandexAdapter
- AppsFlyer-AdRevenue
- AppsFlyerFramework
- BURelyFoundation_Global
- ChartboostSDK
- DivKit
- DivKit_LayoutKit
- DivKit_LayoutKitInterface
- DivKit_Serialization
- FBAEMKit
- FBAudienceNetwork
- FBSDKGamingServicesKit
- FBSDKLoginKit
- Firebase
- FirebaseABTesting
- FirebaseAnalytics
- FirebaseAuth
- FirebaseAuthInterop
- FirebaseCoreExtension
- FirebaseCoreInternal
- FirebaseCrashlytics
- FirebaseMessaging
- FirebaseRemoteConfig
- FirebaseRemoteConfigInterop
- FirebaseSessions
- FirebaseSharedSwift
- FirebaseStorage
- Fyber_Marketplace_SDK
- GoogleAppMeasurement
- GoogleSignIn
- GoogleUserMessagingPlatform
- GoogleUtilities
- GTMAppAuth
- InMobiSDK
- IronSourceSDK
- MadexSDK
- MintegralAdSDK
- myTargetSDK
- myTrackerSDK
- nanopb
- PromisesSwift
- PurchaseConnector
- RecaptchaInterop
- SspnetCore
- SspnetDsp
- UnityAds
- VGSL_Fundamentals
- VGSL_Fundamentals_Tiny
- VGSLCommonCore
- VGSLNetworking
- VungleAds
- YandexMobileAds
- YandexMobileMetrica
SPEC CHECKSUMS:
Ads-Global: eb2b0f3e6bf2bb9af37d7fc2646f7db975e7d639
AppAuth: 501c04eda8a8d11f179dbe8637b7a91bb7e5d2fa
AppLovinMediationByteDanceAdapter: b943d9203b6d1842bfadae65c144513efec70d77
AppLovinMediationChartboostAdapter: ae72923e64e185936e9ef25e7a39a92b7dc54baa
AppLovinMediationFacebookAdapter: 30ddfcb09c1c9ff6778ba974f58e8f3204e6eebc
AppLovinMediationFyberAdapter: 41e1c8f340e40d703b99a838ad1c0ec444accc13
AppLovinMediationGoogleAdapter: d6edc1d9176be45cac0811c76e8fd3eea470bd71
AppLovinMediationGoogleAdManagerAdapter: 8902d8bd20ba7fca78526c86d091497a1b563f93
AppLovinMediationInMobiAdapter: 63da8c765ec8b9672bcf8fb7e53919be71c9a7f4
AppLovinMediationIronSourceAdapter: 29681cb5fc9ba22b6d6c6d09bab179383fbd18b0
AppLovinMediationMadexAdapter: 3a57e16a75fb2c6086c848c2c92fafe8058e3663
AppLovinMediationMintegralAdapter: 604ba97da0b444bab213b7c9100d6ec374dd9b57
AppLovinMediationMyTargetAdapter: 4c047ff48fae1bcc6f6d73a21e783ded03073daf
AppLovinMediationUnityAdsAdapter: d6d5bf488adce05684bf00e0845af49a96a1aadd
AppLovinMediationVungleAdapter: b42444550ca03233753cfeb36a5660f94d038fb5
AppLovinMediationYandexAdapter: f71214302ba767b90fe6c176704fa36cf6575109
AppLovinSDK: 179d509c258e01a3a77eb8416f0ba843a12ed322
AppsFlyer-AdRevenue: dc145404655ff980a9938c9db145144d4ebe7ffd
AppsFlyerFramework: dc8599db42e1669388287d47a1f0e6b8aa35639e
BURelyFoundation_Global: 17ed9cd58d138feefd8c0711dd3294766adcb28e
ChartboostSDK: 1d56075dc8f1e05b0d88b805bedb57e686a5d2ea
DivKit: 65af423ea03c32b6ecaa63a64d4a2ea26c217f3b
DivKit_LayoutKit: 3f88fab9edefb4938b9ccb5359ecbce4e1eeba69
DivKit_LayoutKitInterface: 90449756ba956a7fbf3b168c01f7a0b7fc6a9de0
DivKit_Serialization: 1b536e30c49163548bb62120320097c8ab41936d
FBAEMKit: daac7466b918752f020345be5c7d9787f98cfc07
FBAudienceNetwork: 80a035aa69cc3a71c99e44cb5c2874e4cef9909f
FBSDKCoreKit: 2cb033464b2134af0138f87d20b859eb3f9be359
FBSDKCoreKit_Basics: d37280da2e65872f0e931d15f45d97ea324fec37
FBSDKGamingServicesKit: 6b1cf4c68d5a8e8849522ec94e5a1bbdc23541e7
FBSDKLoginKit: c47a3b90920702487b10b647c63520dc2676dad9
FBSDKShareKit: dbc6adab8c837275fa6e7f5f0992dbde4fea87eb
Firebase: 0312a2352584f782ea56f66d91606891d4607f06
FirebaseABTesting: 589bc28c0ab3e5554336895a34aa262e24276665
FirebaseAnalytics: ec00fe8b93b41dc6fe4a28784b8e51da0647a248
FirebaseAppCheckInterop: 5315f40293191bfec04b2cfab0215760e441540a
FirebaseAuth: c0f93dcc570c9da2bffb576969d793e95c344fbb
FirebaseAuthInterop: cec40cbafa1f9a6e0c3334c5c750a0cae7c97f80
FirebaseCore: 7ec4d0484817f12c3373955bc87762d96842d483
FirebaseCoreExtension: f63147b723e2a700fe0f34ec6fb7f358d6fe83e0
FirebaseCoreInternal: 58d07f1362fddeb0feb6a857d1d1d1c5e558e698
FirebaseCrashlytics: 4b96efb0ce73b38b2a85e8b8bd1bd8f63f09d015
FirebaseInstallations: 60c1d3bc1beef809fd1ad1189a8057a040c59f2e
FirebaseMessaging: 88950ba9485052891ebe26f6c43a52bb62248952
FirebaseRemoteConfig: 9f3935cefecd85d5b312192117f444957de24a75
FirebaseRemoteConfigInterop: 70d200c6956ef3b5c3592a95e824c1210682d785
FirebaseSessions: 20da8500ad66bb12622743e170459bf62a0768e8
FirebaseSharedSwift: 48de4aec81a6b79bb30404e5e6db43ea74848fed
FirebaseStorage: 44f4e25073f6fa0d4d8c09f5bec299ee9e4eb985
Fyber_Marketplace_SDK: 90d17e7cb04f505b00c2410679f115aefc9fd4e5
Google-Mobile-Ads-SDK: 7db2098033ad3bfcd72a11e7503b49700a93029e
GoogleAppMeasurement: 9abf64b682732fed36da827aa2a68f0221fd2356
GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a
GoogleSignIn: 5651ce3a61e56ca864160e79b484cd9ed3f49b7a
GoogleUserMessagingPlatform: 6b4f48a370e77ce121d034c908cc6ee4fdafaf13
GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15
GTMAppAuth: 0ff230db599948a9ad7470ca667337803b3fc4dd
GTMSessionFetcher: 3a63d75eecd6aa32c2fc79f578064e1214dfdec2
InMobiSDK: 15589dbfbe6b28b1d3436ab1ede8654a0d7f2298
IronSourceSDK: 03ab6e62ac10589e5bea97cf0a379989f6965f36
MadexSDK: 6f01f8c88e09cd83bc355207c6142976846917cb
MintegralAdSDK: 5ff28af4529d8eedf9e2c4e84ddf70bebf48691c
myTargetSDK: acf56c7f19401c7929d3da7a9dcd43924364137e
myTrackerSDK: df675bf18db63d9a426bd00d6c3dec4ba4bea57e
nanopb: 438bc412db1928dac798aa6fd75726007be04262
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
PurchaseConnector: 87ef7cade66b5066445dd8317758c79f2ca65195
RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21
SspnetCore: 29788edd048fd801c6dbbab9647c9b73fc86f161
SspnetDsp: 2a71a9d278df038f7ed956985d37989a1c7e9202
UnityAds: 5601f6397b0e02ed3ed6ee92827f5177a523aab6
VGSL_Fundamentals: 4a965a687c76a5a435d7aaeb6b7182e82408bf4c
VGSL_Fundamentals_Tiny: feab274b20c5838fbe09b887db0f6cfa28e26a1c
VGSLBase: 37b95dd4ea137f73e8f9a8bd8ec474d8b4d75a68
VGSLBaseTiny: 0a0a4992a348184e8580cf73efa8eb373d750f6b
VGSLBaseUI: 62f147155e7b7049a32a30ac87b5bd8b83e636c5
VGSLCommonCore: dd33088af6633d1c09f0c9bb8027920b99e2e0c8
VGSLNetworking: e12d616b447522bf524c689d28f55cfbb20473cd
VungleAds: 04a17ab51fb61f41cd6d666fd0024509005740fe
YandexMobileAds: f5467c294906de4a15e6337e6f0ae7789ecb3e41
YandexMobileMetrica: f5368ee93f286c793d73b58da00929babfc897c1
PODFILE CHECKSUM: 2191e7ddd6eb9b76f89300bd0424786195024777
COCOAPODS: 1.14.3
Same problems. This exception is caused by Firebase.RemoteConfig.ConfigInfo.ThrottledEndTime.
@argzdev This bug is reproducible on specific versions of the Firebase Unity SDK and iOS platforms. The issue occurs when fetching remote config data, leading to an ArgumentOutOfRangeException.
Reproducible Firebase Unity SDK Versions:
v12.0.0 v12.1.0
Platforms:
iOS 15.1 iOS 15.1.1
Steps to Reproduce:
- Download the test project from https://github.com/firebase/quickstart-unity/tree/master/remote_config/testapp.
- In the FetchDataAsync() method of UIHandler.cs (https://github.com/firebase/quickstart-unity/blob/master/remote_config/testapp/Assets/Firebase/Sample/RemoteConfig/UIHandler.cs), add the following debug
Debug.Log($">>>> ThrottledEndTime: {FirebaseRemoteConfig.DefaultInstance.Info.ThrottledEndTime}"); - Integrate the Firebase SDK into the project and add the configuration file per the instructions at https://firebase.google.com/docs/unity/setup#add-config-file.
- Build the project and run it on a device with iOS 15.1 or iOS 15.1.1 using XCode.
- Click "Fetch Remote Config" and observe the log statement
Debug.Log($">>>> ThrottledEndTime: {FirebaseRemoteConfig.DefaultInstance.Info.ThrottledEndTime}"). The date should initially appear normal. - Exit the app and re-enter it. Repeat step 5. Notice that the date becomes incorrect.
- Repeating step 6 multiple times causes the date to grow increasingly incorrect, eventually leading to an ArgumentOutOfRangeException.
Hope this helps in identifying and fixing the bug.
Hey folks, thanks for the extra details and steps to reproduce the behavior. So far, I'm having trouble triggering the throttling failure so I'm unable to reproduce the ArgumentOutOfRangeException. During tests, if I try to fetch remote data for multiple times in a short span of time, I'd hit a Firebase.RemoteConfig.FetchFailureReason.Error instead of a Firebase.RemoteConfig.FetchFailureReason.Throttled.
Are you encountering throttling issue after fetching remote data multiple times? Or do you have another way of triggering this scenario? Would you mind sharing how you're triggering the throttling failure?
@argzdev This bug is reproducible on specific versions of the Firebase Unity SDK and iOS platforms. The issue occurs when fetching remote config data, leading to an ArgumentOutOfRangeException.
Reproducible Firebase Unity SDK Versions:
v12.0.0 v12.1.0
Platforms:
iOS 15.1 iOS 15.1.1
Steps to Reproduce:
- Download the test project from https://github.com/firebase/quickstart-unity/tree/master/remote_config/testapp.
- In the FetchDataAsync() method of UIHandler.cs (https://github.com/firebase/quickstart-unity/blob/master/remote_config/testapp/Assets/Firebase/Sample/RemoteConfig/UIHandler.cs), add the following debug
Debug.Log($">>>> ThrottledEndTime: {FirebaseRemoteConfig.DefaultInstance.Info.ThrottledEndTime}");- Integrate the Firebase SDK into the project and add the configuration file per the instructions at https://firebase.google.com/docs/unity/setup#add-config-file.
- Build the project and run it on a device with iOS 15.1 or iOS 15.1.1 using XCode.
- Click "Fetch Remote Config" and observe the log statement
Debug.Log($">>>> ThrottledEndTime: {FirebaseRemoteConfig.DefaultInstance.Info.ThrottledEndTime}"). The date should initially appear normal.- Exit the app and re-enter it. Repeat step 5. Notice that the date becomes incorrect.
- Repeating step 6 multiple times causes the date to grow increasingly incorrect, eventually leading to an ArgumentOutOfRangeException.
Hope this helps in identifying and fixing the bug.
I have the same problem.
Reproducible Firebase Unity SDK Versions:
v12.1.0
Unity Version
2022.3.27f1c1
Platform:
OnePlus 6, Android version 11
Steps to Reproduce:
- Follow keepup's steps 1-3.
- Build and run on android via unity
- Turn on Airplane mode,
- Click "Fetch Remote Config", ArgumentOutOfRangeException occurs
Hey folks, thanks for the extra details and steps to reproduce the behavior. So far, I'm having trouble triggering the throttling failure so I'm unable to reproduce the
ArgumentOutOfRangeException. During tests, if I try to fetch remote data for multiple times in a short span of time, I'd hit aFirebase.RemoteConfig.FetchFailureReason.Errorinstead of aFirebase.RemoteConfig.FetchFailureReason.Throttled.Are you encountering throttling issue after fetching remote data multiple times? Or do you have another way of triggering this scenario? Would you mind sharing how you're triggering the throttling failure?
The cause of this bug is likely due to an incorrect value of configInfoInternal.throttled_end_time https://github.com/firebase/firebase-unity-sdk/blob/9cde9168ecd5f41bf0aa49b7d0deb2dc0217af43/remote_config/src/ConfigInfo.cs#L41
@argzdev Here is more info:
- Added the
Debug.Logline in the FetchDataAsync() method
public Task FetchDataAsync() {
DebugLog("Fetching data...");
System.Threading.Tasks.Task fetchTask =
Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(
TimeSpan.Zero);
Debug.Log($"---->>> Last fetch status: {Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.Info.LastFetchStatus}, Last fetch time: {Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.Info.FetchTime}, " +
$" Throttled end time : {Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.Info.ThrottledEndTime} last failed reason: {Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.Info.LastFetchFailureReason}");
return fetchTask.ContinueWithOnMainThread(FetchComplete);
}
- Compiled it into an XCode project and connected a device running iOS 15.1 to the computer.
- Press
Command+Rto run the project and click the Fetch Remote Data button to output the following log.
---->>> Last fetch status: Pending, Last fetch time: 1970/1/1 0:00:00, Throttled end time : 2112/8/9 0:03:36 last failed reason: Invalid
- Press
Command+.to stop running. - Repeat
steps 3 and 4. The resulting log is:
2:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:09:25, Throttled end time : 2110/10/20 7:57:20 last failed reason: Invalid
3:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:09:36, Throttled end time : 2111/9/13 0:56:48 last failed reason: Invalid
4:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:09:54, Throttled end time : 1978/9/18 23:10:08 last failed reason: Invalid
5:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:10:13, Throttled end time : 2111/6/20 4:12:08 last failed reason: Invalid
6:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:10:31, Throttled end time : 1970/1/1 0:00:00 last failed reason: Invalid
7:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:10:47, Throttled end time : 8230/9/11 15:23:49 last failed reason: Invalid
8:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:11:08, Throttled end time : 2110/1/23 2:30:00 last failed reason: Invalid
9:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:11:40, Throttled end time : 2111/10/25 11:43:28 last failed reason: Invalid
10:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:11:59, Throttled end time : 2126/3/6 12:53:20 last failed reason: Invalid
11:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:12:15, Throttled end time : 2116/8/4 17:40:48 last failed reason: Invalid
12:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:13:11, Throttled end time : 2111/7/3 9:23:20 last failed reason: Invalid
13:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:13:46, Throttled end time : 2145/4/20 4:52:48 last failed reason: Invalid:
14~∞:
rgumentOutOfRangeException: Value to add was out of range.
Parameter name: value
at System.DateTime.Add (System.Double value, System.Int32 scale) [0x00000] in <00000000000000000000000000000000>:0
at Firebase.RemoteConfig.ConfigInfo..ctor (Firebase.RemoteConfig.ConfigInfoInternal configInfoInternal) [0x00000] in <00000000000000000000000000000000>:0
at Firebase.RemoteConfig.FirebaseRemoteConfig.get_Info () [0x00000] in <00000000000000000000000000000000>:0
at Firebase.Sample.RemoteConfig.UIHandler.FetchDataAsync () [0x00000] in <00000000000000000000000000000000>:0
at Firebase.Sample.RemoteConfig.UIHandler.GUIDisplayControls () [0x00000] in <00000000000000000000000000000000>:0
at Firebase.Sample.RemoteConfig.UIHandler.OnGUI () [0x00000] in <00000000000000000000000000000000>:0
The ThrottledEndTime appears to be random each time. Sometimes, after deleting and reinstalling the app, an ArgumentOutOfRangeException is triggered after starting the app two or three times.
On iOS 17.2.1 devices, the ThrottledEndTime remains consistently unchanged.
1:
---->>> Last fetch status: Pending, Last fetch time: 1970/1/1 0:00:00, Throttled end time : 1970/1/1 0:00:00 last failed reason: Invalid
2:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:38:13, Throttled end time : 1970/1/1 0:00:00 last failed reason: Invalid
3:
---->>> Last fetch status: Success, Last fetch time: 2024/7/19 11:38:31, Throttled end time : 1970/1/1 0:00:00 last failed reason: Invalid
I am extremely embarrassed and troubled, and my position at the company is at risk because of this! I need a quick fix. Also, exceptions do not appear in the Xcode log when there is an error! I am very angry.!!!
Hi @argzdev ! Is there any progress?
Hey folks, sorry for the delayed response. I've been trying to test different scenarios with this issue. It seems that there's no emulator for iOS version 15.1 and 15.1.1, so I'm unable to simulate the ArgumentOutOfRangeException. However, I was able to reproduce the issue where the ThrottledEndTime remains at 1970/1/1 0:00:00. I believe this issue is related to the throttling issue in the firebase iOS repository. Furthermore, testing with Android shows that this issue is not present. I'll notify our engineering team and see if we have updates to share from the internal tracking b/327637888.
@theGacheeNextnull, sorry to hear you're having trouble with our SDK. Are you also encountering this same issue? The exceptions should atleast show if there is an error. You might be encountering a different problem compared to the one stated by the author. In this case, could you file a new report with your details so we can investigate this further. Thanks!
Hi, @argzdev. When you enable airplane mode on your Android phone, can you reproduce this bug? On my device, this issue definitely occurs.
Hello we are having the same issue on android, here is the stack trace. System.DateTime.Add (System.Double value, System.Int32 scale) [0x0003f] in <058a961084f44a30aefe41e4d0c6d652>:0 at System.DateTime.AddMilliseconds (System.Double value) [0x00000] in <058a961084f44a30aefe41e4d0c6d652>:0 at Firebase.RemoteConfig.ConfigInfo..ctor (Firebase.RemoteConfig.ConfigInfoInternal configInfoInternal) [0x00039] in /home/runner/work/firebase-unity-sdk/firebase-unity-sdk/remote_config/src/ConfigInfo.cs:41 at Firebase.RemoteConfig.FirebaseRemoteConfig.EnsureInitializedAsync () [0x0009a] in /home/runner/work/firebase-unity-sdk/firebase-unity-sdk/remote_config/src/FirebaseRemoteConfig.cs:175 at FirebaseRemoteConfigHandler.FetchComplete () [0x00044] in C:\Jenkins-Agent\workspace\MyTown_Google_Freemium\Assets\Common\Scripts\Firebase\FirebaseRemoteConfigHandler.cs:54 at FirebaseRemoteConfigHandler.FetchDataAsync () [0x000c5] in C:\Jenkins-Agent\workspace\MyTown_Google_Freemium\Assets\Common\Scripts\Firebase\FirebaseRemoteConfigHandler.cs:43
I also face the issue after updating FirebaseRemoteConfig to version 12.2.0. Does anyone solve the problem?
The same issue when internet is not available on the android device. Firebase v12.2.0
We also have the exact same issue on both platforms. So far no other option than downgrading.
@argzdev This issue persists in version 12.2.0, when will it be fixed? I need to update because there are ANR issues. I can't update because of this error.
We currently don't have a timeline yet for the fix. Our engineers are aware and is still investigating this issue. We'll reply back here once we get further updates.
I faced the similar bug. I do these steps to fix it.
- Ensure Remote Config was initialized after firebase was initialized done.
- Comment the line: await remoteConfig.EnsureInitializedAsync();
I am using firebase-unity 12.2.0
I meet the similar bug. I do these steps to fix it.
- Ensure Remote Config was initialized after firebase was initialized done.
- Comment the line: await remoteConfig.EnsureInitializedAsync();
I am using firebase-unity 12.2.0
This method didn’t fix the bug. If the conditions for an ArgumentOutOfRangeException are met, await remoteConfig.EnsureInitializedAsync() will also throw an ArgumentOutOfRangeException.
I have the same problem with my projects and I can confirm that this issue happens with Unity 2022.3.32 and Firebase SDK 12.1.0 and 12.0.0. For 2022.3.32 and Firebase SDK 11.9.0 this issue doesn't happen.
Very sad bug that exists for several months still not fixed. Lots of users were impacted. And we can't downgrade because v 12.0.0 contains import changes for android (target api 34). Very frustrating.
@a-maurice @argzdev This issue persists in version 12.2.0, when will it be fixed? I need to update because there are ANR issues. I can't update because of this error.
Hey folks, I did see that a recent pull request which fixes this issue was merged a few weeks back. This fix should go out in the next release. While we can't provide an exact timeline, we generally aim to release every month, but there are sometimes longer/shorter intervals. I'll try to provide updates as soon as we can. Feel free to keep an eye out on our release notes.
The latest release, 12.3.0, https://github.com/firebase/firebase-unity-sdk/releases/tag/v12.3.0, has the fix for this issue. Thanks for bringing it to our attention.