Crash on regroup rhythm with corrupt parts

• Dec 24, 2020 - 17:58
Reported version
3.5
Type
Functional
Frequency
Once
Severity
S2 - Critical
Reproducibility
Always
Status
duplicate
Regression
No
Workaround
Yes
Project

OS: macOS 10.16, Arch.: x86_64, MuseScore version (64-bit): 3.5.2.312126096, revision: 465e7b6

What happens is that when I go to Tools->Regroup Rhythms, MuseScore exits unexpectedly. This happens consistently. It can be reproduced by opening the attached musescore file, selecting everything (Edit->Select All), and performing this operation.

Stack Trace:

Thread 0 Crashed:: CrBrowserMain Dispatch queue: com.apple.main-thread
0 org.musescore.MuseScore 0x000000010425024b 0x103a8c000 + 8143435
1 org.musescore.MuseScore 0x00000001042352e0 Ms::Score::undoAddElement(Ms::Element) + 9312
2 org.musescore.MuseScore 0x000000010423dcd4 Ms::Score::regroupNotesAndRests(Ms::Fraction const&, Ms::Fraction const&, int) + 5604
3 org.musescore.MuseScore 0x000000010420fb96 Ms::Score::cmdResetNoteAndRestGroupings() + 246
4 org.musescore.MuseScore 0x0000000104217807 Ms::Score::cmd(QAction const
, Ms::EditData&) + 583
5 org.musescore.MuseScore 0x0000000103e7fe58 Ms::ScoreView::cmd(char const) + 488
6 org.musescore.MuseScore 0x0000000103e7fc46 Ms::ScoreView::cmd(QAction const
) + 118
7 org.musescore.MuseScore 0x0000000103d23388 Ms::MuseScore::cmd(QAction*, QString const&) + 7512
8 org.musescore.MuseScore 0x0000000103d213b8 Ms::MuseScore::cmd(QAction) + 1480
9 org.qt-project.QtCore 0x000000010c259b0a QMetaObject::activate(QObject
, int, int, void) + 2954
10 org.musescore.MuseScore 0x0000000103abffa3 0x103a8c000 + 212899
11 org.qt-project.QtCore 0x000000010c259b0a QMetaObject::activate(QObject*, int, int, void
) + 2954
12 org.qt-project.QtWidgets 0x00000001055cf140 0x1055c4000 + 45376
13 org.qt-project.QtCore 0x000000010c259b0a QMetaObject::activate(QObject*, int, int, void) + 2954
14 org.qt-project.QtWidgets 0x00000001055cc675 QAction::activate(QAction::ActionEvent) + 309
15 org.qt-project.QtCore 0x000000010c259b0a QMetaObject::activate(QObject*, int, int, void
) + 2954
16 org.qt-project.QtCore 0x000000010c251da4 QObject::event(QEvent) + 788
17 org.qt-project.QtWidgets 0x00000001055d5eb2 QApplicationPrivate::notify_helper(QObject
, QEvent) + 306
18 org.qt-project.QtWidgets 0x00000001055d71cf QApplication::notify(QObject
, QEvent) + 383
19 org.qt-project.QtCore 0x000000010c228edf QCoreApplication::notifyInternal2(QObject
, QEvent) + 159
20 org.qt-project.QtCore 0x000000010c22a092 QCoreApplicationPrivate::sendPostedEvents(QObject
, int, QThreadData*) + 850
21 libqcocoa.dylib 0x000000010e5a8ade 0x10e581000 + 162526
22 libqcocoa.dylib 0x000000010e5a9391 0x10e581000 + 164753
23 com.apple.CoreFoundation 0x00007fff2047da0c CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17
24 com.apple.CoreFoundation 0x00007fff2047d974 __CFRunLoopDoSource0 + 180
25 com.apple.CoreFoundation 0x00007fff2047d6ef __CFRunLoopDoSources0 + 248
26 com.apple.CoreFoundation 0x00007fff2047c121 __CFRunLoopRun + 890
27 com.apple.CoreFoundation 0x00007fff2047b6ce CFRunLoopRunSpecific + 563
28 com.apple.HIToolbox 0x00007fff287006d0 RunCurrentEventLoopInMode + 292
29 com.apple.HIToolbox 0x00007fff28700322 ReceiveNextEventCommon + 283
30 com.apple.HIToolbox 0x00007fff287001ef _BlockUntilNextEventMatchingListInModeWithFilter + 64
31 com.apple.AppKit 0x00007fff22c98de9 _DPSNextEvent + 883
32 com.apple.AppKit 0x00007fff22c975af -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1366
33 com.apple.AppKit 0x00007fff22c89b0a -[NSApplication run] + 586
34 libqcocoa.dylib 0x000000010e5a818d 0x10e581000 + 160141
35 org.qt-project.QtCore 0x000000010c224ba2 QEventLoop::exec(QFlags) + 418
36 org.qt-project.QtCore 0x000000010c2295d2 QCoreApplication::exec() + 402
37 org.musescore.MuseScore 0x0000000103d335ea Ms::runApplication(int&, char**) + 490
38 org.musescore.MuseScore 0x0000000103a97d10 main + 96
39 libdyld.dylib 0x00007fff203a0621 start + 1

Attachment Size
dump.txt 130.1 KB
Kumdo_Creative_Poomsae_Idea_3.mscz 49.16 KB

Comments

Title MuseScore Exits Unexpectedly when Regrouping Rhythms Crash pon regroup rhythm with corrupt parts
Status active needs info

The crash involves a tie in measure 13, staff 11 (viola), somehow the link seems bad. Looking at the score, I see a chord with a suspicious unison in it, but looking at the viola part itself, it seems corrupted - empty measures. Vibraphone part seems corrupt too. Remove those two parts (just the parts, not the staves) and all is well - except the suspicious unison I guess.

WHat we'd need to understand is how this corruption happened so we can address the issue at the source.

Not one hundred percent sure, of course, but I would bet a little coin about something related to this known issue: #313664: Reversing the order of the instruments after creating parts leads to very bad result (corruption/crashes)

E.g, to reproduce the corruption in Vibraphone part.

1) Create all parts with this score: Kundo1.mscz
2) In Instruments dialog, move up the Vibraphone just above the Drumset, and enter some notes in Vibraphone staff (main score)
Look at now this part: corruption, empty measures, see: Kundo2.mscz
3) Not necessary, but after re-organize some parts (remove some of them), you get the "final" score - with the corruption in Vibraphone part : Kundo3.mscz

Well, I did rearrange the order of the instruments in the score at one point. They started out in a fairly random order. It could be related to the issue cadiz1 mentioned.

I've also confirmed that the workaround works for me. I actually don't need the parts at this stage, so I just removed them all and the problem went away.

Status needs info duplicate

"I did rearrange the order of the instruments in the score at one point. They started out in a fairly random order."

Thanks for the feedback. And therefore rather good news since this problem is now fixed for 3.6 Consequently, I think it is reasonable to mark this issue as a duplicate of : #313664: Reversing the order of the instruments after creating parts leads to very bad result (corruption/crashes)
Unless otherwise advised by higher authorities :)

And if it's also something related to the tied unison notes, then it's something else altogether I guess (which can't lead to this kind of massive corruption in the parts anyway). In which case, it will be necessary to be able to reproduce and open a new issue.