4 Replies
      Latest reply on Nov 6, 2019 2:54 PM by edford
      Aviametrix Level 1 Level 1 (0 points)

        I recently updated a stable app which has been in the Store for over a year and well over a thousand downloads. Last updated 6/19. All fine.

        This week I added a unique UserID to my Flurry start up in App Delegate and few extra flurry event calls in various view controllers to help track rare crashes (maybe 3 crashes reported in a year). App runs fine in Xcode Sim on a variety of devices, and in my real hardware both in debug and untethered. GIT compare confirms no other changes to codebase or XIBs, etc.  Last compile for store on Xcode 10.x, now 11.1

         

        App Store review fails with crash on launch, they tried three times and sent crash logs. I removed some of the mods (but not yet the UserID in AppDelegate) and resubmitted: same result. First time I sent it in the crash report said they tested on a 3rd Gen iPad, so I asked them to try the second time on an iPhone, the next set of crash reports had the device code as XXX! They ran 13.1.2, I tested on 13.1.3 and on 12.1.4 all OK

         

        Here's the problem(s)

        1) I dont see how to symbolicate the crash reports. To do so, Xcode requires the App's binary and dSYM (I have those), I dont have the Flurry dSYM, and OS Symbols for the hardware/OS where the test ran. I dont have a 3rd gen iPad (iPad11,3) to plug in and get the symbols for Xcode.  Is there an alternative path in this circumstance.

         

        2) I'm not sure that the symbols would help here anyway since it looks like the crash is deep in iOS frameworks (maybe abi, see below) after being called from my Main.    I know that these kinds of launch crashes frequently occur when storyboards have a defect, but I cant see one and the app runs fine locally on phones and old iPads.  What would be my next steps when I can't replicate the crash (aside from removing the Flurry set UserID!)?

         

         

        {"app_name":"QueensDB","timestamp":"2019-10-30 15:28:10.12 -0700","app_version":"1.7","slice_uuid":"2133ecf9-943d-380e-9d2b-eb881e02a76f","adam_id":1369301260,"build_version":"2","bundleID":"com.Aviametrix.QueensEgypt","share_with_app_devs":true,"is_first_party":false,"bug_type":"109","os_version":"iPhone OS 13.1.2 (17A860)","incident_id":"BB1B0B65-66BF-40B7-9017-7F8B14B57F58","name":"QueensDB"}
        Incident Identifier: BB1B0B65-66BF-40B7-9017-7F8B14B57F58
        CrashReporter Key:   1f7448b682620a373ff01cf8ae95a9238488a987
        Hardware Model:      iPad11,3
        Process:             QueensDB [90772]
        Path:                /private/var/containers/Bundle/Application/F72C50C8-86EB-4404-A689-C5F9CB2651DF/QueensDB.app/QueensDB
        Identifier:          com.Aviametrix.QueensEgypt
        Version:             2 (1.7)
        AppStoreTools:       11A1002b
        Code Type:           ARM-64 (Native)
        Role:                Foreground
        Parent Process:      launchd [1]
        Coalition:           com.Aviametrix.QueensEgypt [2469]
        
        
        
        
        Date/Time:           2019-10-30 15:28:09.6488 -0700
        Launch Time:         2019-10-30 15:28:09.5818 -0700
        OS Version:          iPhone OS 13.1.2 (17A860)
        Release Type:        User
        Baseband Version:    n/a
        Report Version:      104
        
        
        Exception Type:  EXC_CRASH (SIGABRT)
        Exception Codes: 0x0000000000000000, 0x0000000000000000
        Exception Note:  EXC_CORPSE_NOTIFY
        Triggered by Thread:  0
        
        
        Application Specific Information:
        abort() called
        
        
        Last Exception Backtrace:
        (0x184f6bc30 0x184c860c8 0x184e5b3ac 0x18897c810 0x18897cb2c 0x18855b700 0x18855b934 0x1884f6428 0x1889c59bc 0x1049975b8 0x104993ab4 0x188c935d8 0x18855b700 0x18855b934 0x1884f6428 0x188c928cc 0x1889c5b74 0x188920b94 0x188c935d8 0x18855b700 0x1884f6428 0x188c97784 0x18855b700 0x18855b934 0x1884f6428 0x188c926b0 0x188c952e8 0x18915a7d0 0x18915a660 0x1890007c4 0x189000d3c 0x188fff46c 0x1887a7710 0x188c537e8 0x1887a8248 0x1887a7c78 0x1887a8064 0x1887a78e8 0x1887ac098 0x188c6d214 0x188b80e90 0x188c6d1cc 0x1887abdb0 0x188c6d0b4 0x1887abc0c 0x188617630 0x1886160f4 0x188617360 0x188ffd91c 0x188ba2d7c 0x18a0d5014 0x18a0fbbd0 0x18a0e00f8 0x18a0fb864 0x184c1300c 0x184c15d50 0x18a122384 0x18a122030 0x18a12259c 0x184ee7260 0x184ee71b4 0x184ee6920 0x184ee17ec 0x184ee1098 0x18f04b534 0x1890017ac 0x10494a1c8 0x184d60f30)
        
        
        Thread 0 name:  Dispatch queue: com.apple.main-thread
        Thread 0 Crashed:
        0   libsystem_kernel.dylib         0x0000000184d56ef4 0x184d31000 + 155380
        1   libsystem_pthread.dylib       0x0000000184c77d1c 0x184c75000 + 11548
        2   libsystem_c.dylib             0x0000000184c07a54 0x184b91000 + 485972
        3   libc++abi.dylib               0x0000000184d1e3c8 0x184d1d000 + 5064
        4   libc++abi.dylib               0x0000000184d1e5c0 0x184d1d000 + 5568
        5   libobjc.A.dylib               0x0000000184c863a8 0x184c80000 + 25512
        6   libc++abi.dylib               0x0000000184d2b634 0x184d1d000 + 58932
        7   libc++abi.dylib               0x0000000184d2b5c0 0x184d1d000 + 58816
        8   libdispatch.dylib             0x0000000184c13020 0x184c10000 + 12320
        9   libdispatch.dylib             0x0000000184c15d50 0x184c10000 + 23888
        10  FrontBoardServices             0x000000018a122384 0x18a0c8000 + 369540
        11  FrontBoardServices             0x000000018a122030 0x18a0c8000 + 368688
        12  FrontBoardServices             0x000000018a12259c 0x18a0c8000 + 370076
        13  CoreFoundation                 0x0000000184ee7260 0x184e39000 + 713312
        14  CoreFoundation                 0x0000000184ee71b4 0x184e39000 + 713140
        15  CoreFoundation                 0x0000000184ee6920 0x184e39000 + 710944
        16  CoreFoundation                 0x0000000184ee17ec 0x184e39000 + 690156
        17  CoreFoundation                 0x0000000184ee1098 0x184e39000 + 688280
        18  GraphicsServices               0x000000018f04b534 0x18f048000 + 13620
        19  UIKitCore                     0x00000001890017ac 0x1885d1000 + 10684332
        20  QueensDB                       0x000000010494a1c8 0x104944000 + 25032
        21  libdyld.dylib                 0x0000000184d60f30 0x184d60000 + 3888
        
        
        Thread 1:
        0   libsystem_pthread.dylib       0x0000000184c7ec70 0x184c75000 + 40048
        • Re: App crashes only at App Store Review, not on Sim or Hardware
          eskimo Apple Staff Apple Staff (12,335 points)

          I'm not sure that the symbols would help here anyway since it looks like the crash is deep in iOS frameworks (maybe abi, see below) after being called from my Main.

          You can misreading the crash report.  The backtrace of the crashing thread indicates that your app has crashed due to an underhandled language exception, which means that you need to look at the Last Exception Backtrace section.  If you were to symbolicate your log, you’d get meaningful info from that.

          I dont have a 3rd gen iPad (iPad11,3) to plug in and get the symbols for Xcode.

          You don’t need that specific hardware, you need a machine that runs the same OS build as that hardware.  It’s hard to explain the exact criteria here but, if you look at the .ipsw files we ship when we seed a new iOS beta release [1], you’ll find that there’s relatively few of them, and many of them are shared by multiple hardware releases.  If you can find any iPad running 13.1.2 that shares that .ipsw, you’ll get the libraries you need.

          The way to know for sure is to look at the Binary Images section of your crash report.  It’s the UUIDs associated with each image that need to match up.

          Share and Enjoy

          Quinn “The Eskimo!”
          Apple Developer Relations, Developer Technical Support, Core OS/Hardware
          let myEmail = "eskimo" + "1" + "@apple.com"

          [1] Unfortunately we not currently seeding an iOS beta release, so I can’t give you a concrete example.

            • Re: App crashes only at App Store Review, not on Sim or Hardware
              Aviametrix Level 1 Level 1 (0 points)

              Hey Quinn!

              You da Man!

               

              Many thanks for responding to this puzzle!

              I am trying to find a pad which can run 13.1 out here.

              In the mean time, the Store review says crash on launch and the stack trace never returns to my app. I could well be wrong here

              but I was figuring it was happening in a load resources phase or the App delegate. I reverted my storyboards and App Delegate

              back to the last successful App Store review. File compare only shows IB toolchain/plugin version differences and some Rect size

              changes, but the App still dies for the Reviewer and not locally on available hardware (iPad with iOS 12.1.4, or various phones) or sim'd hardware matching the Store's crashlog.  Im going to try reverting Xcode to v10 and try that while waiting to find a new iPad.

              Any other thoughts? It just seems very odd that I can't fail the app locally.

               

               

              update:  The app store review finally tested on an iPhone from which I could pull an appropriate dSYM! So, following Quinn's advise to look

              at the last exception trace we see that this problem is that my use of a deprecated UISearchController got snagged.  It is marked in xcode docs as deprecated but not as dead. This is fixable.

               

              New question: Why does the Store Review catch this, but the current xcode and ios hardware does not. It there a strictness setting I should know about?

               

              Last Exception Backtrace:
              0   CoreFoundation                 0x1bd14fab0 __exceptionPreprocess + 224
              1   libobjc.A.dylib               0x1bce69028 objc_exception_throw + 59
              2   CoreFoundation                 0x1bd03f2fc +[NSException raise:format:] + 111
              3   UIKitCore                     0x1c0ba3c2c UISearchDisplayControllerNoLongerSupported + 215
              4   UIKitCore                     0x1c0ba3f48 -[UISearchDisplayController initWithCoder:] + 87
              5   UIFoundation                   0x1c077d300 UINibDecoderDecodeObjectForValue + 731
              6   UIFoundation                   0x1c077d534 UINibDecoderDecodeObjectForValue + 1295
              7   UIFoundation                   0x1c0717fe4 -[UINibDecoder decodeObjectForKey:] + 319
              8   UIKitCore                     0x1c0bed0a8 -[UIViewController initWithCoder:] + 1039
              9   QueensDB                       0x100d4b658 specialized mainViewController.init(coder:) + 341592 (:0)
              10  QueensDB                       0x100d47b54 @objc mainViewController.init(coder:) + 326484 (:15)
              11  UIKitCore                     0x1c0ebe108 -[UIClassSwapper initWithCoder:] + 2363
              12  UIFoundation                   0x1c077d300 UINibDecoderDecodeObjectForValue + 731
              13  UIFoundation                   0x1c077d534 UINibDecoderDecodeObjectForValue + 1295
              14  UIFoundation                   0x1c0717fe4 -[UINibDecoder decodeObjectForKey:] + 319
              15  UIKitCore                     0x1c0ebd3fc -[NSCoder+ 7119868 (UIIBDependencyInjectionInternal) _decodeObjectsAndTrackChildViewControllerIndexWithParent:forKey:] + 319
              16  UIKitCore                     0x1c0bed260 -[UIViewController initWithCoder:] + 1479
              17  UIKitCore                     0x1c0b47698 -[UINavigationController initWithCoder:] + 75
              18  UIKitCore                     0x1c0ebe108 -[UIClassSwapper initWithCoder:] + 2363
              19  UIFoundation                   0x1c077d300 UINibDecoderDecodeObjectForValue + 731
              20  UIFoundation                   0x1c0717fe4 -[UINibDecoder decodeObjectForKey:] + 319
              21  UIKitCore                     0x1c0ec22b4 -[UIRuntimeConnection initWithCoder:] + 131
              22  UIFoundation                   0x1c077d300 UINibDecoderDecodeObjectForValue + 731
              23  UIFoundation                   0x1c077d534 UINibDecoderDecodeObjectForValue + 1295
              24  UIFoundation                   0x1c0717fe4 -[UINibDecoder decodeObjectForKey:] + 319
              25  UIKitCore                     0x1c0ebd1e0 -[NSCoder+ 7119328 (UIIBDependencyInjectionInternal) _decodeObjectsWithSourceSegueTemplate:creator:sender:forKey:] + 491
              26  UIKitCore                     0x1c0ebfe18 -[UINib instantiateWithOwner:options:] + 1115
              27  UIKitCore                     0x1c1392054 -[UIStoryboard __reallyInstantiateViewControllerWithIdentifier:creator:storyboardSegueTemplate:sender:] + 291
              28  UIKitCore                     0x1c1391ee4 -[UIStoryboard _instantiateViewControllerWithIdentifier:creator:storyboardSegueTemplate:sender:] + 127
              29  UIKitCore                     0x1c12346b0 -[UIApplication _loadMainStoryboardFileNamed:bundle:] + 183
              30  UIKitCore                     0x1c1234c28 -[UIApplication _loadMainInterfaceFile] + 275
              31  UIKitCore                     0x1c1233358 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1059
              32  UIKitCore                     0x1c09cd618 -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] + 151
              33  UIKitCore                     0x1c0e7de08 _UIScenePerformActionsWithLifecycleActionMask + 111
              34  UIKitCore                     0x1c09ce150 __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke + 211
              35  UIKitCore                     0x1c09cdb80 -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 303
              36  UIKitCore                     0x1c09cdf6c -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 751
              37  UIKitCore                     0x1c09cd7f0 -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 339
              38  UIKitCore                     0x1c09d1fa0 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke_2 + 195
              39  UIKitCore                     0x1c0e97c8c ___UISceneSettingsDiffActionPerformChangesWithTransitionContext_block_invoke + 27
              40  UIKitCore                     0x1c0daaf44 +[BSAnimationSettings+ 5996356 (UIKit) tryAnimatingWithSettings:actions:completion:] + 867
              41  UIKitCore                     0x1c0e97c44 _UISceneSettingsDiffActionPerformChangesWithTransitionContext + 259
              42  UIKitCore                     0x1c09d1cb8 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke + 151
              43  UIKitCore                     0x1c0e97b2c _UISceneSettingsDiffActionPerformActionsWithDelayForTransitionContext + 107
              44  UIKitCore                     0x1c09d1b14 -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 391
              45  UIKitCore                     0x1c0839c38 __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke + 639
              46  UIKitCore                     0x1c08386fc -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 255
              47  UIKitCore                     0x1c0839968 -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 235
              48  UIKitCore                     0x1c1231808 -[UIApplication workspace:didCreateScene:withTransitionContext:comple
              49  UIKitCore                     0x1c0dcce44 -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 375
              50  FrontBoardServices             0x1c2319ec0 -[FBSSceneImpl _callOutQueue_agent_didCreateWithTransitionContext:completion:] +
              
              So 451
              51  FrontBoardServices             0x1c2340b50 __86-[FBSWorkspaceScenesClient sceneID:createWithParameters:transitionContext:completion:]_block_invoke.168 + 115
              52  FrontBoardServices             0x1c2324fa4 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 239
              53  FrontBoardServices             0x1c23407e4 __86-[FBSWorkspaceScenesClient sceneID:createWithParameters:transitionContext:completion:]_block_invoke + 343
              54  libdispatch.dylib             0x1bcdf5fd8 _dispatch_client_callout + 19
              55  libdispatch.dylib             0x1bcdf8d1c _dispatch_block_invoke_direct + 263
              56  FrontBoardServices             0x1c2367304 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 47
              57  FrontBoardServices             0x1c2366fb0 -[FBSSerialQueue _queue_performNextIfPossible] + 431
              58  FrontBoardServices             0x1c236751c -[FBSSerialQueue _performNextFromRunLoopSource] + 31
              59  CoreFoundation                 0x1bd0cb24c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 27
              60  CoreFoundation                 0x1bd0cb1a0 __CFRunLoopDoSource0 + 83
              61  CoreFoundation                 0x1bd0ca90c __CFRunLoopDoSources0 + 183
              62  CoreFoundation                 0x1bd0c57d8 __CFRunLoopRun + 1067
              63  CoreFoundation                 0x1bd0c5084 CFRunLoopRunSpecific + 479
              64  GraphicsServices               0x1c7313534 GSEventRunModal + 107
              65  UIKitCore                     0x1c1235698 UIApplicationMain + 1939
              66  QueensDB                       0x100cfe4fc main + 25852 (Queen.swift:13)
              67  libdyld.dylib                 0x1bcf44e18 start + 3