Skip to content

New crash handler functionalities - #285

Merged
saintmatthieu merged 2 commits into
musescore:mainfrom
saintmatthieu:new-crash-handler-functionalities
Sep 10, 2026
Merged

New crash handler functionalities#285
saintmatthieu merged 2 commits into
musescore:mainfrom
saintmatthieu:new-crash-handler-functionalities

Conversation

@saintmatthieu

@saintmatthieu saintmatthieu commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Needed for audacity/audacity#11427

It promotes CrashHandler to an exportable ICrashHandler, with two interfaces:

  • addSessionTag, so that our plugin-registration processes can be filtered on Sentry,
  • setSystemCrashReporterForwardingEnabled, to allow a process on macos to stop the " quit unexpectedly" dialog, which annoy everyone during plugin registration on macos who has crashing plugins during#

Documentation on minidump annotations for Sentry: https://docs.sentry.io/platforms/native/guides/minidumps/

  • I signed the CLA as username:
  • The title of the PR describes the problem it *
    addresses.
  • Each commit's message describes its purpose and effects, and references the issue it resolves. If changes are extensive, there is a sequence of easily reviewable commits.
  • The code in the PR follows the coding rules.
  • I understand all aspects of the code I'm contributing and I'm able to explain it if requested.
  • The code compiles and runs on my machine, preferably after each commit individually. I have manually tested and verified that my changes fulfil their intended purpose.
  • No prior attempts to resolve this problem exist, or if they do, I listed them in my PR description and described how I avoided repeating past mistakes.
  • There are no unnecessary changes.
  • I created a unit test or vtest to verify the changes I made (if applicable).

Build configuration

audacity: audacity/audacity/master
audacity platforms: linux_x64
musescore: musescore/MuseScore/main
musescore platforms: linux_x64

@saintmatthieu saintmatthieu self-assigned this Sep 9, 2026
@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 326db47e-a464-4a17-bb05-76b5cde7593f

📥 Commits

Reviewing files that changed from the base of the PR and between 6f2eae4 and bdc6a5c.

📒 Files selected for processing (2)
  • framework/diagnostics/diagnosticsmodule.cpp
  • framework/diagnostics/internal/crashhandler/crashhandler.cpp

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The change adds the ICrashHandler interface for session tags and system crash reporter forwarding. CrashHandler implements the interface, stores session tags, adds them to Sentry annotations, and updates Crashpad forwarding state. DiagnosticsModule creates and exports a shared CrashHandler instance and uses it during startup instead of a function-local static instance.

Merge Risk: ⚪ Minimal · up to bdc6a

The change exposes crash-handler controls for session tagging and macOS crash-dialog suppression while keeping the exported handler aligned with diagnostics startup. No actionable merge-blocking risk remains.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 6.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 15 functions across 5 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title identifies the main change as new CrashHandler functionality. It is somewhat broad because it does not mention the ICrashHandler interface or the specific APIs, but it remains relevant and u…
Description check ✅ Passed The description explains the motivation, references Audacity issue #11427, summarizes both new interfaces, includes the required checklist, and provides build configuration. It is mostly complete, wit…
  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@saintmatthieu
saintmatthieu force-pushed the new-crash-handler-functionalities branch 3 times, most recently from 13633ef to 611ac9e Compare September 9, 2026 19:35
@saintmatthieu
saintmatthieu force-pushed the new-crash-handler-functionalities branch from 611ac9e to bdc6a5c Compare September 10, 2026 12:16
@saintmatthieu
saintmatthieu merged commit 6798dda into musescore:main Sep 10, 2026
3 checks passed
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