musescore / musescore/MuseScore
Linux: Painting and saving painfully slow, freezes >20s
@zacjansheski is already working on this.
Since Oct 27, 2025.
- 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 a document with more than 5 pages (but really depends on content)
- Save
Takes up to 20s often
- Open a document with more than 10 pages and 4-5 voices or more
- Edit the layout (e.g. staff size, engraving rules, width using
}, etc.
Wait 20s for one (!!) of the changes to be applied. Press } again to wait for another 20s.
Supporting files, videos and screenshots
21:14:58.774 | INFO | main_thread | MultiInstancesProvider::onMsg | "RESOURCE_CHANGED"
21:14:59.732 | INFO | main_thread | MultiInstancesProvider::onMsg | "METHOD_QUITED"
21:14:59.770 | INFO | main_thread | Profiler |
Main thread. Top 150 by sum time (total count: 254)
Function Call time Call count Sum time
NotationProject::save 35046.720 ms 9 315420.477 ms
NotationProject::doSave 35045.435 ms 9 315408.912 ms
Score::doLayoutRange 184.499 ms 966 178225.772 ms
ScoreLayout::layoutRange 184.487 ms 966 178214.707 ms
ScorePageViewLayout::layoutPageView 186.797 ms 954 178204.224 ms
Score::update 1205.049 ms 145 174732.058 ms
PageLayout::collectPage 16.343 ms 10307 168446.155 ms
SystemLayout::collectSystem 3.827 ms 43900 167992.056 ms
NotationProject::writeProject 14180.480 ms 9 127624.320 ms
EngravingProject::writeMscz 10007.958 ms 9 90071.619 ms
MscSaver::writeMscz 10007.956 ms 9 90071.606 ms
Writer::writeScore 184.268 ms 365 67257.656 ms
Writer::write 184.242 ms 365 67248.166 ms
MeasureLayout::getNextMeasure 0.361 ms 178152 64266.056 ms
ProjectAutoSaver::onTrySave 2019.178 ms 28 56536.977 ms
HorizontalSpacing::updateSpacingForLastAddedMeasure 0.096 ms 302888 29164.767 ms
SystemLayout::layoutSystemElements 0.692 ms 29636 20514.476 ms
ChordLayout::layoutChords1 0.004 ms 4659036 19877.381 ms
ChordLayout::layoutStem 0.002 ms 11109028 19270.867 ms
HorizontalSpacing::computeSpacingForFullSystem 0.527 ms 29624 15613.161 ms
BeamLayout::layout 0.022 ms 643209 14386.099 ms
MasterNotationParts::replaceInstrument 2789.033 ms 5 13945.167 ms
BeamLayout::layout2 0.021 ms 643209 13449.243 ms
NotationParts::insertPart 3080.394 ms 4 12321.578 ms
NotationParts::setPartSharpFlat 2753.225 ms 4 11012.902 ms
BeamLayout::createBeams 0.067 ms 163167 10940.545 ms
and
Other threads. Top 150 by sum time (total count: 23)
Function Call time Call count Sum time
AbstractNotationPaintView::paint 27.672 ms 2294 63478.860 ms
NotationPainting::doPaint 27.384 ms 2292 62763.894 ms
Paint::paintScore 27.346 ms 2292 62676.761 ms
Paint::paintItems 6.033 ms 8631 52072.422 ms
Paint::paintItem 0.005 ms 10830814 48797.689 ms
NotationNavigator::paint 134.260 ms 197 26449.180 ms
NotationPainting::paintPageSheet 0.338 ms 8631 2914.064 ms
In which versions of MuseScore Studio is this issue present?
Since v3, but I cannot tell the exact version. Still present as of today and nighlies.
Regression
Yes, this used to work in MuseScore 3.x and now is broken
Operating system
Linux, 6.17.4-arch2-1
Additional context
I saw this happen somewhere in the 3.x range, but it is not getting better. Videos can be attached. MuseSounds does not have anything to do with it.
This makes a lot of drag/n/drop operations impossible.
What I observed: Only one processor core is ever used, CPU usage for mscore is never >100%.
I tried:
- AppImages
- Arch Linux AUR native builds
If you need anything else, let me know. I have basic knowledge of running most debugging commands and might know a bit about coding. ;)
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.