Firebase crash reporting in an embedded framework

I'm developing an application, MainProject, that has an embedded framework, EmbeddedFramework (also developed by my team), and I'm incorporating Firebase Crashlytics in order to get crash reports.


The crash reporting is working just fine in the base application, I'm getting deofuscated reports that point to the exact line where the crash happened.


In the other hand, the crash reporting fails when a crash occurs inside of the embedded

framework. When that happens, all I get is a <compiler generated> or a <specialized> line of code, making it really hard to identify and/or debug.


For example, for this instance of a crash report in Firebase:

[1]: https://i.stack.imgur.com/ulmPS.png


Crashed: com.apple.main-thread
0  EmbeddedFramework              0x101b38628 $s6EmbeddedFramework0A14AuthenticationC6isIdleSbvg + 114
1  MainProject                    0x100d07a94 specialized EntryViewController.clickLogin(sender:) + 884 (:884)
2  MainProject                    0x100d035c4 @objc EntryViewController.clickLogin(sender:) + 48 (:48)
3  UIKitCore                      0x1dbde7300 -[UIApplication sendAction:to:from:forEvent:] + 96
4  UIKitCore                      0x1db890424 -[UIControl sendAction:to:forEvent:] + 80
5  UIKitCore                      0x1db890744 -[UIControl _sendActionsForEvents:withEvent:] + 440
6  UIKitCore                      0x1db88f7b0 -[UIControl touchesEnded:withEvent:] + 568
7  UIKitCore                      0x1dbe1e5c4 -[UIWindow _sendTouchesForEvent:] + 2108
8  UIKitCore                      0x1dbe1f7ec -[UIWindow sendEvent:] + 3140
9  UIKitCore                      0x1dbdff85c -[UIApplication sendEvent:] + 340
10 UIKitCore                      0x1dbec59d4 __dispatchPreprocessedEventFromEventQueue + 1768
11 UIKitCore                      0x1dbec8100 __handleEventQueueInternal + 4828
12 UIKitCore                      0x1dbec1330 __handleHIDEventFetcherDrain + 152
13 CoreFoundation                 0x1af46c728 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
14 CoreFoundation                 0x1af46c6a8 __CFRunLoopDoSource0 + 88
15 CoreFoundation                 0x1af46bf90 __CFRunLoopDoSources0 + 176
16 CoreFoundation                 0x1af466ecc __CFRunLoopRun + 1004
17 CoreFoundation                 0x1af4667c0 CFRunLoopRunSpecific + 436
18 GraphicsServices               0x1b166779c GSEventRunModal + 104
19 UIKitCore                      0x1dbde5c38 UIApplicationMain + 212
20 MainProject                    0x100cc9294 main + 24 (AppDelegate.swift:24)
21 libdyld.dylib                  0x1aef2a8e0 start + 4


The report points to the function clickLogin(sender:) in the class EntryViewController, but I know for a fact that the crash is happening in the Authentication method in the EmbeddedFramework (aka, the line 0 of the crash trace), because I'm causing it for test purposes. However, the exact place and motive of the crash is obscured and hidden away.



Why does this happen? Is it possible to make Firebase to recognize the crashes happening inside a embedded framework and point to the correct line?


Thanks a lot in advance.

Replies

I recommend that you escalate this via the support channel for the third-party crash reporter you’re using.

Oh, and this is probably a good place to link to my Implementing Your Own Crash Reporter post.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Noted! I'll contact Firebase support.

  • Hi DracoRubi,

    I face the same issue. did you find solution?

Add a Comment

Hello! Did you find a solution?