musescore / musescore/MuseScore

Linux: Painting and saving painfully slow, freezes >20s

Open
#30,776 4 comments 0 reactions 3 assignees View on GitHub

@zacjansheski is already working on this.

Since Oct 27, 2025.

awaiting reply from user crash needs info os: linux regression MS3
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
  1. Open a document with more than 5 pages (but really depends on content)
  2. Save

Takes up to 20s often

  1. Open a document with more than 10 pages and 4-5 voices or more
  2. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.