Skip to content

Commit

Permalink
feat(symbolication): Introduce "unsupported dsym" error (#80517)
Browse files Browse the repository at this point in the history
This is intended to improve the user experience for cases like
getsentry/symbolicator#1539 in which we
attempt to symbolicate a CLR event with a Windows PDB file. It maps the
"unsupported" frame status returned by Symbolicator
(getsentry/symbolicator#1541) to a new error
variant. Properly displaying and explaining this error is left for a
future PR.
  • Loading branch information
loewenheim authored Nov 11, 2024
1 parent e08a4b7 commit c00fabf
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/sentry/api/helpers/actionable_items_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ class ActionPriority:
EventError.NATIVE_MISSING_DSYM: ActionPriority.LOW,
EventError.NATIVE_INTERNAL_FAILURE: ActionPriority.LOW,
EventError.NATIVE_SYMBOLICATOR_FAILED: ActionPriority.LOW,
EventError.NATIVE_UNSUPPORTED_DSYM: ActionPriority.LOW,
EventError.NATIVE_MISSING_OPTIONALLY_BUNDLED_DSYM: ActionPriority.LOW,
EventError.PAST_TIMESTAMP: ActionPriority.LOW,
EventError.PROGUARD_MISSING_LINENO: ActionPriority.LOW,
Expand Down
6 changes: 6 additions & 0 deletions src/sentry/lang/native/error.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@
EventError.NATIVE_MISSING_DSYM,
EventError.NATIVE_MISSING_OPTIONALLY_BUNDLED_DSYM,
EventError.NATIVE_BAD_DSYM,
# We tried to use a debug file for a purpose it doesn't support.
# Currently this only happens when trying to symbolicate a
# CLR (.NET) event with a Windows PDB file. The tracking issue
# for supporting this is
# https://github.com/getsentry/team-ingest/issues/550.
EventError.NATIVE_UNSUPPORTED_DSYM,
EventError.NATIVE_MISSING_SYMBOL,
EventError.FETCH_GENERIC_ERROR,
# Emitted for e.g. broken minidumps
Expand Down
2 changes: 2 additions & 0 deletions src/sentry/lang/native/processing.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ def _merge_frame(new_frame, symbolicated, platform="native"):
def _handle_image_status(status, image, os, data):
if status in ("found", "unused"):
return
elif status == "unsupported":
error = SymbolicationFailed(type=EventError.NATIVE_UNSUPPORTED_DSYM)
elif status == "missing":
package = image.get("code_file")
if not package:
Expand Down
1 change: 1 addition & 0 deletions src/sentry/models/eventerror.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ class EventError:
NATIVE_SIMULATOR_FRAME = "native_simulator_frame"
NATIVE_UNKNOWN_IMAGE = "native_unknown_image"
NATIVE_SYMBOLICATOR_FAILED = "native_symbolicator_failed"
NATIVE_UNSUPPORTED_DSYM = "native_unsupported_dsym"

# Processing: Proguard
PROGUARD_MISSING_MAPPING = "proguard_missing_mapping"
Expand Down

0 comments on commit c00fabf

Please sign in to comment.