Repository navigation
fix: Mark mach and signal crashes as synthetic - #8919
Merged
Merged
Conversation
synthetic
bitsandfoxes
marked this pull request as ready for review
September 2, 2026 14:26
bitsandfoxes
requested review from
NinjaLikesCheez,
itaybre,
noahsmartin and
philprime
as code owners
September 2, 2026 14:26
2 of 9 tasks
itaybre
approved these changes
Sep 2, 2026
itaybre
left a comment
Contributor
There was a problem hiding this comment.
LGTM and worked on my local tests, but looksl ike you need to update the changelog message (probably you should wait for 9.27.0 release tomorrow)
📲 Install BuildsiOS
|
Contributor
Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| df67624 | 1225.12 ms | 1259.90 ms | 34.78 ms |
| 6e35062 | 1232.19 ms | 1262.91 ms | 30.73 ms |
| 220d7ef | 1238.77 ms | 1267.42 ms | 28.65 ms |
| 4b5a1d7 | 1235.27 ms | 1264.49 ms | 29.22 ms |
| 9319185 | 1223.24 ms | 1249.98 ms | 26.73 ms |
| d0b52d1 | 1227.31 ms | 1258.32 ms | 31.01 ms |
| b6b0d1d | 1236.69 ms | 1270.22 ms | 33.52 ms |
| 5b1c31e | 1221.35 ms | 1246.14 ms | 24.79 ms |
| 9787f05 | 1233.67 ms | 1269.00 ms | 35.33 ms |
| 29d1b7f | 1220.58 ms | 1254.14 ms | 33.56 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| df67624 | 24.14 KiB | 1.14 MiB | 1.12 MiB |
| 6e35062 | 24.14 KiB | 1.22 MiB | 1.20 MiB |
| 220d7ef | 24.14 KiB | 1.17 MiB | 1.14 MiB |
| 4b5a1d7 | 24.14 KiB | 1.22 MiB | 1.20 MiB |
| 9319185 | 24.14 KiB | 1.16 MiB | 1.13 MiB |
| d0b52d1 | 24.14 KiB | 1.15 MiB | 1.13 MiB |
| b6b0d1d | 24.14 KiB | 1.18 MiB | 1.16 MiB |
| 5b1c31e | 24.14 KiB | 1.24 MiB | 1.22 MiB |
| 9787f05 | 24.14 KiB | 1.18 MiB | 1.15 MiB |
| 29d1b7f | 24.14 KiB | 1.26 MiB | 1.23 MiB |
NinjaLikesCheez
approved these changes
Sep 3, 2026
philprime
reviewed
Sep 3, 2026
This was referenced Sep 8, 2026
philprime
pushed a commit
that referenced
this pull request
Sep 11, 2026
Reland of #8919, reverted in #8975 because the server-side fix that keeps the exception type as a title fallback had not landed. The fabricated mach and signal exceptions carry a platform label as their type, not the identity of what went wrong, so it must not split an Apple crash from the same crash on other platforms. Also sets mechanism.handled outside the mach-context branch, which previously left it unset on a report without mach context. Claude-Session: https://claude.ai/code/session_01E57gchi6ER5aruqwjCKe9F
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📜 Description
Relates to and enables getsentry/sentry#122130
This allows Sentry to properly group events coming from hybrid SDKs (same error, multiple platforms reporting it) as one issue.
💡 Motivation and Context
See dev docs on
Synthetic ErrorsThe synthetic flag SHOULD be set for all "segfaults" and similar low-information errors.
When the flag is set, Sentry ignores the exception
typewhen grouping, and prefers the top in-app frame over type/value for the issue title.The same crash in the same shared code, as reported by each SDK today:
sentry-cocoais the only SDK leaving the flag unset, soSIGSEGVstays in the grouping hash on Apple platforms and nowhere else. Cocoa events split into their own issue even when every other grouping input is byte-identical. For a Unity or React Native team shipping one codebase to five platforms, that means one bug shows up as "everything else" plus a separate Apple issue.💚 How did you test it?
📝 Checklist
You have to check all boxes before merging:
sendDefaultPIIis enabled.Closes #8920