Crash when switching voices if notes are tied
Reported version
3.4
Type
Functional
Frequency
Once
Severity
S2 - Critical
Reproducibility
Always
Status
closed
Regression
No
Workaround
Yes
Project
To reproduce:
1. Open the attached file Crash_Boom_Bang.mscw
2. Switch to voice two (I used Cmd+Opt+2 for that).
The document has been created with two staffs, Soprano and Alto, and a Part has been added that includes Soprano voice 1 and Alto voice 2. The Soprano and Alto voices have been Imploded. This is an odd combination of things, but one that I managed to accidentally create (and then experimentally tried to recreate for a while after).
Also attached is the backtrace generated for this file on my Mac running macOS 10.14.6
Attachment | Size |
---|---|
Crash_Boom_Bang.mscz | 9.2 KB |
mscore_2020-07-16-121357_Zaphod.crash_.txt | 87.4 KB |
Fix version
3.5.1
Comments
I can't reproduce. What note(s) exactly should get switched to voice 2, and in score or in part?
Also make sure to try this in 3.5 (Beta) too, a couple of issues with single voice parts have been fixed there
In reply to I can't reproduce. What note… by Jojo-Schmitz
Ah, I see there is an additional step I need to take: select bars 1 and 2 of the Soprano staff, then switch to voice two. This crashes in both 3.4 and 3.5.
confirmed (Ctrl+Alt+2 on non-Macs)
Stack trace:
1 Ms::ScoreElement::isNote scoreElement.h 261 0xff1f50
2 Ms::ChangeSpannerElements::flip undo.cpp 2279 0xab9622
3 Ms::UndoCommand::redo undo.cpp 165 0xab098c
4 Ms::UndoStack::push undo.cpp 307 0xab122d
5 Ms::Score::undo score.cpp 3650 0x9fe45a
6 Ms::Score::undoChangeSpannerElements edit.cpp 5123 0x921f51
7 Ms::Score::changeVoice score.cpp 4435 0xa01bfe
8 Ms::ScoreView::changeVoice scoreview.cpp 4307 0x605046
9 Ms::ScoreView::::operator()(Ms::ScoreView *, const QByteArray &) const scoreview.cpp 2575 0x5f753f
10 std::_Function_handler>::_M_invoke(const std::_Any_data &, Ms::ScoreView *&&, const QByteArray &) std_function.h 316 0x614b18
11 std::function::operator()(Ms::ScoreView *, QByteArray const&) const std_function.h 706 0x10659bd
12 Ms::ScoreView::cmd scoreview.cpp 2805 0x5fc717
13 Ms::ScoreView::cmd scoreview.cpp 2056 0x5f49eb
14 Ms::MuseScore::cmd musescore.cpp 6618 0x432aea
15 Ms::MuseScore::cmd musescore.cpp 6040 0x42f3af
16 Ms::MuseScore::qt_static_metacall moc_musescore.cpp 518 0x5a15c2
17 QMetaObject::activate(QObject *, int, int, void * *) 0x68a947c8
18 Ms::ScoreTab::actionTriggered moc_scoretab.cpp 225 0x5bfcfe
19 Ms::ScoreTab::qt_static_metacall moc_scoretab.cpp 110 0x5bf786
20 QMetaObject::activate(QObject *, int, int, void * *) 0x68a947c8
...
Seems easy to fix, see https://github.com/musescore/MuseScore/pull/6341
Probably to late for 3.5RC or 3.5.0 final (not being a regression) but might be something for 3.5.1
Workaround is to delete the tie prior to the voice change.
Not related to parts pr single voice parts at all
Fixed in branch 3.x, commit 01ba2c9500
fix #307900: Crash when switching voices if notes are tied
Fixed in branch 3.x, commit dfc6407d28
_Merge pull request #6341 from Jojo-Schmitz/crash-swap-voice
fix #307900: Crash when switching voices if notes are tied_
Fixed in branch master, commit 05ee013ab3
fix #307900: Crash when switching voices if notes are tied
Automatically closed -- issue fixed for 2 weeks with no activity.