Crash on changing duration of 2nd voice in drums

• Jun 26, 2015 - 21:00
S2 - Critical

I can replicate this crash easily with the file I am working on:

Mususcore 2.0.1 Revision: b25f81d

OS X 10.10.3

I am working on an arrangement that is almost done. I needed to clean up the drum score. Please see attached score.

Screenshot #1: Measure 71 drums on bottom line. Note that the crash cymbal, snare and bass are a quarter note on beat 4.

Screenshot #2: After clicking on the quarter note for the cymbal (or the snare) and pressing the "4" key to change to an eight note. Notice that the bass drum is still a quarter note (it is in voice two).

After Screenshot #2: Click on the bass drum quarter note and press the "4" key. Crash immediately. I will look for a workaround.



I can confirm the crash. It seems somehow, many of the bass drum notes not present in the linked part, and therefore edits to these notes confuse MuseScore. The score is basically corrupt at this point; while we can probably avoid the crash, more important will be to understand how this corruption happened.

Do you have any idea how that might have happened? Normally, this should not be possible - all notes in the score should be present in the part and vice versa. Was this score perhaps begun with an earlier experimental pre-release build of MuseScore? Were you using the voice selection buttons to move drum notes between voices? Anything unusual with copy/paste & the selection filter, perhaps?

Anyhow, I think the workaround will be to identify which measures have the missing notes, select those measures in the score, cut, then paste - this will hopefully recreate those measures properly in the part.

"Do you have any idea how that might have happened? "

Not really. This song was arranged from scratch using 2.0.1.

"Normally, this should not be possible - all notes in the score should be present in the part and vice versa."

My process is to always completely score out a piece then create the parts. I RARELY edit parts directly (the exception being to fix markings such as texts and such which are not placed well on the part chart, or hairpins,etc. that are obstructing other notation). In this case, I never edited the drum part directly, only the score, although of course editing the score once I created the part should have kept the part in synch.

"Was this score perhaps begun with an earlier experimental pre-release build of MuseScore?"

No, see above.

"Were you using the voice selection buttons to move drum notes between voices?"

No, I hardly ever use the voice buttons, and with the drum parts it is LARGELY unnecessary - although I have noticed that if you enter new notes into an empty measure in the drum part and start with the bass drum (for example), instead of the notes being placed into Voice 2, they are placed into Voice 1. Since I find this annoying, I always enter snare/cymbal/tom notes first so that I get the Voice 1 notes in, then select bass/high hat for entry so that those will go in Voice 2.

"Anything unusual with copy/paste & the selection filter, perhaps?"

Not that I know of. I will say that the whole area of drums and repeat symbols could be improved. Today you have to place each repeat individually (which is painful), and you can't paste across an existing repeat symbol frequently (let's say I want to grab an earlier rhythm to replace a measure that is just a repeat: select -> copy -> select new measure -> paste -> get error; you end up having to delete the repeat symbol first, then paste).

How are you entering the drum notes? There are three different methods:

1) using the keybaord shortcuts
2) click palette icon, then click in score
3) double click palette icon

Entering a note that is pre-defined to appear in voice 2 - like bass drum - should place that note in voice 2 when using either of the first two methods. Only when using the third method does MuseScore use the currently-selected voice icon to override the pre-defined voice.

Anyhow, anything you can think of that would help us understand how this might have happened would be very helpful.

BTW, I am not sure what you mean about not being able to copy repeat symbols. They should copy just fine - select the measure, Ctrl+C, select another measure, Ctrl+V. You can also use the "R" command to duplicate the contents of a selection. So it is actually very quick to fill a region with measure repeat symbols. But it is true that you have to delete a measure repeat symbol before you can paste. Not sure if there is a good reason for that - feel free to start a discussion in the support forum about this.

I generally use #2.

Let's first cover Voice 1 versus Voice 2. I created a quick sample score only with drumset.

Screenshot #1: New blank measures.

Screenshot #2: What I see when I select the whole rest in the first measure and press the "N" key to start note entry. Notice that in the pallet the bass drum is selected, and the cursor is a GREEN note, IMPLYING that when I click it is about to place a note in the measure in Voice 2.

Screenshot #3: This is what I see AFTER I click the bass drum note into beat 1. Notice that the note is highlighted in BLUE, indicating that it is in Voice 1.

If I had to guess, I know that there has to be beats to account for the whole measure in Voice 1. Perhaps the logic is confused in retaining this in a multi-voice line when Voice 1 had a whole rest and Voice 2 a quarter note in beat one. But I am not the code logic person to address that.

Now let's address pasting over repeats...this you discussed.

Screenshot #1: Let's start with a simple rhythm

Screenshot #2: Select the simple rhythm and Copy

Screenshot #3: Select the measure with the repeat symbol where you want to copy the rhythm

Screenshot #4: Paste into measure and get the warning message

The workaround is to delete the repeat in that measure first then paste. However, this adds a step and really should not be needed.

No, it's simpler than that - you just have to click the bass drum icon after entering note input mode. That's what switches the voice selector to 2. You can't just rely on it having been selected from last time you were in note input mode - that selects the icon but not the voice. The voice is set to 1 because you started note input mode with a voice 1 rest selected, and you can see this by checking the voice selection icons in the toolbar. The initial voice is set according to what you selected before entering note input mode - if you had a voice 2 note/rest selected, then note input mode would have started off in voice 2. And again, simply clicking an icon will change the voice for you.

It is possible somehow confusion over this point eld you to do some things MuseScore was not expecting and that somehow created the problem with the part not being in sync, but it's still a mystery.

If you wish to discuss the possibiltiy of pasting over the measure repeat symbol directly, as I said, you should start a thread in the Support forum. There are presumably reasons it is the way it is, although perhaps not very good reasons, but anyhow this isn't the right place to discuss it.

I will.

However, today I was working on another score where I added a series of "fingers snaps" to an instrument part, then used repeat symbols until I wanted the snaps to stop. The last measure with the repeat symbol was on the next page of the score. I then copied all of those measures and pasted them into several of the other parts (I want them all snapping). The last measure of the paste block (which was the first measure on the next page) became corrupted for all of the instruments where I pasted the line (corrupted by having an empty measure of no value even though the same measure for instruments above and below were fine). I ended up inserting a new measure and deleting the old one to fix it.

Unfortunately, I can't replicate the problem in a stand-alone new file!!!! I will keep trying, but since I do lots of copying and pasting of lines that contain repeat symbols, and I seem to have issues with scores getting corrupted, and since the original crash happened in a corrupted score, I can't help but think there is an issue somewhere about pasting either repeat symbols into empty measures OR pasting OVER delete symbols with new material.

I will keep trying to replicate as I suspect if I can it will help lead to a solution for the crash as well as the "random" corruption.

There have indeed problems with measure repeats that could create corruptions in certain cases. Some were fixed during the beta, at least one fixed only after release of 2.0.1.

Status needs info closed
Regression No
Workaround No

Now the attached score reports corruption during opening in master exactly in measures 71 and 72.