Skip to content

Conversation

@buenaflor
Copy link
Contributor

@buenaflor buenaflor commented Jul 24, 2025

💡 Motivation and Context

It's also possible that builds are not obfuscated but still built with --split-debug-info, in those cases we do not include the debug image integration which is wrong and ends up in symbolication issues

💚 How did you test it?

Manual testing, unit tests

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • No new PII added or SDK only sends newly added PII if sendDefaultPii is enabled
  • I updated the docs if needed
  • All tests passing
  • No breaking changes

🔮 Next steps

@codecov
Copy link

codecov bot commented Jul 24, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 87.88%. Comparing base (0fb45d0) to head (74e450c).
Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3104   +/-   ##
=======================================
  Coverage   87.88%   87.88%           
=======================================
  Files         287      287           
  Lines        9780     9785    +5     
=======================================
+ Hits         8595     8600    +5     
  Misses       1185     1185           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

bool isSplitDebugInfoBuild() {
final str = StackTrace.current.toString();
return buildIdRegex.hasMatch(str) || absRegex.hasMatch(str);
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Split Debug Info Detection Fails

The isSplitDebugInfoBuild() method attempts to detect split debug info builds by checking StackTrace.current.toString() for "build_id" and "abs" patterns. However, these patterns are typically present only in crash/exception stack traces, not in regular execution stack traces. Consequently, the method will likely return false even in split debug info builds, rendering the detection unreliable and preventing intended debug image integration.

Locations (1)

Fix in CursorFix in Web

@github-actions
Copy link
Contributor

Android Performance metrics 🚀

  Plain With Sentry Diff
Startup time 442.02 ms 515.72 ms 73.70 ms
Size 6.54 MiB 7.70 MiB 1.17 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
79f6b41 469.66 ms 525.90 ms 56.24 ms
2d34233 470.54 ms 558.90 ms 88.36 ms
6f47800 451.04 ms 509.64 ms 58.60 ms
dbd526b 504.88 ms 569.02 ms 64.15 ms
4481076 484.08 ms 505.70 ms 21.61 ms
73a3c38 478.18 ms 526.62 ms 48.44 ms
6ba4675 499.80 ms 632.43 ms 132.63 ms
aeb02f2 373.84 ms 437.00 ms 63.16 ms
73dca78 476.53 ms 522.21 ms 45.68 ms
640ad0c 466.00 ms 552.67 ms 86.67 ms

App size

Revision Plain With Sentry Diff
79f6b41 6.54 MiB 7.69 MiB 1.15 MiB
2d34233 6.54 MiB 7.55 MiB 1.01 MiB
6f47800 6.54 MiB 7.69 MiB 1.15 MiB
dbd526b 6.54 MiB 7.69 MiB 1.15 MiB
4481076 6.54 MiB 7.69 MiB 1.15 MiB
73a3c38 6.54 MiB 7.69 MiB 1.15 MiB
6ba4675 6.54 MiB 7.53 MiB 1015.26 KiB
aeb02f2 6.54 MiB 7.69 MiB 1.15 MiB
73dca78 6.54 MiB 7.69 MiB 1.15 MiB
640ad0c 6.54 MiB 7.69 MiB 1.15 MiB

Copy link
Collaborator

@denrase denrase left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one question/suggestion, otherwise looking great 👍


/// Check if the current build has been built with --split-debug-info
bool isSplitDebugInfoBuild() {
final str = StackTrace.current.toString();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have to do this check every time this method is called? Nevermind if it's supposed to be only called once during integration call.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess we can optimize and cache the value but it's only called once so it's fine for now

@internal
StackTrace getCurrentStackTrace() => StackTrace.current;

/// Regex that matches an “abs …” stack-frame line emitted by split-debug-info builds.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great comments 👍

@buenaflor buenaflor merged commit 2cf9161 into main Jul 24, 2025
167 of 168 checks passed
@buenaflor buenaflor deleted the fix/debug-images-not-loaded-for-split-debug-info-builds branch July 24, 2025 11:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants