getsentry / getsentry/sentry

Avoid exponential explosion with pre-resolved inline frames

Open
#46,435 1 comment 0 reactions 0 assignees View on GitHub
Bug
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
1d 5h
Merged PRs (30d)
624

Description

### Environment

SaaS (https://sentry.io/)

### Version

_No response_

### Link

_No response_

### DSN

_No response_

### Steps to Reproduce

I wrote a detailed analysis on https://github.com/getsentry/sentry-rust/issues/470#issuecomment-1472136215.

The problem is that a native executable that does full symbolication with expansion of inline functions on the client/SDK side, and sends those expanded inline frames to the server.

For each of the already-expanded inline frames that share the same instruction addr per definition, will be expanded *again* when symbolicating server-side, leading to exponential grows in the number of output frames, and it is super confusing to customers as well.

### Expected Result

One "physical" frame should expand to N inline frames.

### Actual Result

One "physical" frame is expanded to N inline frames on the SDK, which are then again expanded to N*N inline frames after server-side symbolication.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.