Critical bug - crashing and not able to read damaged file

• Nov 22, 2019 - 05:17
Reported version
3.3
Type
Functional
Frequency
Once
Severity
S1 - Blocker
Reproducibility
Randomly
Status
closed
Regression
No
Workaround
No
Project

I was working on "Pictures At An Exhibition.mscz" and I was changing the text in a "Change instrument" text object, and the instrument had not been set yet. By this point, the project repeatedly crashed when I would scroll too fast or perform large operations at once. "Pictures_At_An_Exhibition.mscz" is an older version, and "Pictures At An Exhibition - s.mscz" is a more recent version. Playing around in "Pictures At An Exhibition - s.mscz" should cause the crashes, but wait! There's more!

Now every time I try to reopen "Pictures At An Exhibition.mscz", musescore crashes right away. I would report the bug using the reporter that pops up, but that fails too, saying: "Error while uploading crash report: Error transferring https://sentry.musescore.org//api/2/minidump/?sentry_key=56d748212f403a… - server replied: OK"

What do I do? I spent ages working on this score and I really don't want to lose it


Comments

Type EPIC Functional
Frequency Many Once
Regression Yes No

I can confirm the crash and the crashreporter error:
error.png
On the 1st score that is. 2nd loads without issues
3rd reports corruptions:
Measure 319, Staff 10 incomplete. Expected: 2/4; Found: 11/16
but loads too, no crash

MuseScore dies on a failed assertion (and even in the latest development build):
Fatal: ASSERT: "!isEmpty()" in file C:/Qt/5.12.6/mingw73_32/include/QtCore/qlist.h, line 347 (C:/Qt/5.12.6/mingw73_32/include/QtCore/qlist.h:347, )

'famous last words' before that:
Debug: tick2measure 934080 (max 929340) not found (...\libmscore\utils.cpp:65, Ms::Measure* Ms::Score::tick2measure(const Ms::Fraction&) const)
Debug: measure not found (...\libmscore\edit.cpp:4729, void Ms::Score::undoAddCR(Ms::ChordRest*, Ms::Measure*, const Ms::Fraction&))

Same issue here uploading crash report which I reported as follows: I was changing the instrument name via right click/staff properties. This was the third instrument name I was changing following a huge cut and past of a rhythm guitar section into another staff section below a lead part. Thank you!

Forcing all parts of this score being loaded in page mode rather than continuous view mode (which requires editing a file) allows opening this score but shows a lot of incomplete (or rather overcomplete, containing 33/32 instead of 4/4) measures. I attached a file I got after saving this opened score, but I am not sure how to repair these erroneous measures.

Attachment Size
Pictures At An Exhibition_resaved.mscz 374.18 KB
Status PR created fixed

Fixed in branch master, commit c8a27535c2

_fix #297468: fix a crash on reading a corrupted score with linear layout mode in part

In a corrupted score tick values may sometimes be not synchronized
between master score and parts. This may lead to incorrect setting
of layoutAll flag as ticks from different scores are compared.
Ensuring that only master score ticks are compared fixes layoutAll
flag for scores corrupted that way and prevents a crash due to not
making a full layout on score loading. This change makes no
difference for correctly saved scores._

Fix version
3.3.4