Crash when launching playback in presence of unexpected voltas
Reported version
3.0
Priority
P0 - Critical
Type
Performance
Frequency
Many
Severity
S2 - Critical
Reproducibility
Always
Status
closed
Regression
Yes
Workaround
Yes
Project
Load score
push play
crashes
Attachment | Size |
---|---|
Nona Band Gonna Play.mscz | 36.29 KB |
Fix version
3.5.0
Comments
I cannot reproduce, it plays fine for me in both 3.0.5 and 3.1 on Windows. What version, what OS, and are you using any non-default soundfonts or I/O settings?
I get the same crash using the RC. I think you're probably using a self build. I sent the crash report referencing this issue. Also, I tried clicking a measure and pressing space and it still crashed. The first crash was following the instructions literally (load, play crash with nothing in between). Load, click a measure, play still led to a crash.
Crash here too when launching playback (3.1 R.C. / Windows10)
The crash is due to the "weird" voltas in measures 9 and 10. Delete it, replace them, and the problem is gone: Nona Band Gonna Play2.mscz
I can't reproduce from scratch.
On the other hand, I note that this score was created in 2014 (then on musescore.com).
I would tend to think that this creation date can explain a lot of things (there have been quite regular changes about voltas in the different versions in five years)
So I don't really know how to give a status to this issue. Maybe closed (this is the risk with old scores and some cases ? even if the crash should, of course, at least be avoided)
Great analysis as usual. I don't importing a 5 year old score should lead to a crash. If it still crashes the version in use at the creation date I would agree the issue should be closed, otherwise the volta should be fixed.
Actually, now it crashes on load for me with my self build.
Is it a regression vs 3.0.5? The "Reported version" setting indicates it to be one.
(typo)
The problem exists in 3.0.5 and 3.1 so it's not a regression.
Thanks. so it still needs to get fixed but not neccessarly for 3.1
It looks like the reason of the crash here is
<anchor>0</anchor>
inside Voltas which make them be anchored not to a measure but to a segment. The code always assumes that voltas are anchored to a measure which leads to errors — to a crash in this case. Like for #290929: crash with negative number of dots for rests, it is easy to fix exactly this case but two questions arise:1) Validation of the read data is needed not only here.
2) Does the
<anchor>
tag need to be allowed in MuseScore files at all? It looks like anchoring should usually be a property bound to a particular spanner type rather than to individual spanner instances.Came up again in #300568: Specific score Causing Musescore to Crash When Running
As this seem to be rather common issue with old scores I have made a pull request to correct this one specifically: https://github.com/musescore/MuseScore/pull/5672.
Still the question on input data validation remains actual.
Came up again in https://musescore.org/en/node/301772
Seems a regression introduced in MuseScore 2.2 or 2.2.1
Workaround is to delete and recreate those voltas
Fixed in branch master, commit f97cfd1f1a
fix #289643: fix crashes if volta anchor is set incorrectly in MSCZ file
Fixed in branch master, commit 72378dad3d
_Merge pull request #5672 from dmitrio95/289643-volta-anchor-read
fix #289643: fix crashes if volta anchor is set incorrectly in MSCZ file_
Automatically closed -- issue fixed for 2 weeks with no activity.