On-Premise System Symbols for iOS?

For those of you using on-premise Sentry, are your stack traces symbolicated for both app and system symbols?

From reading this Sentry blog post: The Troubles With iOS Symbolication, I expected that the open source on-premise version would not be able to show any symbolicated stack trace info for system libraries (like UIKit, CoreFoundation, GraphicsServices, etc.).

When playing with Sentry, I was surprised to see my local Sentry installation is fully symbolicating all of the system libraries. Why is that? I’m wondering if it’s because my app build settings mean that Sentry/KSCrash are performing all of that symbolication directly on the device (and no server-side dSYM symbolication is happening). If that’s the case, is this reliable in production?

Hi, You definitely do not get full system symbols unless you are testing with the simulator or you are uploading your system symbols for your own device with sentry-cli.

We are currently investigating how we can bring system symbolication to on-prem Sentry best.

@mitsuhiko Hey, is there any progress on this front? We’d love to have system symbols visible on crash logs without sacrificing the benefits of on-prem

We’re currently working on a new revision of the system that powers system symbols and we will try to keep the on-prem usecase in mind. You can already use the existing symbol server if you can extract the system symbols yourself.

There are some potential legal issues around distributing the apple symbols and there has not been a lot of interest for this overall so that we spend effort on this.

For now watch this space or get in contact with sales to start a conversation.

There are some potential legal issues around distributing the apple symbols

I can imagine that. It would be best for everyone, I imagine, if Apple provided some type of simplification for this. Perhaps their own hosted HTTP service people could use… Or a downloadable repository of symbol files.

Have you filed a bug report with Apple about this? If so, what’s the radar number? Apple tends to take things more seriously when multiple people file duplicates (preferably referencing a radar number)

Has anything changed on this matter since 2019?

As far as I can see, currently cloud sentry setup (demo account on sentry.io) is capable of generating proper names for macOS system libraries with breakpad/crashpad dumps from macOS.

However this Apple symbols server is not supported by on-demise sentry setups. Are there any options (e.g. on a commercial basis) to enable that in on-premise setup?

Thanks

1 Like