You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ANR events get invalid dist when release has no + #6449
When options.dist is not set, ApplicationExitInfoEventProcessor falls back to deriving dist from the release using release.substring(release.indexOf('+') + 1). If the release has no + (e.g. myapp@2026.41), indexOf returns -1 and the entire release string becomes dist. Relay then discards it because dist only allows a-zA-Z0-9_.-, so ANR events show "Invalid dist value discarded — invalid character '@'".
Regular in-process events are not affected: MainEventProcessor takes dist directly from options.dist and has no release-based fallback.
Not a recent change: the same fallback exists in AnrV2EventProcessor in 7.0.0 and 8.0.0.
Related: setAppVersionAndBuild (L457-L477) calls release.substring(release.indexOf('@') + 1, release.indexOf('+')). That throws when there is no +, and the exception is caught and logged, so app.app_version / app.app_build are not populated from the release on these events.
Reproduction
Configure options.release = "myapp@2026.41" and leave options.dist unset.
Trigger an ANR on Android 11+ and relaunch the app so the ApplicationExitInfo ANR is reported.
The event arrives with dist: "myapp@2026.41", which Relay discards with invalid character '@'.
Workaround
Set options.dist explicitly (e.g. to the version code) so the fallback is skipped.
Activity
linear-code commentedon Nov 2, 2026
JAVA-822
github-actions commentedon Nov 5, 2026
A PR closing this issue has just been released 🚀
This issue was referenced by PR #6450, which was included in the 8.63.0 release.