Skip to content

SDK Crashes: Ignore false positive for SentrySwizzleWrapper #105625

@philipphofmann

Description

@philipphofmann

The SDK crash detection wrongly reports a crash with stacktraces like these as an Apple / Cocoa SDK crash. When looking at the stacktrace, we can see that there is only one Cocoa SDK frame SentrySwizzleWrapper. The root cause stems from an NSRangeException during a MultiTapGesture or something like that. The SDK crash detection must filter out such crashes and stop reporting them as false positives. The easiest would be to fully ignore SentrySwizzleWrapper, but the major downside is that we then wouldn't see any actual SDK crashes inside SentrySwizzleWrapper. Maybe it makes sense to come up with an improved version of the ignored_matchers to only ignore crashes from SentrySwizzleWrapper if there aren't any other SDK frames above the SentrySwizzleWrapper or something similar.

NSRangeException: null
  CoreFoundation      0x1902bc870  __exceptionPreprocess
  libobjc.A           0x1885dfbfc  objc_exception_throw
  Foundation          0x18f1c8f8c  -[NSString substringWithRange:]
  UIKitCore           0x1934d4638  -[NSTextStorage(UIKitUndoExtensions) _UIUndoRedoAttributedSubstringFromRange:]
  UIKitCore           0x1934d4ef4  -[_UITextUndoOperationTyping initWithAffectedRange:inputController:replacementRange:]
  UIKitCore           0x1934de634  -[UITextInputController coalesceInTextView:actionName:affectedRange:replacementRange:replacementText:]
  UIKitCore           0x1934deae0  -[UITextInputController registerUndoOperationForType:actionName:affectedRange:replacementText:]
  UIKitCore           0x1934df0c4  -[UITextInputController insertDictationResult:withCorrectionIdentifier:]
  UIKitCore           0x1935035ac  -[UITextView insertDictationResult:withCorrectionIdentifier:]
  UIKitCore           0x192f7ccb0  -[UIDictationController _insertSerializedDictationResult:withCorrectionIdentifier:]
  UIKitCore           0x192f7c99c  -[UIDictationController insertSerializedDictationResult:withCorrectionIdentifier:]
  UIKitCore           0x192f7d344  -[UIDictationController finalizeDictationRecognitionWithPhrases:languageModel:correctionIdentifier:secureInput:finalResult:]
  UIKitCore           0x192f7dcb8  -[UIDictationController dictationConnection:finalizePhrases:languageModel:correctionIdentifier:secureInput:finalResult:]
  UIKitCore           0x192f86224  -[UIDictationController _finalizePhrasesOnDictationPause]
  UIKitCore           0x192f7c350  -[UIDictationController performIgnoringRTIChanges:]
  UIKitCore           0x192f863f8  -[UIDictationController pauseDictationOnUserInteraction:]
  UIKitCore           0x192f86bf4  -[UIDictationController beginUserInteraction:]
  UIKitCore           0x1930467a4  -[UIKeyboardImpl(IdleDetection) updateIdleDetection:]
  UIKitCore           0x193466a4c  -[UITextSelectionInteraction _checkForRepeatedTap:gestureLocationOut:]
  UIKitCore           0x193467860  -[UITextSelectionInteraction _handleMultiTapGesture:]
  UIKitCore           0x193200dc4  -[UIApplication sendAction:to:from:forEvent:]
  Sentry.framework    0x10c64d2b4  __49-[SentrySwizzleWrapper swizzleSendAction:forKey:]_block_invoke_2
  UIKitCore           0x192d09410  -[UITextMultiTapRecognizer onStateUpdate:]
  UIKitCore           0x192501278  -[UIGestureRecognizerTarget _sendActionWithGestureRecognizer:]
  UIKitCore           0x1925010e8  _UIGestureRecognizerSendTargetActions
  UIKitCore           0x192500264  _UIGestureRecognizerSendActions
  UIKitCore           0x1924fe000  -[UIGestureRecognizer _updateGestureForActiveEvents]
  UIKitCore           0x19240f9a0  _UIGestureEnvironmentUpdate
  UIKitCore           0x19240efb8  -[UIGestureEnvironment _deliverEvent:toGestureRecognizers:usingBlock:]
  UIKitCore           0x19240ee64  -[UIGestureEnvironment _updateForEvent:window:]
  UIKitCore           0x1925f6350  -[UIWindow sendEvent:]
  UIKitCore           0x1925f55e0  -[UIApplication sendEvent:]
  UIKitCore           0x1925b7be8  __dispatchPreprocessedEventFromEventQueue
  UIKitCore           0x1925b5eec  __processEventQueue
  UIKitCore           0x192688c60  __eventFetcherSourceCallback
  CoreFoundation      0x190207318  __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
  CoreFoundation      0x190206594  __CFRunLoopDoSource0
  CoreFoundation      0x190204d48  __CFRunLoopDoSources0
  CoreFoundation      0x190203a84  __CFRunLoopRun
  CoreFoundation      0x190203664  CFRunLoopRunSpecific
  GraphicsServices    0x1d35ce5e8  GSEventRunModal
  UIKitCore           0x1926202b0  -[UIApplication _run]
  UIKitCore           0x19261f8ec  UIApplicationMain
  SwiftUI             0x1950220f8  OUTLINED_FUNCTION_31
  SwiftUI             0x195021f3c  OUTLINED_FUNCTION_31
  SwiftUI             0x194c93864  OUTLINED_FUNCTION_26

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Waiting for: Product Owner

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions