I've been trying to run a Detox test for our mobile app this whole day, but haven't been able to.
Relevant npm versions I use:
"detox": "^17.14.6",
"jest": "^26.6.3",
"jest-circus": "^26.6.3",
"jest-cli": "^26.6.3",
detoxrc.json
{
"testRunner": "jest",
"runnerConfig": "e2e/config.json",
"configurations": {
"ios.sim.debug": {
"binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/Test.app",
"build": "xcodebuild -workspace ios/Test.xcworkspace -scheme Test -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
"type": "ios.simulator",
"device": {
"type": "iPhone 11 Pro"
}
}
}
}
test.e2e.js
describe('Overview', () => {
beforeEach(async () => {
await device.reloadReactNative();
});
it('should open the overviewTab', async () => {
await expect(element(by.id('overviewTab'))).toBeVisible();
});
});
It errors in a timeout:
Overview
✕ should open the overviewTab (120006 ms)
● Overview › should open the overviewTab
thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."
1 | describe('Overview', () => {
> 2 | beforeEach(async () => {
| ^
3 | await device.reloadReactNative();
4 | });
5 |
at test.e2e.js:2:3
at Object.<anonymous> (test.e2e.js:1:1)
When I run detox test --loglevel trace this is the whole log:
kevin#ip-192-168-0-203 mobile-app % detox test --loglevel trace
detox[9009] INFO: [test.js] loglevel="trace" useCustomLogger=true DETOX_START_TIMESTAMP=1608416281857 reportSpecs=true jest --config e2e/config.json --testNamePattern '^((?!:android:).)*$' --maxWorkers 1 e2e
detox[9010] TRACE: [Detox.js/DETOX_CREATE] created a Detox instance with config:
{"artifactsConfig":{"rootDir":"artifacts/ios.sim.debug.2020-12-19 22-18-01Z","plugins":{"log":{"enabled":false,"keepOnlyFailedTestsArtifacts":false},"screenshot":{"enabled":true,"shouldTakeAutomaticSnapshots":false,"keepOnlyFailedTestsArtifacts":false},"video":{"enabled":false,"keepOnlyFailedTestsArtifacts":false},"instruments":{"enabled":false,"keepOnlyFailedTestsArtifacts":false},"timeline":{"enabled":false}},"pathBuilder":{"_rootDir":"artifacts/ios.sim.debug.2020-12-19 22-18-01Z"}},"behaviorConfig":{"init":{"reinstallApp":true,"exposeGlobals":true,"launchApp":true},"cleanup":{"shutdownDevice":false}},"cliConfig":{"loglevel":"trace","useCustomLogger":"true"},"deviceConfig":{"binaryPath":"ios/build/Build/Products/Debug-iphonesimulator/Test.app","build":"xcodebuild -workspace ios/Test.xcworkspace -scheme Test -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build","type":"ios.simulator","device":{"type":"iPhone 11 Pro"}},"runnerConfig":{"testRunner":"jest","runnerConfig":"e2e/config.json","specs":"e2e"},"sessionConfig":{"autoStart":true,"server":"ws://localhost:62012","sessionId":"e836caba-d171-3480-4931-9ee02f21322b","debugSynchronization":false},"errorBuilder":{"filepath":"/Users/kevin/Projects/test/mobile-app/.detoxrc.json","contents":{"testRunner":"jest","runnerConfig":"e2e/config.json","configurations":{"ios.sim.debug":{"binaryPath":"ios/build/Build/Products/Debug-iphonesimulator/Test.app","build":"xcodebuild -workspace ios/Test.xcworkspace -scheme Test -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build","type":"ios.simulator","device":{"type":"iPhone 11 Pro"}}}},"configurationName":"ios.sim.debug"}}
detox[9010] INFO: [DetoxServer.js] server listening on localhost:62012...
detox[9010] DEBUG: [AsyncWebSocket.js/WEBSOCKET_OPEN] opened web socket to: ws://localhost:62012
detox[9010] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"login","params":{"sessionId":"e836caba-d171-3480-4931-9ee02f21322b","role":"tester"},"messageId":0}
detox[9010] DEBUG: [DetoxServer.js/LOGIN] role=tester, sessionId=e836caba-d171-3480-4931-9ee02f21322b
detox[9010] DEBUG: [DetoxServer.js/LOGIN_SUCCESS] role=tester, sessionId=e836caba-d171-3480-4931-9ee02f21322b
detox[9010] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] {"type":"loginSuccess","params":{"sessionId":"e836caba-d171-3480-4931-9ee02f21322b","role":"tester"},"messageId":0}
detox[9010] DEBUG: [exec.js/EXEC_CMD, #0] applesimutils --list --byType "iPhone 11 Pro"
detox[9010] TRACE: [exec.js/EXEC_SUCCESS, #0] [
{
"os" : {
"bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Library\/Developer\/CoreSimulator\/Profiles\/Runtimes\/iOS.simruntime",
"buildversion" : "18C61",
"runtimeRoot" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Library\/Developer\/CoreSimulator\/Profiles\/Runtimes\/iOS.simruntime\/Contents\/Resources\/RuntimeRoot",
"identifier" : "com.apple.CoreSimulator.SimRuntime.iOS-14-3",
"version" : "14.3",
"isAvailable" : true,
"name" : "iOS 14.3"
},
"dataPath" : "\/Users\/kevin\/Library\/Developer\/CoreSimulator\/Devices\/ED9068B9-5E52-404E-B689-ABA33E32E0A1\/data",
"logPath" : "\/Users\/kevin\/Library\/Logs\/CoreSimulator\/ED9068B9-5E52-404E-B689-ABA33E32E0A1",
"udid" : "ED9068B9-5E52-404E-B689-ABA33E32E0A1",
"isAvailable" : true,
"deviceType" : {
"minRuntimeVersion" : 851968,
"bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Library\/Developer\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 11 Pro.simdevicetype",
"maxRuntimeVersion" : 4294967295,
"name" : "iPhone 11 Pro",
"identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro",
"productFamily" : "iPhone"
},
"deviceTypeIdentifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro",
"state" : "Booted",
"name" : "iPhone 11 Pro"
}
]
detox[9010] DEBUG: [exec.js/EXEC_CMD, #1] applesimutils --list --byId ED9068B9-5E52-404E-B689-ABA33E32E0A1 --maxResults 1
detox[9010] TRACE: [exec.js/EXEC_SUCCESS, #1] [
{
"os" : {
"bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Library\/Developer\/CoreSimulator\/Profiles\/Runtimes\/iOS.simruntime",
"buildversion" : "18C61",
"runtimeRoot" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Library\/Developer\/CoreSimulator\/Profiles\/Runtimes\/iOS.simruntime\/Contents\/Resources\/RuntimeRoot",
"identifier" : "com.apple.CoreSimulator.SimRuntime.iOS-14-3",
"version" : "14.3",
"isAvailable" : true,
"name" : "iOS 14.3"
},
"dataPath" : "\/Users\/kevin\/Library\/Developer\/CoreSimulator\/Devices\/ED9068B9-5E52-404E-B689-ABA33E32E0A1\/data",
"logPath" : "\/Users\/kevin\/Library\/Logs\/CoreSimulator\/ED9068B9-5E52-404E-B689-ABA33E32E0A1",
"udid" : "ED9068B9-5E52-404E-B689-ABA33E32E0A1",
"isAvailable" : true,
"deviceType" : {
"minRuntimeVersion" : 851968,
"bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Library\/Developer\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 11 Pro.simdevicetype",
"maxRuntimeVersion" : 4294967295,
"name" : "iPhone 11 Pro",
"identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro",
"productFamily" : "iPhone"
},
"deviceTypeIdentifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro",
"state" : "Booted",
"name" : "iPhone 11 Pro"
}
]
detox[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onBootDevice({
coldBoot: false,
deviceId: 'ED9068B9-5E52-404E-B689-ABA33E32E0A1',
type: 'iPhone 11 Pro'
})
detox[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onBeforeUninstallApp({
deviceId: 'ED9068B9-5E52-404E-B689-ABA33E32E0A1',
bundleId: 'io.test.ios-dev'
})
detox[9010] DEBUG: [exec.js/EXEC_CMD, #2] /usr/bin/xcrun simctl uninstall ED9068B9-5E52-404E-B689-ABA33E32E0A1 io.test.ios-dev
detox[9010] DEBUG: [exec.js/EXEC_TRY, #2] Uninstalling io.test.ios-dev...
detox[9010] TRACE: [exec.js/EXEC_SUCCESS, #2]
detox[9010] DEBUG: [exec.js/EXEC_SUCCESS, #2] io.test.ios-dev uninstalled
detox[9010] DEBUG: [exec.js/EXEC_CMD, #3] /usr/bin/xcrun simctl install ED9068B9-5E52-404E-B689-ABA33E32E0A1 "/Users/kevin/Projects/test/mobile-app/ios/build/Build/Products/Debug-iphonesimulator/Test.app"
detox[9010] DEBUG: [exec.js/EXEC_TRY, #3] Installing /Users/kevin/Projects/test/mobile-app/ios/build/Build/Products/Debug-iphonesimulator/Test.app...
detox[9010] TRACE: [exec.js/EXEC_SUCCESS, #3]
detox[9010] DEBUG: [exec.js/EXEC_SUCCESS, #3] /Users/kevin/Projects/test/mobile-app/ios/build/Build/Products/Debug-iphonesimulator/Test.app installed
detox[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onBeforeTerminateApp({
deviceId: 'ED9068B9-5E52-404E-B689-ABA33E32E0A1',
bundleId: 'io.test.ios-dev'
})
detox[9010] DEBUG: [exec.js/EXEC_CMD, #4] /usr/bin/xcrun simctl terminate ED9068B9-5E52-404E-B689-ABA33E32E0A1 io.test.ios-dev
detox[9010] DEBUG: [exec.js/EXEC_TRY, #4] Terminating io.test.ios-dev...
detox[9010] TRACE: [exec.js/EXEC_SUCCESS, #4]
detox[9010] DEBUG: [exec.js/EXEC_SUCCESS, #4] io.test.ios-dev terminated
detox[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onTerminateApp({
deviceId: 'ED9068B9-5E52-404E-B689-ABA33E32E0A1',
bundleId: 'io.test.ios-dev'
})
detox[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onBeforeLaunchApp({
bundleId: 'io.test.ios-dev',
deviceId: 'ED9068B9-5E52-404E-B689-ABA33E32E0A1',
launchArgs: {
detoxServer: 'ws://localhost:62012',
detoxSessionId: 'e836caba-d171-3480-4931-9ee02f21322b'
}
})
detox[9010] DEBUG: [exec.js/EXEC_CMD, #5] SIMCTL_CHILD_DYLD_INSERT_LIBRARIES="/Users/kevin/Library/Detox/ios/1027ad4db0a05cf5e2f8569ce0a4fb6f1ac16bcb/Detox.framework/Detox" /usr/bin/xcrun simctl launch ED9068B9-5E52-404E-B689-ABA33E32E0A1 io.test.ios-dev --args -detoxServer "ws://localhost:62012" -detoxSessionId "e836caba-d171-3480-4931-9ee02f21322b" -detoxDisableHierarchyDump "YES"
detox[9010] DEBUG: [exec.js/EXEC_TRY, #5] Launching io.test.ios-dev...
detox[9010] TRACE: [exec.js/EXEC_SUCCESS, #5] io.test.ios-dev: 9047
detox[9010] DEBUG: [exec.js/EXEC_CMD, #6] /usr/bin/xcrun simctl get_app_container ED9068B9-5E52-404E-B689-ABA33E32E0A1 io.test.ios-dev
detox[9010] TRACE: [exec.js/EXEC_SUCCESS, #6] /Users/kevin/Library/Developer/CoreSimulator/Devices/ED9068B9-5E52-404E-B689-ABA33E32E0A1/data/Containers/Bundle/Application/CA9DB8EE-74C0-4BE1-9F2C-0FF3CC4D9AB0/Test.app
detox[9010] INFO: [AppleSimUtils.js] io.test.ios-dev launched. To watch simulator logs, run:
/usr/bin/xcrun simctl spawn ED9068B9-5E52-404E-B689-ABA33E32E0A1 log stream --level debug --style compact --predicate 'process == "Test"'
detox[9047] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onLaunchApp({
bundleId: 'io.test.ios-dev',
deviceId: 'ED9068B9-5E52-404E-B689-ABA33E32E0A1',
launchArgs: {
detoxServer: 'ws://localhost:62012',
detoxSessionId: 'e836caba-d171-3480-4931-9ee02f21322b',
detoxDisableHierarchyDump: 'YES'
},
pid: 9047
})
detox[9010] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"isReady","params":{},"messageId":-1000}
detox[9010] TRACE: [DetoxServer.js/MESSAGE] role=tester action=isReady (sessionId=e836caba-d171-3480-4931-9ee02f21322b)
detox[9010] DEBUG: [DetoxServer.js/CANNOT_FORWARD] role=testee not connected, cannot fw action (sessionId=e836caba-d171-3480-4931-9ee02f21322b)
detox[9010] DEBUG: [DetoxServer.js/LOGIN] role=testee, sessionId=e836caba-d171-3480-4931-9ee02f21322b
detox[9010] DEBUG: [DetoxServer.js/LOGIN_SUCCESS] role=testee, sessionId=e836caba-d171-3480-4931-9ee02f21322b
detox[9010] TRACE: [DetoxServer.js/MESSAGE] role=testee action=ready (sessionId=e836caba-d171-3480-4931-9ee02f21322b)
detox[9010] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] {"type":"ready","params":{},"messageId":-1000}
detox[9010] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"waitForActive","params":{},"messageId":1}
detox[9010] TRACE: [DetoxServer.js/MESSAGE] role=tester action=waitForActive (sessionId=e836caba-d171-3480-4931-9ee02f21322b)
detox[9010] TRACE: [DetoxServer.js/MESSAGE] role=testee action=waitForActiveDone (sessionId=e836caba-d171-3480-4931-9ee02f21322b)
detox[9010] TRACE: [DetoxServer.js/MESSAGE] role=testee action=ready (sessionId=e836caba-d171-3480-4931-9ee02f21322b)
detox[9010] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] {"type":"waitForActiveDone","params":{},"messageId":1}
detox[9010] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] {"type":"ready","messageId":-1000,"params":{}}
detox[9047] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onAppReady({
deviceId: 'ED9068B9-5E52-404E-B689-ABA33E32E0A1',
bundleId: 'io.test.ios-dev',
pid: 9047
})
detox[9010] INFO: at e2e/test.e2e.js:21:11
bafke
ROOT_DESCRIBE_BLOCK[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onRunDescribeStart({ name: 'ROOT_DESCRIBE_BLOCK' })
Overview[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onRunDescribeStart({ name: 'Overview' })
detox[9010] INFO: Overview is assigned to ED9068B9-5E52-404E-B689-ABA33E32E0A1 {"type":"iPhone 11 Pro"}
detox[9010] INFO: Overview: should open the overviewTab
detox[9010] TRACE: [Detox.js/DETOX_BEFORE_EACH] running test: "Overview should open the overviewTab"
detox[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onTestStart({
title: 'should open the overviewTab',
fullName: 'Overview should open the overviewTab',
status: 'running',
invocations: 1
})
detox[9010] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"reactNativeReload","params":{},"messageId":-1000}
detox[9010] TRACE: [DetoxServer.js/MESSAGE] role=tester action=reactNativeReload (sessionId=e836caba-d171-3480-4931-9ee02f21322b)
detox[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onHookFailure({
error: 'Exceeded timeout of 120000 ms for a hook.\n' +
'Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test.',
hook: 'beforeEach'
})
detox[9010] TRACE: [Detox.js/DETOX_AFTER_EACH] failed test: "Overview should open the overviewTab"
detox[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onTestDone({
title: 'should open the overviewTab',
fullName: 'Overview should open the overviewTab',
status: 'failed',
invocations: 1,
timedOut: true
})
detox[9010] WARN: [Client.js/PENDING_REQUESTS] App has not responded to the network requests below:
(id = -1000) reactNativeReload: {}
That might be the reason why the test "Overview should open the overviewTab" has timed out.
detox[9010] INFO: Overview: should open the overviewTab [FAIL]
Overview[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onRunDescribeFinish({ name: 'Overview' })
ROOT_DESCRIBE_BLOCK[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onRunDescribeFinish({ name: 'ROOT_DESCRIBE_BLOCK' })
detox[9010] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onBeforeCleanup()
detox[9010] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"cleanup","params":{"stopRunner":true},"messageId":-49642}
detox[9010] TRACE: [DetoxServer.js/MESSAGE] role=tester action=cleanup (sessionId=e836caba-d171-3480-4931-9ee02f21322b)
detox[9010] TRACE: [DetoxServer.js/MESSAGE] role=testee action=cleanupDone (sessionId=e836caba-d171-3480-4931-9ee02f21322b)
detox[9010] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] {"params":{},"type":"cleanupDone","messageId":-49642}
detox[9010] DEBUG: [DetoxServer.js/DISCONNECT] role=tester, sessionId=e836caba-d171-3480-4931-9ee02f21322b
detox[9010] DEBUG: [DetoxServer.js/DISCONNECT] role=testee, sessionId=e836caba-d171-3480-4931-9ee02f21322b
detox[9010] DEBUG: [DetoxServer.js/CANNOT_FORWARD] role=tester not connected, cannot fw action (sessionId=e836caba-d171-3480-4931-9ee02f21322b)
detox[9010] DEBUG: [DetoxServer.js/WS_CLOSE] Detox server connections terminated gracefully
FAIL e2e/test.e2e.js (133.272 s)
Overview
✕ should open the overviewTab (120006 ms)
● Overview › should open the overviewTab
thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."
1 | describe('Overview', () => {
> 2 | beforeEach(async () => {
| ^
3 | await device.reloadReactNative();
4 | });
5 |
at test.e2e.js:2:3
at Object.<anonymous> (test.e2e.js:1:1)
detox[9009] ERROR: [cli.js] Error: Command failed: jest --config e2e/config.json --testNamePattern '^((?!:android:).)*$' --maxWorkers 1 e2e
Edit
I managed to get some more info by using detox test --debug-synchronization 200 from the Synchronization troubleshooting and that resulted in constant logs of
detox[12636] INFO: [actions.js] Sync WXRunLoopIdlingResource: React Native thread is busy.
detox[12636] INFO: [actions.js] Sync Dispatch Queue: com.apple.main-thread
and one log about a call to firebase logging that wasn't getting fulfilled.
When I also use --loglevel trace I get this log constantly:
detox[12636] INFO: [actions.js] Sync WXRunLoopIdlingResource: React Native thread is busy.
detox[12636] INFO: [actions.js] Sync Dispatch Queue: com.apple.main-thread
detox[12636] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"currentStatus","params":{},"messageId":15}
detox[12636] TRACE: [DetoxServer.js/MESSAGE] role=tester action=currentStatus (sessionId=d7428263-4169-e8b4-756d-cc5b3c3d0f73)
detox[12636] TRACE: [DetoxServer.js/MESSAGE] role=testee action=currentStatusResult (sessionId=d7428263-4169-e8b4-756d-cc5b3c3d0f73)
detox[12636] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] {"type":"currentStatusResult","params":{"state":"busy","resources":[{"name":"WXRunLoopIdlingResource","info":{"runLoop":"<CFRunLoop 0x600000c7c700 [0x7fff8002e8c0]>{wakeup port = 0x5a17, stopped = false, ignoreWakeUps = true, \ncurrent mode = (none),\ncommon modes = <CFBasicHash 0x600003e18f30 [0x7fff8002e8c0]>{type = mutable set, count = 1,\nentries =>\n\t2 : <CFString 0x7fff801ab7e8 [0x7fff8002e8c0]>{contents = \"kCFRunLoopDefaultMode\"}\n}\n,\ncommon mode items = <CFBasicHash 0x600003e1bcf0 [0x7fff8002e8c0]>{type = mutable set, count = 4,\nentries =>\n\t0 : <CFRunLoopSource 0x60000057ae80 [0x7fff8002e8c0]>{signalled = No, valid = Yes, order = 0, context = <CFRunLoopSource context>{version = 0, info = 0x60000322ab60, callout = __NSThreadPerformPerform (0x7fff208581ee)}}\n\t2 : <CFRunLoopSource 0x600000519ec0 [0x7fff8002e8c0]>{signalled = No, valid = Yes, order = 0, context = <CFRunLoopSource context>{version = 0, info = 0x60000320e470, callout = __NSThreadPerformPerform (0x7fff208581ee)}}\n\t3 : <CFRunLoopSource 0x600000564a80 [0x7fff8002e8c0]>{signalled = Yes, valid = Yes, order = 0, context = <CFRunLoopSource context>{version = 0, info = 0x114fc0000, callout = _ZN3WTF7RunLoop11performWorkEPv (0x7fff32220270)}}\n\t4 : <CFRunLoopTimer 0x6000005600c0 [0x7fff8002e8c0]>{valid = Yes, firing = No, interval = 0, tolerance = 0, next fire date = 630235923 (486.399006 # 357970975424457), callout = _ZZN3WTF7RunLoop9TimerBase5startENS_7SecondsEbEN3$_18__invokeEP16__CFRunLoopTimerPv (0x7fff32220bb0 / 0x7fff32220bb0) (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore), context = <CFRunLoopTimer context 0x114ff65a0>}\n}\n,\nmodes = <CFBasicHash 0x600003e1bdb0 [0x7fff8002e8c0]>{type = mutable set, count = 2,\nentries =>\n\t0 : <CFRunLoopMode 0x600000b044e0 [0x7fff8002e8c0]>{name = kCFRunLoopCommonModes, port set = 0xc307, queue = 0x600001e13a80, source = 0x600001e12c00 (not fired), timer port = 0xc503, \n\tsources0 = (null),\n\tsources1 = (null),\n\tobservers = (null),\n\ttimers = (null),\n\tcurrently 630235437 (357484576475625) / soft deadline in: 1.84463866e+10 sec (# -1) / hard deadline in: 1.84463866e+10 sec (# -1)\n},\n\n\t2 : <CFRunLoopMode 0x600000b6cdd0 [0x7fff8002e8c0]>{name = kCFRunLoopDefaultMode, port set = 0x13a0f, queue = 0x600001e3e800, source = 0x600001e3db00 (not fired), timer port = 0x13c27, \n\tsources0 = <CFBasicHash 0x600003e1a7c0 [0x7fff8002e8c0]>{type = mutable set, count = 0,\nentries =>\n}\n,\n\tsources1 = <CFBasicHash 0x600003e1bea0 [0x7fff8002e8c0]>{type = mutable set, count = 0,\nentries =>\n}\n,\n\tobservers = (\n \"<CFRunLoopObserver 0x600000112b20 [0x7fff8002e8c0]>{valid = Yes, activities = 0xe7, repeats = Yes, order = 0, callout = _runLoopObserverWithBlockContext (0x7fff2038c504), context = <CFRunLoopObserver context 0x600003ec0090>}\"\n),\n\ttimers = <CFArray 0x600001455f20 [0x7fff8002e8c0]>{type = mutable-small, count = 1, values = (\n\t0 : <CFRunLoopTimer 0x6000005600c0 [0x7fff8002e8c0]>{valid = Yes, firing = No, interval = 0, tolerance = 0, next fire date = 630235923 (486.398864 # 357970975424457), callout = _ZZN3WTF7RunLoop9TimerBase5startENS_7SecondsEbEN3$_18__invokeEP16__CFRunLoopTimerPv (0x7fff32220bb0 / 0x7fff32220bb0) (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore), context = <CFRunLoopTimer context 0x114ff65a0>}\n)},\n\tcurrently 630235437 (357484576488240) / soft deadline in: 486.398936 sec (# 357970975424457) / hard deadline in: 486.398936 sec (# 357970975424457)\n},\n\n}\n}\n","prettyPrint":"React Native thread is busy."}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x7fff86d30c80] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x7fff86d31100], width = 0x1, state = 0x001ffe9000000300, dirty, in-flight = 0, thread = 0x303 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":15},"messageId":15}
So I'm going to continue to check out where this might be coming from. I tried adding logs from the very beginning of the source code, but nothing seems to be coming through though.