Crash by removing parts when creation of other parts is undoing

• Oct 27, 2016 - 19:07
Reported version
2.1
Type
Functional
Severity
S2 - Critical
Status
closed
Project

Comments

Two observations:

1) This inability to remove parts, when corrupted, goes back to:
- February 26 (Branch: master). It is possible with this nightly: bec7074,
not with that one: c6ccf18
So, the same commit: https://github.com/musescore/MuseScore/commit/8bf08c232818e04150481ceb2…
- and March, 29 (for Branch: 2.0.3), just some days before the release of the 2.0.3.
I guess here: https://github.com/musescore/MuseScore/pull/2489/files

2) The workaround, as mentioned in the first link, is to export the file in the MusicXMLformat: via this format, the parts are not exported, which is an excellent way to remove them! Then import this xml file, re-create parts, and all is well.

Thanks, cadiz1, as usual excellent work at identifying the possible culprit!

Hmm, so maybe using 2.0.2 to get these parts deteleted might work?
I should be able to test that later with a 2.0.2 protable app.

Of course, it works also with the 2.0.2 (released in July 2015, and checked on nightlies of this day and period, and followings, so until end February 2016).
But nobody may have/use the 2.0.3 and the 2.0.2 both. The export via the XML format avoids this problem.

Yes, but that XML export also geds rid of formatting. And running 2.0.2 prtable on the same computer where 2.0.3 is installed is possible and quite easy. The portable apps are availalble via the download page, see https://musescore.org/en/download#Older-versions -> https://sourceforge.net/projects/portableapps/files/MuseScore%20Portabl…

OK, I've tried it and indeed it works, gere's the file without parts, parts removed with 2.0.2

Attachment Size
Please.mscz 139.77 KB

Well, not really necessary, because the 2.0.2 is only a nightly "stopped in the time" of July 16, 2015, that's all. And one, is very few! But good to know for these portable apps.

Title Crash when removing parts Crash by removing parts when creation of other parts is undoing

Ok, found/understood this issue.

I can therefore reproduce a file whose corruption (when it is located in the parts) is not detected by 2.0.3.
And another one whose corruption is reported in the dialog box (because it is in the main score)

The point common to these two files is that they crash when you want to delete the parts.

And as if by chance, as I indicated in comment #1, this crash, by deleting parts, comes after end February 2016 (and therefore the 2.0.2 is not affected by this, or nightlies of the following months)
So, I think I've won the jackpot!

So, to reproduce from scratch:

First scenario

1) "My First Score"
2) Generate parts -> New all -> Ok
No necessary to enter notes, so, we continue
3) Generate parts again -> New all (or New -> Tick "Piano") -> Ok
4) Undo
5) Enter notes in the main score
6) View Part -> Press "M"
Result: corruption (which may easily leads to crash of course)
corruption in parts.jpg
7) Save -> Close
8) Reload
The test file at this step: Test file parts 1.mscz
Result: you observe the corruption is not reported by the 2.0.3

9) File -> Parts -> Remove the part -> Ok

Final result: crash

Second scenario:

Same 4 first steps, ie:
1) "My First Score"
2) Generate parts -> New all -> Ok
No necessary to enter notes, so, we continue
3) Generate parts again -> New all (or New -> Tick Piano) -> Ok
4) Undo

Then:
5) Enter notes in the part
6) View main score
Result: corruption
corruption main score.jpg
7) Save -> Close
8) Reload
The test file at this step: Test file main 2.mscz

This time, the corruption is reported via a dialog box (-> Ignore)

9) File -> Parts -> Remove the part -> Ok

Final result: crash

Status (old) active fixed

I can't reproduce this issue.
Fixed by: https://github.com/musescore/MuseScore/commit/c143ce2ad5047edb580c84e2a…
Thanks.

EDIT: more exactly, I can't reproduce from scratch with this nigthly a61cf1c, since there is no more corruption after undoing the creation of parts.
But with the same nigthly, the test file attached to the comment #8 (with the corruption in main score) crashes when loading: Test file main 2.mscz
And the first one (with the corruption in parts) leads to a crash simply by pressing "M" when you open the part: Test file parts 1.mscz