Crash when MM rests are enabled in Continuous view

• Aug 23, 2018 - 17:53
Reported version
3.0
Type
Functional
Severity
S2 - Critical
Status
closed
Project

GIT commit: 6247147 / Windows7

1) Default "Untitled" score
2) Switch in Continuous View
3) Press "M"

Result: crash

Or:

1) Default "Untitled" score
2) Press "M"
3) Switch in Continuous View
4) Press "M"

Result: crash


Comments

I am still able to reproduce the crash even after applying the above patch. I had thought I had fixed this once also, but I too was mistaken. The patch may prevent a crash I encountered once while trying to diagnose this bug, but I am not sure I understand what this fix has to do with multi-measure rests.

In reply to by mattmcclinch

mattmcclinch could you describe the steps to reproduce the crush.
I follow the next scenario:
1) Run MuseScore
2) Default "Untitled" score
3) Switch in continuous view
4) Press "m"
Result: crush

In my scenario crush is disappear. Fix repairs only the crush , MuseScore does not still show multi-measure rests in continuous view. I guess fixing multi-measure rests should be in the another Pull Request #137501: Inability to show multi-measure rests in Continuous View

Copied from cadiz1's second scenario (step 4 is not necessary):

1) Default "Untitled" score
2) Press "M"
3) Switch in Continuous View

Result: crash

The crash happens in Timeline::updateView() during a call to system->canvasBoundingRect().

If it makes a difference, my operating system is macOS 10.13.6. I am currently compiling your fix#275552MMrests branch in Visual Studio to see if I can reproduce the crash in Windows.

Status (old) patch (code needs review) fixed
Status fixed

Fixed in branch master, commit b259099300

fix #275552 fix#137501: Inability to show MM rests in Continuous View

1) The reason of crash is utilizing already deleted pointer. Each element are lying in tree. The parent of VBox element is System element. When we change mode to continuous view MS deleted all system elements and create new one. Then populate new tree with new system which root. But VBox is not shown in continuous view and MS do not set new parent for VBox. Sow VBox have pointer to deleted SYstem element. I fixed it.
2) Add header file to libmscore/CMakeLists. It doesn't effect on building, But it is necessary to include header files to Visual Studio IDE

3) Fix inability to show multi-measure rests in Continuous View see https://musescore.org/en/node/137501