Adding a note-anchored lines to any but the top part crashes
⇒
Adding a note-anchored lines to any but the top part/instrument crashes
Workaround
No
⇒
Yes
Workaround is to (temporarily) move that part/instrument to the top, prior to adding these lines.
Save, close, reopen before moving the part/instrument back down again, else it crashes too.
Adding a note-anchored lines to any but the top part/instrument crashes if parts are generated
⇒
Adding a note-anchored line to any but the top part/instrument crashes if parts are generated
I removed the piano part and it still crashed. But I left the SATB part(s). If I remove that also it ideed doesn't crash, so there's another workaround (which I'd rather not take in this case, as the parts had a considerable amount of formatting already)
Comments
Workaround is to (temporarily) move that part/instrument to the top, prior to adding these lines.
Save, close, reopen before moving the part/instrument back down again, else it crashes too.
I can't reproduce unless parts are generated - same for you?
Also seems to work to add the line first, before generating parts.
I removed the piano part and it still crashed. But I left the SATB part(s). If I remove that also it ideed doesn't crash, so there's another workaround (which I'd rather not take in this case, as the parts had a considerable amount of formatting already)
Came up again in #333082: Crashed after putting a note anchored line in the organ staves
Further simplified score from that issue attached here
Stack trace:
1 Ms::ScoreElement::score scoreElement.h 189 0x105b59c
2 Ms::Staff::spatium staff.cpp 818 0xac0f60
3 Ms::SLine::linePos line.cpp 776 0xa1779e
4 Ms::SLine::layout line.cpp 1131 0xa19907
5 Ms::Chord::layoutSpanners chord.cpp 2622 0x94ff7c
6 Ms::LayoutContext::collectPage layout.cpp 4967 0xa0bf7f
7 Ms::LayoutContext::layout layout.cpp 5181 0xa0d114
8 Ms::Score::doLayoutRange layout.cpp 5169 0xa0d074
9 Ms::Score::update cmd.cpp 302 0x536488
10 Ms::Score::endCmd cmd.cpp 260 0x536126
11 Ms::ScoreView::cmdAddNoteLine scoreview.cpp 4170 0x6522ed
12 Ms::ScoreView::::operator()(Ms::ScoreView *, const QByteArray &) const scoreview.cpp 2202 0x642b32
13 std::_Function_handler>::_M_invoke(const std::_Any_data &, Ms::ScoreView *&&, const QByteArray &) std_function.h 297 0x65e64b
14 std::function::operator()(Ms::ScoreView *, QByteArray const&) const std_function.h 687 0x10d50ed
15 Ms::ScoreView::cmd scoreview.cpp 2890 0x64ade1
16 Ms::ScoreView::cmd scoreview.cpp 2089 0x6424c7
17 Ms::MuseScore::cmd musescore.cpp 6617 0x433e30
18 Ms::MuseScore::cmd musescore.cpp 6044 0x43077a
19 Ms::MuseScore::qt_static_metacall moc_musescore.cpp 610 0x5eef3d
20 void doActivate(QObject *, int, void * *) 0x68b978bb
...
At level 1 and 2
this
is anullptr
A possible fix seems rather simple, at level 3 of the above stack trace:
The crash doesn't seem to happen in 4.0.2 though
Well, actually not. The line gets added, but then it crashes, when (auto)saving the score, stack trace:
1 Ms::ScoreElement::links scoreElement.h 249 0x105b59c
2 Ms::Element::writeProperties element.cpp 606 0x9a40ab
3 Ms::Spanner::writeProperties spanner.cpp 1318 0xabbc4d
4 Ms::SLine::writeProperties line.cpp 1224 0xa1a153
5 Ms::TextLineBase::writeProperties textlinebase.cpp 526 0xb216fd
6 Ms::TextLine::write textline.cpp 185 0xb1c8c4
7 Ms::ConnectorInfoWriter::write connector.cpp 329 0xbde585
8 Ms::Spanner::writeSpannerStart spanner.cpp 1329 0xabbd52
9 Ms::Note::write note.cpp 1345 0xa40276
10 Ms::Chord::write chord.cpp 1037 0x947e83
11 Ms::Score::writeSegments scorefile.cpp 1364 0xb582be
12 Ms::Measure::write measure.cpp 1992 0xa2c1de
13 Ms::writeMeasure scorefile.cpp 74 0xb500d2
14 Ms::Score::writeMovement scorefile.cpp 245 0xb517fd
15 Ms::Score::write scorefile.cpp 279 0xb51e48
16 Ms::Score::saveFile scorefile.cpp 763 0xb54f46
17 Ms::Score::saveCompressedFile scorefile.cpp 611 0xb53deb
18 Ms::MuseScore::autoSaveTimerTimeout musescore.cpp 5246 0x42bf99
19 Ms::MuseScore::qt_static_metacall moc_musescore.cpp 546 0x5ee6d3
20 void doActivate(QObject *, int, void * *) 0x68b978bb
...
That in turn can get fixed too:
This part seems to happen on 4.x too, at least on scores that stem from 3.x? See #343436: Note-anchored line crashes MuseScore on saving
See https://github.com/Jojo-Schmitz/MuseScore/pull/83 (against my 3.x branch, for inclusion into my 3.7.0)