wix / Detox

Gray box end-to-end testing and automation framework for mobile apps
https://wix.github.io/Detox/
MIT License
11.2k stars 1.92k forks source link

App Crashes on IOS 18 #4620

Open Vazid005 opened 2 days ago

Vazid005 commented 2 days ago

What happened?

While Trying to Launch the app with detox the app is crashing only happens with the Xcode 16 build

What was the expected behaviour?

APP should be launched and perform the desired steps

Was it tested on latest Detox?

Did your test throw out a timeout?

Help us reproduce this issue!

No response

In what environment did this happen?

Detox version: 20.26.2 React Native version: 0.74.5 Has Fabric (React Native's new rendering system) enabled: no Node version: 21.6.0 Device model: Iphone 16 iOS version: 18 macOS version: 15.0.1 Xcode version: 16.0 Test-runner (select one): jest

Detox logs

Detox logs ``` 11:23:30.506 detox[77644] B artifacts-manager onTerminateApp 11:23:30.506 detox[77644] E artifacts-manager onTerminateApp 11:23:30.506 detox[77644] E device terminateApp 11:23:30.506 detox[77644] E device selectApp 11:23:30.506 detox[77644] B device installApp 11:23:30.507 detox[77644] i child-process:EXEC_CMD Installing app... 11:23:31.327 detox[77644] i child-process:EXEC_SUCCESS App installed 11:23:31.327 detox[77644] E device installApp 11:23:31.328 detox[77644] B device selectApp 11:23:31.328 detox[77644] B device terminateApp 11:23:31.328 detox[77644] B artifacts-manager onBeforeTerminateApp 11:23:31.328 detox[77644] E artifacts-manager onBeforeTerminateApp 11:23:31.328 detox[77644] i child-process:EXEC_CMD Terminating app... 11:23:32.483 detox[77644] i child-process:EXEC_TRY_FAIL Failed to terminate app: App not found 11:23:32.610 detox[77644] i child-process:EXEC_FAIL Termination command failed 11:23:32.611 detox[77644] B artifacts-manager onTerminateApp 11:23:32.611 detox[77644] E artifacts-manager onTerminateApp 11:23:32.611 detox[77644] E device terminateApp 11:23:32.611 detox[77644] E device selectApp 11:23:32.611 detox[77644] E lifecycle set up environment 11:23:33.185 detox[77644] i lifecycle Test assigned to device 11:23:33.185 detox[77644] B lifecycle run the tests 11:23:33.186 detox[77644] B artifacts-manager onRunDescribeStart 11:23:33.186 detox[77644] E artifacts-manager onRunDescribeStart 11:23:33.186 detox[77644] B lifecycle [Test]: Login screen 11:23:33.186 detox[77644] B artifacts-manager onRunDescribeStart 11:23:33.186 detox[77644] E artifacts-manager onRunDescribeStart 11:23:33.187 detox[77644] B lifecycle Login 11:23:33.187 detox[77644] i lifecycle [Test]: Login screen: Login 11:23:33.188 detox[77644] B artifacts-manager onTestStart 11:23:33.188 detox[77644] i artifact:ARTIFACT_START starting SimulatorVideoRecording 11:23:33.189 detox[77644] i artifact:ARTIFACT_START starting SimulatorInstrumentsRecording 11:23:33.189 detox[77644] E artifacts-manager onTestStart 11:23:33.189 detox[77644] B lifecycle beforeEach 11:23:33.190 detox[77644] E lifecycle beforeEach 11:23:33.190 detox[77644] B lifecycle test_fn 11:23:33.191 detox[77644] i user Creating test user 11:23:33.589 detox[77644] i child-process:SPAWN_STDERR Recording started 11:23:35.890 detox[77644] i user GraphQL request success: User created 11:23:36.559 detox[77644] i user GraphQL request success: User management details retrieved 11:23:36.560 detox[77644] i user User found. Proceeding with update. 11:23:36.560 detox[77644] i user User details: [REDACTED] 11:23:36.560 detox[77644] i user Executing update for Auth0 User ID: [REDACTED] 11:23:37.241 detox[77644] i user Update successful 11:23:37.242 detox[77644] i user User data updated 11:23:37.345 detox[77644] i user disableAutoFillPopup is done. 11:23:37.345 detox[77644] i user Attempting app launch... 11:23:37.347 detox[77644] B device launchApp 11:23:37.348 detox[77644] B artifacts-manager onBeforeLaunchApp 11:23:37.348 detox[77644] E artifacts-manager onBeforeLaunchApp 11:23:37.349 detox[77644] i child-process:EXEC_CMD Launching app... 11:23:37.610 detox[77644] i child-process:EXEC_SUCCESS App launched 11:23:37.893 detox[77644] i device App launched. To watch simulator logs, run the appropriate command. 11:23:37.893 detox[77644] B artifacts-manager onLaunchApp 11:23:37.893 detox[77644] i artifact:ARTIFACT_START starting SimulatorInstrumentsRecording 11:23:37.893 detox[77644] i artifact:ARTIFACT_STOP stopping SimulatorInstrumentsRecording 11:23:37.894 detox[77644] E artifacts-manager onLaunchApp 11:24:37.349 detox[77644] i user Error during app launch ```

Device logs

Device logs ``` ------------------------------------- Translated Report (Full Report Below) ------------------------------------- Incident Identifier: [REDACTED] CrashReporter Key: [REDACTED] Hardware Model: MacBookPro18,3 Process: PHX Development [PID] Path: /Users/[USERNAME]/Library/Developer/CoreSimulator/Devices/[DEVICE_ID]/data/Containers/Bundle/Application/[APP_ID]/PHX_local.app/PHX Development Identifier: [REDACTED] Version: [REDACTED] Code Type: ARM-64 (Native) Role: Foreground Parent Process: launchd_sim [PID] Coalition: com.apple.CoreSimulator.SimDevice.[DEVICE_ID] [ID] Responsible Process: SimulatorTrampoline [PID] Date/Time: 2024-10-28 11:02:55.5752 +0530 Launch Time: 2024-10-28 11:02:53.5989 +0530 OS Version: macOS 15.0.1 (24A348) Release Type: User Report Version: 104 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000 Exception Codes: 0x0000000000000001, 0x0000000000000000 VM Region Info: 0 is not in any region. Bytes before following region: 4297359360 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL UNUSED SPACE AT START ---> __TEXT 100248000-1013d8000 [ 17.6M] r-x/r-x SM=COW /Users/[USERNAME]/Library/Developer/CoreSimulator/Devices/[DEVICE_ID]/data/Containers/Bundle/Application/[APP_ID]/PHX_local.app/PHX Development Termination Reason: SIGNAL 11 Segmentation fault: 11 Terminating Process: exc handler [PID] Triggered by Thread: 0 Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 ??? 0x0 ??? 1 DetoxSync 0x101ec58dc _setupRNSupport + 224 2 dyld_sim 0x101bcc478 invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 216 3 dyld_sim 0x101bedb18 invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 164 4 dyld_sim 0x101be57e8 invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 488 5 dyld_sim 0x101be44bc dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const + 284 6 dyld_sim 0x101be47c8 dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 164 7 dyld_sim 0x101be6fe4 dyld3::MachOFile::forEachInitializerPointerSection(Diagnostics&, void (unsigned int, unsigned int, bool&) block_pointer) const + 132 8 dyld_sim 0x101bed838 dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 324 9 dyld_sim 0x101bcc334 dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 148 10 dyld_sim 0x101bd1ef4 dyld4::JustInTimeLoader::runInitializers(dyld4::RuntimeState&) const + 32 11 dyld_sim 0x101bcc698 dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array&, dyld3::Array&) const + 308 12 dyld_sim 0x101bcc638 dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array&, dyld3::Array&) const + 212 13 dyld_sim 0x101bcf7ac dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const::$_0::operator()() const + 136 14 dyld_sim 0x101bcc73c dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const + 84 15 dyld_sim 0x101bdda54 dyld4::APIs::runAllInitializersForMain() + 228 16 dyld_sim 0x101bbdf64 dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 2244 17 dyld_sim 0x101bbd65c _dyld_sim_prepare::$_0::operator()() const + 432 18 dyld_sim 0x101bbd2a4 _dyld_sim_prepare + 676 19 dyld 0x1019003d0 dyld4::prepareSim(dyld4::RuntimeState&, char const*) + 1372 20 dyld 0x1018fed38 dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 308 21 dyld 0x1018febc0 dyld4::start(dyld4::KernelArgs*, void*, void*)::$_0::operator()() const + 544 22 dyld 0x1018fe05c start + 2304 Thread 1: 0 libsystem_pthread.dylib 0x101d0e92c start_wqthread + 0 Thread 0 crashed with ARM Thread State (64-bit): x0: 0x0000000000000000 x1: 0x000000001f08000c x2: 0x0000000000000000 x3: 0x0000000000000000 x4: 0x0000000000000000 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0x0000000000000000 x8: 0xbbdf1b74fd0d00b2 x9: 0xbbdf1b74fd0d00b2 x10: 0x0000000000000000 x11: 0x0000000000000000 x12: 0x0000000000000064 x13: 0x00000000001ff800 x14: 0x00000000000007fb x15: 0x000000008dc1d805 x16: 0xfffffffffffffff4 x17: 0x000000008de1d7fb x18: 0x0000000000000000 x19: 0x000000010400c038 x20: 0x0000600000c041b0 x21: 0x000000010105195d x22: 0x0000000101eec0b0 x23: 0x00000001ec09de28 x24: 0x0000000101ebc5b0 x25: 0x0000000101ebd1f0 x26: 0x0000000101ebc830 x27: 0x000000016fb94930 x28: 0x0000000000000002 fp: 0x000000016fb8c570 lr: 0x0000000101ec5dc4 sp: 0x000000016fb8c540 pc: 0x0000000000000000 cpsr: 0x60001000 far: 0x0000000000000000 esr: 0x82000006 (Instruction Abort) Translation fault Binary Images: 0x1018f8000 - 0x10197bfff dyld (*) <40bedd20-da23-3b70-a9c2-a1c68a738762> /usr/lib/dyld 0x100248000 - 0x1013d7fff [REDACTED][REDACTED]) <2cc46242-7398-32a5-9cb8-bc6bd959212e> /Users/[USERNAME]/Library/Developer/CoreSimulator/Devices/[DEVICE_ID]/data/Containers/Bundle/Application/[APP_ID]/PHX_local.app/PHX Development 0x101bbc000 - 0x101bfffff dyld_sim (*) <6499b476-4b66-3148-b85b-496aa7ea0690> /Volumes/VOLUME/*/dyld_sim 0x101fdc000 - 0x102063fff com.wix.Detox (1.0) /Users/[USERNAME]/Library/Detox/*/Detox.framework/Detox 0x103044000 - 0x1035cffff com.Instabug.Instabug (13.3.0) <1481ee4e-5806-3fc7-95ab-07fa216ebbd8> /Users/[USERNAME]/Library/Developer/CoreSimulator/Devices/[DEVICE_ID]/data/Containers/Bundle/Application/[APP_ID]/PHX_local.app/Frameworks/Instabug.framework/Instabug 0x101c84000 - 0x101ccbfff OpenTelemetryApi (1.0) <9f4ac015-5e3f-390f-a485-30373bf57941> /Users/[USERNAME]/Library/Developer/CoreSimulator/Devices/[DEVICE_ID]/data/Containers/Bundle/Application/[APP_ID]/PHX_local.app/Frameworks/OpenTelemetryApi.framework/OpenTelemetryApi 0x105f5c000 - 0x10692ffff com.twilio.TwilioVideo (4.6.3) <4d7f003c-0b6b-3d05-85fe-8a537c538520> /Users/[USERNAME]/Library/Developer/CoreSimulator/Devices/[DEVICE_ID]/data/Containers/Bundle/Application/[APP_ID]/PHX_local.app/Frameworks/TwilioVideo.framework/TwilioVideo 0x102a5c000 - 0x102c4ffff dev.hermesengine.iphonesimulator (0.12.0) /Users/[USERNAME]/Library/Developer/CoreSimulator/Devices/[DEVICE_ID]/data/Containers/Bundle/Application/[APP_ID]/PHX_local.app/Frameworks/hermes.framework/hermes 0x101a4c000 - 0x101a4ffff com.hingehealth.wrEngineRNObjc (*) <146f72e5-4c94-3355-9419-b8a94e3210eb> /Users/[USERNAME]/Library/Developer/CoreSimulator/Devices/[DEVICE_ID]/data/Containers/Bundle/Application/[APP_ID]/PHX_local.app/Frameworks/wrEngineRNObjc.framework/wrEngineRNObjc 0x101a20000 - 0x101a27fff libsystem_platform.dylib (*) /usr/lib/system/libsystem_platform.dylib 0x101aa0000 - 0x101adbfff libsystem_kernel.dylib (*) <259ab955-09a7-3260-9fd3-c44d68acbe05> /usr/lib/system/libsystem_kernel.dylib 0x101d0c000 - 0x101d1bfff libsystem_pthread.dylib (*) /usr/lib/system/libsystem_pthread.dylib 0x101ebc000 - 0x101eebfff com.wix.DetoxSync (1.0) /Users/[USERNAME]/Library/Detox/*/Detox.framework/Frameworks/DetoxSync.framework/DetoxSync 0x101b88000 - 0x101b93fff com.conopsys.TouchVisualizer (1.0) /Users/[USERNAME]/Library/Detox/*/Detox.framework/Frameworks/COSTouchVisualizer.framework/COSTouchVisualizer 0x101df4000 - 0x101e03fff com.LeoNatan.LNViewHierarchyDumper (1.3.1) <91b38a50-4a0e-3327-95cd-6ce9aa36f000> /Users/[USERNAME]/Library/Detox/*/Detox.framework/Frameworks/LNViewHierarchyDumper.framework/LNViewHierarchyDumper 0x101e28000 - 0x101e33fff libobjc-trampolines.dylib (*) <5456a55f-46e1-386f-a22e-35e385923f2d> /Volumes/VOLUME/*/libobjc-trampolines.dylib 0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ??? ```

More data, please!

No response

asafkorem commented 2 days ago

Works for me with iOS 18 and Xcode 16. The issue might be related specifically to the React Native version rather than the iOS version (Detox doesn't support 0.74 yet).

@Vazid005, if you can create a minimal reproduction project that I can work with, it will both help me and increase the likelihood that I'll look into your issue. The error points to _setupRNSupport, which is related to Detox’s integration with React Native sync resources, this raises the possibility that it will be solved with RN .74 support from Detox.

Vazid005 commented 21 hours ago

Works for me with iOS 18 and Xcode 16. The issue might be related specifically to the React Native version rather than the iOS version (Detox doesn't support 0.74 yet).

@Vazid005, if you can create a minimal reproduction project that I can work with, it will both help me and increase the likelihood that I'll look into your issue. The error points to _setupRNSupport, which is related to Detox’s integration with React Native sync resources, this raises the possibility that it will be solved with RN .74 support from Detox. Sure @asafkorem Can you please mention what all things you would require as part of reproduction project as we have a separate framework and we download the build from bitrise and run it in our detox framework