Crash when launching playback in presence of unexpected voltas

• May 25, 2019 - 02:29
Reported version
3.0
Priority
P0 - Critical
Type
Performance
Frequency
Many
Severity
S2 - Critical
Reproducibility
Always
Status
PR created
Regression
No
Workaround
No
Project

Load score
push play
crashes

Attachment Size
Nona Band Gonna Play.mscz 36.29 KB

Comments

Severity S1 - Blocker S2 - Critical
Status active needs info

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.

Title Crash when lauching playback in presence of unexpected voltas Crash when launching playback in presence of unexpected voltas

(typo)

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.