Brutal crash when trying to play
After working for many, many hours on a guitar book for beginners, my score brutally crashes everytime I want to start playback, everything else seems to work fine?!
I have re-saved the recovery file, did a factory reset, tried it on a different computer but it happens all the time, so probably the file has been corrupted.
Can anyone of the Musescore gods look into this score and maybe help? Thank you, it has been so much work!
Attachment | Size |
---|---|
sim-sala-pling gesamt 3.mscz | 1.59 MB |
Comments
For some reason (I haven't tried to reproduce from scratch yet), the culprit is the open volta 2 at the end of page 7 - image below.
Place a "closed" volta, please check, and the problem seems solved as far as I can see.
Your score now: 1 sim-sala-pling gesamt 3_0.mscz
In reply to For some reason (I haven't… by cadiz1
Your file works fine! Such an immediate und helpful answer - Thank you!
(Now I wonder how someone can find out about this, I guess you have to be a programmer, not only a music teacher...)
In reply to Your file works fine! Such… by No Spa
"I guess you have to be a programmer"
Absolutely not!
"not only a music teacher..."
Absolutely yes!
(but with a little bit of practice at spotting problems) :)
In reply to "I guess you have to be a… by cadiz1
I took a closer look. In fact, it takes a number of conditions to reproduce this crash.
First an open volta (covering at least two measures), a horizontal frame, a section break, and another measure after that.
So, you can solve in various ways:
1. By closing the volta
2. By deleting the second measure covered by the open volta
3. By deleting the section break and/or the horizontal frame
4. By deleting the extra measure
See the test file created from scratch where one can reproduce the crash by running the playback: test4.mscz
I have no idea what the mechanism behind this behavior is, and whether it has been reported before, in a similar way or not?
In reply to I took a closer look. In… by cadiz1
I keep being amazed at how fast you can find the combination that triggers such a bug cadiz1! Well done.
The code path and fix as below entirely confirms your assessment.
And so it just shows, that even with over 60 automated test scenarios for repeats/voltas/sections there's always one more combination to overlook :-)
In reply to I keep being amazed at how… by jeetee
Thanks Jeetee :) But you know, you weren't here yet, and Marc and Jojo, for example, can testify, I must have really found hundreds and hundreds of bugs (sometimes quite twisted...) since the beginning of the implementation of version 2, then version 3. That's a few years ago.... So, I'm used to it. It's fun, it's like a challenge for me, often winning!
And as I said in the past, it's my way to give back to MuseScore what it gave me (not being a programmer, alas)
That score certainly has a history, it surely has not been created in 3.6. Do you know where (with which version) it had been created?
In reply to That score certainly has a… by Jojo-Schmitz
No matter, as written, my test file ( test4.mscz) has been created from scratch (with 3.6.2) where one can reproduce the crash by running the playback
In reply to No matter, as written, my… by cadiz1
I see. Let's start a debugger...
In reply to I see. Let's start a… by Jojo-Schmitz
In a Debug build:
Fatal: ASSERT: "e == 0 || e->isMeasure()" in file ...\libmscore\scoreElement.h, line 522
Stack trace before:
1 Ms::mscoreMessageHandler musescore.cpp 3941 0x422a19
2 qt_message_print(QtMsgType, QMessageLogContext const&, QString const&) 0x68892408
3 qt_message(QtMsgType, QMessageLogContext const&, const char *, char *) 0x68892509
4 QMessageLogger::fatal(const char *, ...) const 0x68bfe272
5 qt_assert(const char *, const char *, int) 0x68bfde37
6 Ms::toMeasure scoreElement.h 522 0xa6c14b
7 Ms::RepeatList::collectRepeatListElements repeatlist.cpp 543 0xa6df63
8 Ms::RepeatList::unwind repeatlist.cpp 733 0xa6eb07
9 Ms::RepeatList::update repeatlist.cpp 143 0xa6c76a
10 Ms::MasterScore::repeatList score.cpp 1830 0xa7d728
11 Ms::Seq::getPlayStartUtick seq.cpp 1210 0x476780
12 Ms::Seq::canStart seq.cpp 332 0x4725e8
13 Ms::ScoreView::::operator()(Ms::ScoreView *, const QByteArray &) const scoreview.cpp 2177 0x6422bf
14 std::_Function_handler>::_M_invoke(const std::_Any_data &, Ms::ScoreView *&&, const QByteArray &) std_function.h 297 0x65d8b0
15 std::function::operator()(Ms::ScoreView *, QByteArray const&) const std_function.h 687 0x10d453d
16 Ms::ScoreView::cmd scoreview.cpp 2890 0x64a701
17 Ms::ScoreView::cmd scoreview.cpp 2089 0x641de7
18 Ms::MuseScore::cmd musescore.cpp 6613 0x433de4
19 Ms::MuseScore::cmd musescore.cpp 6044 0x43077a
20 Ms::MuseScore::qt_static_metacall moc_musescore.cpp 610 0x5ee87d
...
It's about time to get this into the issue tracker
In reply to I see. Let's start a… by Jojo-Schmitz
Simple fix:
In reply to Simple fix: diff --git a… by Jojo-Schmitz
Better fix (thanks, @jeetee):
In reply to Better fix (thanks, @jeetee)… by Jojo-Schmitz
See https://github.com/musescore/MuseScore/pull/9574 (for master, 4.0)
I've also added it to https://github.com/musescore/MuseScore/pull/9000 (for 3.x)
In reply to See https://github.com… by Jojo-Schmitz
Indeed, this adds even more impetus for a final 'legacy' ver. 3.7 to be released 'for posterity' sometime prior to 4.0.
In reply to Indeed, more impetus for a … by Jm6stringer
Well, this one is a rather rare corner case, an open volta follwed by a section break that is applied to a frame.
In reply to See https://github.com… by Jojo-Schmitz
The PR got merged, so it'll be fixed in 4.0
Came up again in https://musescore.org/en/node/331098
Also crashes on MP3 export and fails to save online too.