Skip to content

[Firebase] FirebaseCoreInternal.UnfairLock blocks main thread during app foregrounding → Watchdog 0x8BADF00D crash #15394

@iharkatkavets

Description

@iharkatkavets

Description

We are seeing watchdog termination (0x8BADF00D) crashes during app foregrounding. The main thread gets blocked inside FirebaseCoreInternal.UnfairLock, causing the app to hang for >5 seconds and get killed by the system.

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Incident Identifier: 6471908E-F653-4EDD-95BF-ABCF81BD9FA6
Beta Identifier:     9BDFDC5B-8ADB-4E78-ABDC-F0987CD29E60
Hardware Model:      iPhone16,1
Process:             SomeHiddenApp [2320]
Path:                /private/var/containers/Bundle/Application/C0313EF3-B2D9-41DE-BFE9-DB20CBB8639D/SomeHiddenApp.app/SomeHiddenApp
Identifier:          my.hidden.app
Version:             1.62 (1.62.1400.1)
AppStoreTools:       17A323
AppVariant:          1:iPhone16,1:17.4
Beta:                YES
Code Type:           ARM-64 (Native)
Role:                Background
Parent Process:      launchd [1]
Coalition:           my.hidden.app [1097]

Date/Time:           2025-10-08 10:27:39.7975 +0300
Launch Time:         2025-10-08 10:27:02.3197 +0300
OS Version:          iPhone OS 17.6.1 (21G93)
Release Type:        User
Baseband Version:    1.70.02
Report Version:      104

Exception Type:  EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: FRONTBOARD 2343432205 
<RBSTerminateContext| domain:10 code:0x8BADF00D explanation:[app<my.hidden.app(1BEEAC49-B52E-4D36-B7E0-3F45427F7F4F)>:2320] failed to terminate gracefully after 5.0s
ProcessVisibility: Unknown
ProcessState: Running
WatchdogEvent: process-exit
WatchdogVisibility: Foreground
WatchdogCPUStatistics: (
"Elapsed total CPU time (seconds): 9.580 (user 6.990, system 2.590), 26% CPU",
"Elapsed application CPU time (seconds): 0.016, 0% CPU"
) reportType:CrashLog maxTerminationResistance:Interactive>

Triggered by Thread:  0

Thread 0 name:   Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib        	       0x1d56f14dc __ulock_wait2 + 8
1   libsystem_platform.dylib      	       0x1e94354d8 _os_unfair_lock_lock_slow + 188
2   SomeHiddenApp                	       0x1019bef4c $s20FirebaseCoreInternal10UnfairLockC04withE0yqd__qd__xzYuYTXElF + 48
3   SomeHiddenApp                	       0x102318360 RemoteSettings.sessionTimeout.getter + 56
4   SomeHiddenApp                	       0x102316328 SessionInitiator.appForegrounded() + 252
5   SomeHiddenApp                	       0x1023163a8 @objc SessionInitiator.appForegrounded() + 24
6   CoreFoundation                	       0x18ca6a78c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 148
7   CoreFoundation                	       0x18ca6a6a8 ___CFXRegistrationPost_block_invoke + 88
8   CoreFoundation                	       0x18ca6a5f0 _CFXRegistrationPost + 440
9   CoreFoundation                	       0x18ca68bb8 _CFXNotificationPost + 728
10  Foundation                    	       0x18b8f6254 -[NSNotificationCenter postNotificationName:object:userInfo:] + 92
11  UIKitCore                     	       0x18ef0ab58 -[UIApplication _stopDeactivatingForReason:] + 1240
12  UIKitCore                     	       0x18f0a61d4 -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 280
13  UIKitCore                     	       0x18ee35360 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 608
14  UIKitCore                     	       0x18ee02594 -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 248
15  UIKitCore                     	       0x18ee01ebc __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke + 148
16  UIKitCore                     	       0x18ee01868 +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:fromCurrentState:actions:completion:] + 736
17  UIKitCore                     	       0x18ee00ea8 _UISceneSettingsDiffActionPerformChangesWithTransitionContextAndCompletion + 224
18  UIKitCore                     	       0x18eed4c80 -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 316
19  UIKitCore                     	       0x18eed34b8 __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.226 + 612
20  UIKitCore                     	       0x18eed2e10 -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 216
21  UIKitCore                     	       0x18ef9df48 -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 244
22  UIKitCore                     	       0x18ef9db28 -[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] + 336
23  FrontBoardServices            	       0x1a58166e4 -[FBSScene updater:didUpdateSettings:withDiff:transitionContext:completion:] + 660
24  FrontBoardServices            	       0x1a5826844 __94-[FBSWorkspaceScenesClient _queue_updateScene:withSettings:diff:transitionContext:completion:]_block_invoke_2 + 152
25  FrontBoardServices            	       0x1a58266cc -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 168
26  FrontBoardServices            	       0x1a582b7fc __94-[FBSWorkspaceScenesClient _queue_updateScene:withSettings:diff:transitionContext:completion:]_block_invoke + 344
27  libdispatch.dylib             	       0x194942dd4 _dispatch_client_callout + 20
28  libdispatch.dylib             	       0x19494686c _dispatch_block_invoke_direct + 288
29  FrontBoardServices            	       0x1a5827d58 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 52
30  FrontBoardServices            	       0x1a5827cd8 -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] + 240
31  FrontBoardServices            	       0x1a5827bb0 -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] + 28
32  CoreFoundation                	       0x18ca6f834 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
33  CoreFoundation                	       0x18ca6f7c8 __CFRunLoopDoSource0 + 176
34  CoreFoundation                	       0x18ca6d2f8 __CFRunLoopDoSources0 + 340
35  CoreFoundation                	       0x18ca6c484 __CFRunLoopRun + 828
36  CoreFoundation                	       0x18ca6bcd8 CFRunLoopRunSpecific + 608
37  GraphicsServices              	       0x1d14b91a8 GSEventRunModal + 164
38  UIKitCore                     	       0x18f0a5ae8 -[UIApplication _run] + 888
39  UIKitCore                     	       0x18f159d98 UIApplicationMain + 340
40  SwiftUI                       	       0x190c60294 0x19086c000 + 4145812
41  SwiftUI                       	       0x190c0c860 0x19086c000 + 3803232
42  SwiftUI                       	       0x190c1861c 0x19086c000 + 3851804
43  SomeHiddenApp                	       0x101403eb0 static SomeHiddenAppApp.$main() + 40
44  SomeHiddenApp                	       0x10140a780 main + 12
45  dyld                          	       0x1b0243154 start + 2356

[crashreport.txt](https://github.com/user-attachments/files/22780775/crashreport.txt)

Reproducing the issue

No response

Firebase SDK Version

12.3.0

Xcode Version

26.0

Installation Method

Swift Package Manager

Firebase Product(s)

Remote Config

Targeted Platforms

iOS

Relevant Log Output

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
{
  "originHash" : "057c7dbe71674adc8e41bfeb2396358a904056a75deaa79790bd44e21dfa2485",
  "pins" : [
    {
      "identity" : "abseil-cpp-binary",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/abseil-cpp-binary.git",
      "state" : {
        "revision" : "194a6706acbd25e4ef639bcaddea16e8758a3e27",
        "version" : "1.2024011602.0"
      }
    },
    {
      "identity" : "amplitude-ios",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/amplitude/Amplitude-iOS",
      "state" : {
        "revision" : "bfdec453a31fd35942a619ef472fcf2f09e2313a",
        "version" : "8.19.2"
      }
    },
    {
      "identity" : "analytics-connector-ios",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/amplitude/analytics-connector-ios.git",
      "state" : {
        "revision" : "e2ca17ac735bcbc48b13062484541702ef45153d",
        "version" : "1.0.3"
      }
    },
    {
      "identity" : "app-check",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/app-check.git",
      "state" : {
        "revision" : "61b85103a1aeed8218f17c794687781505fbbef5",
        "version" : "11.2.0"
      }
    },
    {
      "identity" : "appauth-ios",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/openid/AppAuth-iOS.git",
      "state" : {
        "revision" : "2781038865a80e2c425a1da12cc1327bcd56501f",
        "version" : "1.7.6"
      }
    },
    {
      "identity" : "appsflyerframework-dynamic",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/AppsFlyerSDK/AppsFlyerFramework-Dynamic",
      "state" : {
        "revision" : "8523443286ba788ca6ec11ec99e7df49e62e9042",
        "version" : "6.14.2"
      }
    },
    {
      "identity" : "devicekit",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/devicekit/DeviceKit.git",
      "state" : {
        "revision" : "97acf830fd0e0b719126e9450a51c95a91f66858",
        "version" : "5.2.3"
      }
    },
    {
      "identity" : "firebase-ios-sdk",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/firebase-ios-sdk.git",
      "state" : {
        "revision" : "8328630971a8fdd8072b36bb22bef732eb15e1f0",
        "version" : "11.4.0"
      }
    },
    {
      "identity" : "googleappmeasurement",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleAppMeasurement.git",
      "state" : {
        "revision" : "4f234bcbdae841d7015258fbbf8e7743a39b8200",
        "version" : "11.4.0"
      }
    },
    {
      "identity" : "googledatatransport",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleDataTransport.git",
      "state" : {
        "revision" : "617af071af9aa1d6a091d59a202910ac482128f9",
        "version" : "10.1.0"
      }
    },
    {
      "identity" : "googlesignin-ios",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleSignIn-iOS.git",
      "state" : {
        "revision" : "65fb3f1aa6ffbfdc79c4e22178a55cd91561f5e9",
        "version" : "8.0.0"
      }
    },
    {
      "identity" : "googleutilities",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleUtilities.git",
      "state" : {
        "revision" : "53156c7ec267db846e6b64c9f4c4e31ba4cf75eb",
        "version" : "8.0.2"
      }
    },
    {
      "identity" : "grpc-binary",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/grpc-binary.git",
      "state" : {
        "revision" : "f56d8fc3162de9a498377c7b6cea43431f4f5083",
        "version" : "1.65.1"
      }
    },
    {
      "identity" : "gtm-session-fetcher",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/gtm-session-fetcher.git",
      "state" : {
        "revision" : "0382ca27f22fb3494cf657d8dc356dc282cd1193",
        "version" : "3.4.1"
      }
    },
    {
      "identity" : "gtmappauth",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GTMAppAuth.git",
      "state" : {
        "revision" : "5d7d66f647400952b1758b230e019b07c0b4b22a",
        "version" : "4.1.1"
      }
    },
    {
      "identity" : "interop-ios-for-google-sdks",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/interop-ios-for-google-sdks.git",
      "state" : {
        "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648",
        "version" : "100.0.0"
      }
    },
    {
      "identity" : "keychain-swift",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/evgenyneu/keychain-swift.git",
      "state" : {
        "revision" : "75677d8be3c50898c8ffd0d107f88aa2740301fc",
        "version" : "22.0.0"
      }
    },
    {
      "identity" : "leveldb",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/leveldb.git",
      "state" : {
        "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1",
        "version" : "1.22.5"
      }
    },
    {
      "identity" : "lottie-ios",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/airbnb/lottie-ios",
      "state" : {
        "revision" : "769b88d83a42ca8d5572b020c96f47e3690b3796",
        "version" : "4.4.3"
      }
    },
    {
      "identity" : "mathjaxswift",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/colinc86/MathJaxSwift",
      "state" : {
        "revision" : "01797ab2738a8852d70fb81479bcf76768716220",
        "version" : "3.3.0"
      }
    },
    {
      "identity" : "nanopb",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/nanopb.git",
      "state" : {
        "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1",
        "version" : "2.30910.0"
      }
    },
    {
      "identity" : "networkimage",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/gonzalezreal/NetworkImage",
      "state" : {
        "revision" : "2849f5323265386e200484b0d0f896e73c3411b9",
        "version" : "6.0.1"
      }
    },
    {
      "identity" : "promises",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/promises.git",
      "state" : {
        "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac",
        "version" : "2.4.0"
      }
    },
    {
      "identity" : "qonversion-ios-sdk",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/qonversion/qonversion-ios-sdk",
      "state" : {
        "revision" : "1f1a8129c52c7c288b2bbb95c4b2a191174e56e7",
        "version" : "5.8.4"
      }
    },
    {
      "identity" : "swift-collections",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/apple/swift-collections",
      "state" : {
        "revision" : "ee97538f5b81ae89698fd95938896dec5217b148",
        "version" : "1.1.1"
      }
    },
    {
      "identity" : "swift-markdown-ui",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/gonzalezreal/swift-markdown-ui",
      "state" : {
        "revision" : "9a8119b37e09a770367eeb26e05267c75d854053",
        "version" : "2.3.1"
      }
    },
    {
      "identity" : "swift-package-manager-google-user-messaging-platform",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git",
      "state" : {
        "revision" : "cfe8b2ae16b9bc81f4cdf1d1a12a01a452489c32",
        "version" : "2.3.0"
      }
    },
    {
      "identity" : "swift-protobuf",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/apple/swift-protobuf.git",
      "state" : {
        "revision" : "9f0c76544701845ad98716f3f6a774a892152bcb",
        "version" : "1.26.0"
      }
    },
    {
      "identity" : "swiftui-introspect",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/siteline/SwiftUI-Introspect",
      "state" : {
        "revision" : "807f73ce09a9b9723f12385e592b4e0aaebd3336",
        "version" : "1.3.0"
      }
    },
    {
      "identity" : "swiftuix",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/SwiftUIX/SwiftUIX",
      "state" : {
        "revision" : "cdc902f828e8c457f601e744cc7607148dcdb91a",
        "version" : "0.2.2"
      }
    }
  ],
  "version" : 3
}

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
Replace this line with the contents of your Podfile.lock!

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions