Detox: tests crash when updated from v17 to v19. Signal 11 was raised

Description

updated project to xcode 13.1, updated detox to v19. tests crash on startup frequently. always crashes with maxWorkers set to 2, sometimes passes with maxWorkers 1. We are using react-native-firebase too

  • [x ] I have tested this issue on the latest Detox release and it still reproduces

Screenshots / Video

 FAIL  e2e/000-screens/ShopScreen.e2e.js (11.085 s)
  ShopScreen
    ✕ can tap on ShopPromo and see ShopPromotionsScreen (7425 ms)

  ● ShopScreen › can tap on ShopPromo and see ShopPromotionsScreen

    DetoxRuntimeError: The pending request #-1000 ("isReady") has been rejected due to the following error:

    The app has crashed, see the details below:

    Signal 11 was raised
    (
    	0   Detox                               0x0000000108ffa6c5 +[NSThread(DetoxUtils) dtx_demangledCallStackSymbols] + 37
    	1   Detox                               0x0000000108ffd250 __DTXHandleCrash + 464
    	2   Detox                               0x0000000108ffd991 __DTXHandleSignal + 59
    	3   libsystem_platform.dylib            0x00007fff6bfe7e2d _sigtramp + 29
    	4   ???                                 0x0000000300584d80 0x0 + 12890688896
    	5   CoreFoundation                      0x00007fff2046ccdf -[__NSDictionaryM dealloc] + 128
    	6   libobjc.A.dylib                     0x00007fff2019c9f7 objc_object::sidetable_release(bool, bool) + 177
    	7   libobjc.A.dylib                     0x00007fff20198cb3 _object_remove_assocations + 578
    	8   libobjc.A.dylib                     0x00007fff20196207 objc_destructInstance + 84
    	9   libobjc.A.dylib                     0x00007fff2019c187 -[NSObject dealloc] + 21
    	10  Xxxxx Xxxxxx                       0x0000000104bd71fa -[FBSDKGraphRequestConnection dealloc] + 106
    	11  libobjc.A.dylib                     0x00007fff2019c9f7 objc_object::sidetable_release(bool, bool) + 177
    	12  Xxxxx Xxxxxx                        0x0000000104872d1d __destroy_helper_block_e8_32s + 29
    	13  libsystem_blocks.dylib              0x00007fff2008a434 _Block_release + 130
    	14  Xxxxx Xxxxxx                       0x000000010486ed25 __destroy_helper_block_e8_32s40s48s56s + 101
    	15  libsystem_blocks.dylib              0x00007fff2008a434 _Block_release + 130
    	16  libsystem_blocks.dylib              0x00007fff2008a434 _Block_release + 130
    	17  libdispatch.dylib                   0x00007fff20111a56 _dispatch_client_callout + 8
    	18  libdispatch.dylib                   0x00007fff2011ee20 _dispatch_main_queue_callback_4CF + 1073
    	19  CoreFoundation                      0x00007fff2036985d __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
    	20  CoreFoundation                      0x00007fff203640ba __CFRunLoopRun + 2772
    	21  CoreFoundation                      0x00007fff20363103 CFRunLoopRunSpecific + 567
    	22  GraphicsServices                    0x00007fff2c851cd3 GSEventRunModal + 139
    	23  UIKitCore                           0x00007fff24ffbe63 -[UIApplication _run] + 928
    	24  DetoxSync                           0x0000000109371dd2 __detox_sync_UIApplication_run + 362
    	25  UIKitCore                           0x00007fff25000a53 UIApplicationMain + 101
    	26  Xxxxx Xxxxxx                        0x00000001046d5f98 main + 104
    	27  dyld                                0x0000000108b22e1e start_sim + 10
    	28  ???                                 0x0000000114a1f4fe 0x0 + 4641125630
    	29  ???                                 0x0000000000000000 0x0 + 0
    	30  Xxxxx Xxxxxx                       0x00000001046d1000 __dso_handle + 0
    )

      12 | export const launchApp = async (launchArgs = undefined) => {
      13 |   // await device.launchApp({ newInstance: true, launchArgs: { clearAsyncStorage: true } })
    > 14 |   await device.launchApp({ newInstance: true, launchArgs : {'DTXEnableVerboseSyncSystem': 'YES', 'DTXEnableVerboseSyncResources': 'YES'} })
         |                ^
      15 |   const result = await waitForApp()
      16 |   return result
      17 | }

      at launchApp$ (helpers.js:14:16)
      at tryCatch (../node_modules/regenerator-runtime/runtime.js:63:40)
      at Generator.invoke [as _invoke] (../node_modules/regenerator-runtime/runtime.js:293:22)
      at Generator.next (../node_modules/regenerator-runtime/runtime.js:118:21)
      at tryCatch (../node_modules/regenerator-runtime/runtime.js:63:40)
      at invoke (../node_modules/regenerator-runtime/runtime.js:154:20)
      at ../node_modules/regenerator-runtime/runtime.js:189:11

Environment

  • Detox: 19
  • React Native: 0.64
  • @react-native-firebase : 11.3.2
  • Node: 12
  • Device: ios sim 12
  • Xcode: 13.1
  • iOS: 15
  • macOS: 12.0.1
  • Test-runner (select one): jest-circus

Logs

fail.log pass.log

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 20 (6 by maintainers)

Commits related to this issue

Most upvoted comments

Amazing news @christopherdro! CC @d4vidi

@asafkorem FBSDKGraphRequestConnection dealloc seems suspicious, as it may trigger a swizzled dealloc failure flow.