-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[MU3] Fix #314899: Identical expression #7179
[MU3] Fix #314899: Identical expression #7179
Conversation
f3bf206
to
2bcabdf
Compare
The mtest fail (https://github.com/musescore/MuseScore/pull/7179/checks?check_run_id=1622482883#step:5:761) seems to be the result of this PR's change. For some strange reason the corresponding PR for master builds cleanly though |
The crash is caused by an assert at line 104 of importexport/midiimport/importmidi_simplify.cpp for test voiceSeparationTuple (i.e. importing voice_tuplet.mid) |
And I think that in master importmidi mtests are not being tested at the moment. |
It had to be one of those 4 Q_ASSERT_X, but why? |
By using a break at that X_ASSERT (line 104 in 3.x and line 102 in master), the noteDurations list is:
which gives sum = 37/512, while the desiredLen (offset - DurationStart) is 7/96. |
Close, but not the same, 0.072265625 vs 0.072916666 Guess a case of "never check for error conditions you can't handle" Need to introduce some kind of an epsilon for this apparent floating point comparison? |
2ee11ba
to
2ae2276
Compare
Importing the "tuplet_3_5_7_tuplets.mid" file produces a corrupt MuseScore file (in 3.5.2 and 3.6 RC): It dies at an entirely different assert:
and I don't see how that might be related to this PR here? Not sure yet what's going wrong with the "voice_tuplet.mid" file/test, this is the one that fails the assertion at MuseScore/importexport/midiimport/importmidi_simplify.cpp Lines 104 to 105 in 7a465c3
and as such is related to this PR |
tuplet_3_5_7_tuplets.mid is imported |
For me that .mid file crashes with an assertion failure on load (in a debug build). Only when importing in a non-debug build I could save it as mscz (but without using any of those options) and got that corrupt score. |
2ae2276
to
c66dbcb
Compare
by removing the entire thing, it seems useless, esp. that `return desiredLen == desiredLen;` and even harmful and wrong anyway.
c66dbcb
to
0834648
Compare
by removing the entire thing, it seems useless, esp. that `return desiredLen == desiredLen;` and even harmful and wrong anyway. Duplicate of musescore#7179, but also part of the backport of musescore#8762
by removing the entire thing, it seems useless, esp. that `return desiredLen == desiredLen;` and even harmful and wrong anyway. Duplicate of musescore#7179, but also part of the backport of musescore#8762
Want me to port it over to master? |
counterpart to musescore#7179, but for master
That "Thumbs up" doesn't notify... |
Resolves: https://musescore.org/en/node/314899
Same fix needed in master, see #7180, or #7627, both closed by now.
And see #8762, which brought this up again.