Detox hangs when running android

Created on 15 Oct 2020  Β·  15Comments  Β·  Source: wix/Detox

Hi,
First of all, I really like Detox, so thank you for this library!

Describe the bug
I'm trying to run Detox tests on react native android device in debug mode.

The tests aren't running, and detox trace shows "CANNOT_FORWARD:

If in different terminal I start react-native bundle and press "R" for reloading it, the tests start to run.

To Reproduce

  1. I follow the android environment setUp
    2.write tests
    3.run detox on android
    4.the device open with the app
    5.the tests hangs

Expected behavior
Detox start running over the tests

Device and Verbose Detox Logs

detox[97978] DEBUG: [exec.js/EXEC_CMD, #21] "/Android/sdk/platform-tools/adb" -s emulator-17722 shell "date +\"%m-%d %T.000\""
detox[97978] DEBUG: [exec.js/EXEC_CMD, #22] "/Android/sdk/platform-tools/adb" -s emulator-17722 reverse tcp:64867 tcp:64867
detox[97978] DEBUG: [exec.js/EXEC_CMD, #23] "/Android/sdk/platform-tools/adb" -s emulator-17722 shell "pm list instrumentation"
detox[97978] DEBUG: [exec.js/SPAWN_CMD, #24] [pid=98010] /Android/sdk/platform-tools/adb -s emulator-17722 shell am instrument -w -r -e detoxServer ws://localhost:64867 -e detoxSessionId 2f0e4128-30e3-0737-4ac0-74907e3abed9 -e debug false com.aaa.myWireless.test/androidx.test.runner.AndroidJUnitRunner
detox[97978] DEBUG: [exec.js/EXEC_CMD, #25] "/Android/sdk/platform-tools/adb" -s emulator-17722 shell "ps | grep \"com\.aaa\.myWireless$\""
detox[97978] DEBUG: [DetoxServer.js/CANNOT_FORWARD] role=testee not connected, cannot fw action (sessionId=2f0e4128-30e3-0737-4ac0-74907e3abed9)

I tried it on this simulators:

Screen Shot 2020-10-15 at 10 11 34

Screen Shot 2020-10-15 at 14 38 21

Environment (please complete the following information):

  • Detox:"^17.10.0"
  • React Native:"0.61.5"
  • Node:v14.8.0
  • Device:"Pixel_3a_XL_API_29"
  • OS: MacOS
  • Test-runner (select one): jest-circus

I tried it too :

triagbug android

All 15 comments

I have the same problem, can not run tests without pressing the reload bundle

Same here

Same for me.

same here

+1

@barak109 could you please provide _device_ logs? They might give us a hint as to why the emulator fails to connect back to the detox server.

Hi @d4vidi Thanks for the response.
I use Pixel_3a_XL_API_29 device
And our project is a native project with RN
I run: detox test --configuration android --record-logs all

Terminal info:

detox[80546] INFO:  [test.js] configuration="android" recordLogs="all" useCustomLogger=true forceAdbInstall=false DETOX_START_TIMESTAMP=1605425897121 readOnlyEmu=false reportSpecs=true jest --config e2e/config.json --testNamePattern '^((?!:ios:).)*$' --maxWorkers 1 e2e
detox[80548] INFO:  [DetoxServer.js] server listening on localhost:59936...
detox[80548] ERROR: DetoxRuntimeError: Failed to run application on the device

HINT: Most likely, your tests have timed out and called detox.cleanup() while it was waiting for "ready" message (over WebSocket) from the instrumentation process.
detox[80548] INFO:  Positive Device Upgrade Flow is assigned to undefined
detox[80548] WARN:  [Client.js/PENDING_REQUESTS] App has not responded to the network requests below:
  (id = -1000) isReady: {}

Unresponded network requests might result in timeout errors in Detox tests.

detox[80546] ERROR: [cli.js] Error: Command failed: jest --config e2e/config.json --testNamePattern '^((?!:ios:).)*$' --maxWorkers 1 e2e

artifacts/detox_pid_80548.json.log


{"name":"detox","hostname":"blabla","pid":80548,"__filename":"/Users/blabla/Desktop/blabla/blabla/blabla/js/node_modules/detox/src/server/DetoxServer.js","level":30,"msg":"server listening on localhost:59936...","time":"2020-11-15T07:38:19.486Z","v":0}
{"name":"detox","hostname":"blabla","pid":80548,"level":50,"msg":"DetoxRuntimeError: Failed to run application on the device\n\nHINT: Most likely, your tests have timed out and called detox.cleanup() while it was waiting for \"ready\" message (over WebSocket) from the instrumentation process.","time":"2020-11-15T07:41:44.674Z","v":0}
{"name":"detox","hostname":"blabla","pid":80548,"level":30,"event":"WORKER_ASSIGN","msg":"\u001b[97mPositive Device Upgrade Flow\u001b[39m is assigned to \u001b[91mundefined\u001b[39m","time":"2020-11-15T07:41:45.238Z","v":0}
{"name":"detox","hostname":"blabla","pid":80548,"level":30,"event":"SPEC_STATE_CHANGE","msg":"\u001b[1m\u001b[37mPositive Device Upgrade Flow > Log In With BeMock - Android > Android: GotoMainPage: \u001b[39m\u001b[22m\u001b[90mShould tap on accept terms button \u001b[39m","time":"2020-11-15T07:41:45.239Z","v":0}
{"name":"detox","hostname":"blabla","pid":80548,"__filename":"/Users/blabla/Desktop/blabla/blabla/blabla/js/node_modules/detox/src/client/Client.js","level":40,"event":"PENDING_REQUESTS","msg":"App has not responded to the network requests below:\n  (id = -1000) isReady: {}\n\nUnresponded network requests might result in timeout errors in Detox tests.\n","time":"2020-11-15T07:41:45.383Z","v":0}

artifacts/detox_pid_80548.log

detox[80548] INFO:  [DetoxServer.js] server listening on localhost:59936...
detox[80548] ERROR: DetoxRuntimeError: Failed to run application on the device

HINT: Most likely, your tests have timed out and called detox.cleanup() while it was waiting for "ready" message (over WebSocket) from the instrumentation process.
detox[80548] INFO:  Positive Device Upgrade Flow is assigned to undefined
detox[80548] INFO:  Positive Device Upgrade Flow > Log In With BeMock - Android > Android: GotoMainPage: Should tap on accept terms button 
detox[80548] WARN:  [Client.js/PENDING_REQUESTS] App has not responded to the network requests below:
  (id = -1000) isReady: {}

Unresponded network requests might result in timeout errors in Detox tests.

artifacts/emulator-5554 2020-11-15 07-41-45Z.startup.log

11-15 09:38:24.179  5264  5393 I FORESEE_TRIGGERΒ Β Β Β Β Β Β : Disabling debug logging
11-15 09:38:24.182  5264  5316 I UsageTrackerFacilitator: Usage tracking enabled
11-15 09:38:24.185  5264  5316 I TestRequestBuilder: Scanning classpath to find tests in paths [/data/app/com.blabla.myWirelessTest.test-oAK-ZL4blablafTauA==/base.apk]
11-15 09:38:24.185  5264  5393 I FORESEE_SDK_COMMONΒ Β Β Β : Loaded configuration and state for ForeSee SDK v5.3.1
11-15 09:38:24.185  5264  5316 W .myWirelessTes: Opening an oat file without a class loader. Are you using the deprecated DexFile APIs?
11-15 09:38:24.195  5264  5393 W .myWirelessTes: Accessing hidden field Lsun/misc/Unsafe;->theUnsafe:Lsun/misc/Unsafe; (greylist, reflection, allowed)
11-15 09:38:24.195  5264  5393 W .myWirelessTes: Accessing hidden method Lsun/misc/Unsafe;->allocateInstance(Ljava/lang/Class;)Ljava/lang/Object; (greylist, reflection, allowed)
11-15 09:38:24.301  5264  5316 I .myWirelessTes: Waiting for a blocking GC ClassLinker
11-15 09:38:24.532  5264  5316 D TestExecutor: Adding listener androidx.test.internal.runner.listener.LogRunListener
11-15 09:38:24.532  5264  5316 D TestExecutor: Adding listener androidx.test.internal.runner.listener.InstrumentationResultPrinter
11-15 09:38:24.532  5264  5316 D TestExecutor: Adding listener androidx.test.internal.runner.listener.ActivityFinisherRunListener
11-15 09:38:24.536  5264  5316 I TestRunner: run started: 3 tests
11-15 09:38:24.542  5264  5316 I TestRunner: started: runDetoxTests(com.blabla.myWireless.DetoxTest)
11-15 09:38:24.547  5264  5264 I MonitoringInstr: Activities that are still in CREATED to STOPPED: 0
11-15 09:38:24.559  5264  5316 D EventInjectionStrategy: Creating injection strategy with input manager.
11-15 09:38:24.560  5264  5316 W .myWirelessTes: Accessing hidden method Landroid/hardware/input/InputManager;->getInstance()Landroid/hardware/input/InputManager; (greylist, reflection, allowed)
11-15 09:38:24.560  5264  5316 W .myWirelessTes: Accessing hidden method Landroid/hardware/input/InputManager;->injectInputEvent(Landroid/view/InputEvent;I)Z (greylist, reflection, allowed)
11-15 09:38:24.560  5264  5316 W .myWirelessTes: Accessing hidden field Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I (greylist, reflection, allowed)
11-15 09:38:24.573  5264  5316 W .myWirelessTes: Accessing hidden field Ljava/lang/reflect/Field;->accessFlags:I (greylist, reflection, allowed)
11-15 09:38:24.591  5264  5264 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@bgf7961
11-15 09:38:24.607  5264  5401 D libEGL  : Emulator has host GPU support, qemu.gles is set to 1.
11-15 09:38:24.607  5264  5401 W libc    : Unable to set property "qemu.gles" to "1": connection failed; errno=13 (Permission denied)
11-15 09:38:24.620  5264  5264 D LifecycleMonitor: Lifecycle status change: com.blabla.myWireless.activity.login.blablaScreenActivity@c273947 in: PRE_ON_CREATE
11-15 09:38:24.621  5264  5264 I blabla   : β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
11-15 09:38:24.621  5264  5264 I blabla   : β”‚ Thread: main
11-15 09:38:24.621  5264  5264 I blabla   : β”œβ”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„
11-15 09:38:24.621  5264  5264 I blabla   : β”‚ blablaScreenActivity.onCreate  (blablaScreenActivity.java:36)
11-15 09:38:24.621  5264  5264 I blabla   : β”‚    Logger.log  (Logger.java:68)
11-15 09:38:24.621  5264  5264 I blabla   : β”œβ”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„
11-15 09:38:24.621  5264  5264 I blabla   : β”‚ Application debuggable flag: 2
11-15 09:38:24.621  5264  5264 I blabla   : └────────────────────────────────────────────────────────────────────────────────────────────────────────────────
11-15 09:38:41.275  5264  5264 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@7d0sf70
11-15 09:38:41.307  5264  5264 D LifecycleMonitor: Lifecycle status change: com.blabla.myWireless.activities.CheckEULAActivity@3b6cf9c in: PRE_ON_CREATE
11-15 09:38:41.314  5264  5264 I blabla   : 
11-15 09:38:42.767  5264  5497 I Detox   : Detox thread starting (com.wix.detox.manager)
11-15 09:38:42.768  5264  5497 I DetoxManager: DetoxServerUrl: ws://10.0.2.2:59936
11-15 09:38:42.768  5264  5497 I DetoxManager: DetoxSessionId: 481f2846-fd5d-b098-4d0e-867735476856
11-15 09:38:42.782  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 8
11-15 09:38:42.791  5264  5264 D SoLoader: About to load: libjscexecutor.so
11-15 09:38:42.791  5264  5264 D SoLoader: libjscexecutor.so not found on /data/data/com.blabla.myWirelessTest/lib-main
11-15 09:38:42.791  5264  5264 D SoLoader: libjscexecutor.so found on /data/app/com.blabla.myWirelessTest-w80bL_DzrB1LAXkSsajniQ==/lib/x86_64
11-15 09:38:42.791  5264  5264 D SoLoader: Not resolving dependencies for libjscexecutor.so
11-15 09:38:42.795  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:42.796  5264  5264 E SoLoader: couldn't find DSO to load: libjscexecutor.so caused by: dlopen failed: library "libjsc.so" not found
11-15 09:38:42.797  5264  5264 D ReactNative: ReactInstanceManager.ctor()
11-15 09:38:42.797  5264  5264 D SoLoader: init exiting
11-15 09:38:42.824  5264  5424 D HttpResourceProvider: in HaloXCommon-1.0.83,the post data in  JsonRequest is:{"clientID":"O5FoY1UsNnqOAb4ShkIIlZbfqkU="}
11-15 09:38:43.037  5264  5424 D HttpResourceProvider: in HaloXCommon-1.0.83,responseCode : 200
11-15 09:38:43.037  5264  5424 D HttpResourceProvider: in HaloXCommon-1.0.83,the response encoding:null
11-15 09:38:43.906  5264  5504 D SoLoader: About to load: libreactnativejni.so
11-15 09:38:43.907  5264  5504 D SoLoader: libreactnativejni.so not found on /data/data/com.blabla.myWirelessTest/lib-main
11-15 09:38:43.907  5264  5504 D SoLoader: libreactnativejni.so found on /data/app/com.blabla.myWirelessTest-w80bL_DzrB1LAXkSsajniQ==/lib/x86_64
11-15 09:38:43.907  5264  5504 D SoLoader: Not resolving dependencies for libreactnativejni.so
11-15 09:38:43.916  5264  5504 D SoLoader: Loaded: libreactnativejni.so
11-15 09:38:43.916  5264  5504 D SoLoader: About to load: libfb.so
11-15 09:38:43.916  5264  5504 D SoLoader: libfb.so not found on /data/data/com.blabla.myWirelessTest/lib-main
11-15 09:38:43.916  5264  5504 D SoLoader: libfb.so found on /data/app/com.blabla.myWirelessTest-w80bL_DzrB1LAXkSsajniQ==/lib/x86_64
11-15 09:38:43.916  5264  5504 D SoLoader: Not resolving dependencies for libfb.so
11-15 09:38:43.917  5264  5504 D SoLoader: About to load: libfb.so
11-15 09:38:43.917  5264  5504 D SoLoader: libfb.so not found on /data/data/com.blabla.myWirelessTest/lib-main
11-15 09:38:43.917  5264  5504 D SoLoader: libfb.so found on /data/app/com.blabla.myWirelessTest-w80bL_DzrB1LAXkSsajniQ==/lib/x86_64
11-15 09:38:43.917  5264  5504 D SoLoader: Not resolving dependencies for libfb.so
11-15 09:38:43.917  5264  5504 I .myWirelessTes: Thread[70,tid=5504,Native,Thread*=0x75953513f400,peer=0x12f844a8,"OkHttp http://10.0.2.2:8081/..."] recursive blablaempt to load library "/data/app/com.blabla.myWirelessTest-w80bL_DzrB1LblaniQ==/lib/x86_64/libfb.so"
11-15 09:38:43.917  5264  5504 D SoLoader: Loaded: libfb.so
11-15 09:38:43.917  5264  5504 D SoLoader: Loaded: libfb.so
11-15 09:38:44.109  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.109  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.118  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.119  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.137  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.137  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.154  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.155  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.174  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.175  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.192  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.193  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.209  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.210  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.230  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.230  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.247  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.248  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.270  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.271  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.280  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.281  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.299  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.299  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.323  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.324  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.340  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.341  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.358  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.358  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
11-15 09:38:44.379  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 1 6
11-15 09:38:44.380  5264  5399 D eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 2
--------- beginning of crash
11-15 09:41:43.212  5264  5497 E AndroidRuntime: FATAL EXCEPTION: com.wix.detox.manager
11-15 09:41:43.212  5264  5497 E AndroidRuntime: Process: com.blabla.myWirelessTest, PID: 5264
11-15 09:41:43.212  5264  5497 E AndroidRuntime: com.wix.detox.common.DetoxErrors$DetoxRuntimeException: Waited for the new RN-context for too long! (180 seconds)
11-15 09:41:43.212  5264  5497 E AndroidRuntime: If you think that's not long enough, consider applying a custom Detox runtime-config in DetoxTest.runTests().
11-15 09:41:43.212  5264  5497 E AndroidRuntime:    at com.wix.detox.reactnative.ReactNativeLoadingMonitor.awaitNewRNContext(ReactNativeLoadingMonitor.kt:59)
11-15 09:41:43.212  5264  5497 E AndroidRuntime:    at com.wix.detox.reactnative.ReactNativeLoadingMonitor.getNewContext(ReactNativeLoadingMonitor.kt:24)
11-15 09:41:43.212  5264  5497 E AndroidRuntime:    at com.wix.detox.reactnative.ReactNativeExtension.awaitNewReactNativeContext(ReactNativeExtension.kt:109)
11-15 09:41:43.212  5264  5497 E AndroidRuntime:    at com.wix.detox.reactnative.ReactNativeExtension.waitForRNBootstrap(ReactNativeExtension.kt:58)
11-15 09:41:43.212  5264  5497 E AndroidRuntime:    at com.wix.detox.DetoxManager.initReactNativeIfNeeded(DetoxManager.java:137)
11-15 09:41:43.212  5264  5497 E AndroidRuntime:    at com.wix.detox.DetoxManager.access$000(DetoxManager.java:26)
11-15 09:41:43.212  5264  5497 E AndroidRuntime:    at com.wix.detox.DetoxManager$2.run(DetoxManager.java:79)
11-15 09:41:43.212  5264  5497 E AndroidRuntime:    at android.os.Handler.handleCallback(Handler.java:883)
11-15 09:41:43.212  5264  5497 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:100)
11-15 09:41:43.212  5264  5497 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:214)
11-15 09:41:43.212  5264  5497 E AndroidRuntime:    at com.wix.detox.Detox$1.run(Detox.java:214)
11-15 09:41:43.212  5264  5497 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:919)
11-15 09:41:43.213  5264  5497 I FORESEE_CAPTUREΒ Β Β Β Β Β Β : Uncaught:\ncom.wix.detox.common.DetoxErrors$DetoxRuntimeException: Waited for the new RN-context for too long! (180 seconds)\nIf you think that\'s not long enough, consider applying a custom Detox runtime-config in DetoxTest.runTests().\n\tat com.wix.detox.reactnative.ReactNativeLoadingMonitor.awaitNewRNContext(ReactNativeLoadingMonitor.kt:59)\n\tat com.wix.detox.reactnative.ReactNativeLoadingMonitor.getNewContext(ReactNativeLoadingMonitor.kt:24)\n\tat com.wix.detox.reactnative.ReactNativeExtension.awaitNewReactNativeContext(ReactNativeExtension.kt:109)\n\tat com.wix.detox.reactnative.ReactNativeExtension.waitForRNBootstrap(ReactNativeExtension.kt:58)\n\tat com.wix.detox.DetoxManager.initReactNativeIfNeeded(DetoxManager.java:137)\n\tat com.wix.detox.DetoxManager.access$000(DetoxManager.java:26)\n\tat com.wix.detox.DetoxManager$2.run(DetoxManager.java:79)\n\tat android.os.Handler.handleCallback(Handler.java:883)\n\tat android.os.Handler.dispatchMessage(Handler.java:100)\n\tat android.os.Looper.loop(Looper.java:214)\n\tat com.wix.detox.Detox$1.run(Detox.java:214)\n\tat java.lang.Thread.run(Thread.java:919)\n
11-15 09:41:43.215  5264  5497 E FORESEE_TRIGGERΒ Β Β Β Β Β Β : Uncaught exception: Waited for the new RN-context for too long! (180 seconds)\nIf you think that\'s not long enough, consider applying a custom Detox runtime-config in DetoxTest.runTests().
11-15 09:41:43.323  5264  5497 I Process : Sending signal. PID: 5264 SIG: 9

Well the error can be seen pretty clearly now:

11-15 09:41:43.212  5264  5497 E AndroidRuntime: Process: com.blabla.myWirelessTest, PID: 5264
11-15 09:41:43.212  5264  5497 E AndroidRuntime: com.wix.detox.common.DetoxErrors$DetoxRuntimeException: Waited for the new RN-context for too long! (180 seconds)
11-15 09:41:43.212  5264  5497 E AndroidRuntime: If you think that's not long enough, consider applying a custom Detox runtime-config in DetoxTest.runTests().

Do you run the app in debug or release mode? Namely, is the JS-bundle bundled into the APK or is it loaded from RN's metro server, running locally?

@d4vidi We run it in debug mode(we tried it in release mode too but it doesn't help), and JS-bundle bundled into the APK

In debug mode the bundle is usually loaded from the local server, as the app loads. Is it possible that it is rather big, then?
In any case - as the message says, you can try to provide a longer time-out to DetoxTest.runTests() using a custom configuration. Please revisit your implementation of DetoxTest.java and lmk.

One more thing to check, maybe, in cases where the bundle is loaded from the local metro server, is that the test emulator is properly set up with an adb reverse command for the desired port (default is 8081 IIRC).

@d4vidi

In debug mode the bundle is usually loaded from the local server, as the app loads. Is it possible that it is rather big, then?
In any case - as the message says, you can try to provide a longer time-out to DetoxTest.runTests() using a custom configuration. Please revisit your implementation of DetoxTest.java and lmk.

I tried to increase the timeout to 10 minutes and it's still hanging

One more thing to check, maybe, in cases where the bundle is loaded from the local metro server, is that the test emulator is properly set up with an adb reverse command for the desired port (default is 8081 IIRC).

No we don't do that, so I'm wondering how it can be when I reload the bundle manually when I press 'R' and all works great..

@barak109 any updates? Something is obviously keeping the app from loading the JS code. Need to find what it is, and whether it's a problem in Detox.

@barak109 any updates? Something is obviously keeping the app from loading the JS code. Need to find what it is and whether it's a problem in Detox.

@d4vidi Unfortunately no, we tried for a month to understand the problem there(figure out why the app doesn't load the JS code) but we didn't find any solution from our side.

Same here

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rengarima picture rengarima  Β·  4Comments

isnifer picture isnifer  Β·  4Comments

jrobber picture jrobber  Β·  3Comments

rikur picture rikur  Β·  4Comments

LeoNatan picture LeoNatan  Β·  4Comments