musescore / musescore/MuseScore
Arepeggio on chord with grace notes causes render assert
@RomanPudashkin is already working on this.
Since May 19, 2026.
- Dominant language
- C++
- Stars
- 15.1k
- Forks
- 3.3k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 91
Description
Issue type
Crash or freeze
Description with steps to reproduce
- Open the attached
graceArps.mxlfile. - Latest
mainbranch asserts inArpeggioRenderer::doRenderhere (currently line 87):
const Arpeggio* arpeggio = chord->arpeggio();
IF_ASSERT_FAILED(arpeggio) {
return;
}
Supporting files, videos and screenshots
In which versions of MuseScore Studio is this issue present?
Current main branch at c58f62a02673fc4adbc8f1f514d4d16e01fd58bf
Regression
Yes, this used to work in a previous version of MuseScore 4.x
Operating system
macOS 14.7.8
Additional context
The test file provided is a musicxml file, but I do not believe the issue is in the import. This was just the easiest way for me to create a test file. I am seeing the same problem on my mnx importer in a different branch, and the LLM is saying:
The bug appears to be in GraceChordCtx::buildCtx(): grace-note rendering contexts inherit the principal chord’s commonArticulations, including arpeggios. This can cause
ArpeggioRendererto be invoked for a grace chord that does not own an arpeggio.
Checklist
- This report follows the guidelines for reporting bugs and issues
- I have verified that this issue has not been logged before, by searching the issue tracker for similar issues
- I have attached all requested files and information to this report
- I have attempted to identify the root problem as concisely as possible, and have used minimal reproducible examples where possible
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.