microsoft / appcenter-sdk-apple

Development repository for the App Center SDK for iOS, macOS and tvOS.
Other
565 stars 224 forks source link

SDK crashes during reporting the event #2375

Closed vlshcherbakov closed 5 months ago

vlshcherbakov commented 2 years ago

I'm not sure if it is crash inside AppCenter or it is crash happened in other place which was caught by AppCenter. From stack trace you can see that the attempt to report the event ended with a crash inside AppCenter. We don't have repro steps and verbose logs, it happened at list 10 times in release AppStore build.

  1. Which SDK version are you using?
    • 4.2.0
  2. Which OS version did you experience the issue on?
    • iOS iOS 14.7.1, 14.8, 15.02, 15.1
  3. Which Xcode version did you build the app with?
    • Xcode 12.5
  4. Which Cocoapods version are you using (run pod --version)?
    • 1.10.1
  5. What device version did you see this error on? Were you using an emulator or a physical device?
    • iPhone 7, 8, 11 Pro, 11 Pro Max, XS Max, X
  6. What language are you using?
    • Swift wrapper called both from Swift and Objective C
  7. What third party libraries are you using?
    • OpenSSL-Universal, UICKeyChainStore, lottie

stacktrace.txt stacktrace2.txt

DmitriyKirakosyan commented 2 years ago

Hi there, thank you for reaching out to us! Actually, we received such reports a few times before but I can't confirm that this is an SDK issue at this moment as we're unable to reproduce it.

The stacktrace indicates that it is a memory corruption issue. Try to inspect your app using memory or zombie Xcode tools. Also, adding telemetry to possibly affected places in your code may improve the understanding of what was going on when the crash happened.

iCodeWoods commented 2 years ago

@DmitriyKirakosyan I found another stack that is almost the same as this question, but with one more line:

-[MSACChannelUnitDefault enqueueItem:flags:] MSACChannelUnitDefault.m:111

Here is the stack symbols, hope this helps:

image
gietal commented 1 year ago

@DmitriyKirakosyan any update on this long running issue?

on the release note for 5.0.1 there's a line item for "Fix crash channel:didPrepareLog in MSACChannelGroupDefault"

however after updating to version 5.0.1 I'm still seeing the crash reported. It is by far our highest crash reported since December 2021 (around the same time this issue is reported here)

  1. Which SDK version are you using?
    • 5.0.1
  2. Which OS version did you experience the issue on?
    • based on crash reports: macOS 11.4, 12.6.3, 13.2.1
  3. Which Xcode version did you build the app with?
    • Xcode 14.1
  4. Which Cocoapods version are you using (run pod --version)?
    • we use carthage 0.38.0
  5. What device version did you see this error on? Were you using an emulator or a physical device?
    • based on crash reports: MacBook Air 13" (x86_64, 2015/2017), MacBook Pro 16" (M1 Max, 2021), Mac mini (M1), MacBook Pro 14" (M1 Pro, 2021)
  6. What language are you using?
    • C++ for core logic, with Obj-C wrapper and Swift
  7. What third party libraries are you using?
    • OpenSSL, Boost, WebRTC, PromiseKit, CocoaLumberjack, Sparkle

attached are a couple example of the (redacted app name) crash stack:

stack_x86.txt stack_m1.txt

DmitriyKirakosyan commented 1 year ago

Hi @gietal , thank you for the information! Is there any tendency in crash frequency between appcenter sdk versions? Does it happen on 5.0.1 as often as on other versions? Have you used sdk version older than 4.2.0? Is it happening on older versions?

@vlshcherbakov , @iCodeWoods same questions for you guys :)

gietal commented 1 year ago

Hi @DmitriyKirakosyan, our app with 5.0.1 is still only out for a week or so, so not much crash data is available yet. but so far it's still on our top 3 crash hitter (26 out of 71 crashes).

yes, we started using appcenter sdk 2.5.0 back in 2019, and we didn't see this crash until we updated to 4.2.0 sometime around late 2021. At the time I have contacted appcenter help but the issue was dismissed as memory corruption somewhere in the app.

Unfortunately I can't verify if the same crash had happened prior to sdk 4.2.0 because our crash data retention policy is set to 28 days, so crash reports prior to 2021 is not around anymore

Vechkanov commented 1 year ago

We are looking into this issue right now, but we need more time. For now we do not see any changes that can cause such issues in update from 4.2.0 SDK version.

MikhailSuendukov commented 1 year ago

@gietal It is possible that this error occurs when sending certain errors that occur in your application. Do you have analytics about it?

DmitriyKirakosyan commented 5 months ago

As we do not have plans to fix this bug in the next year, I'm closing the issue. However, contributions are still welcome.