Crash in Tab after deleting line breaks and Undo/Redo

• Apr 15, 2016 - 21:35
Reported version
3.0
Type
Functional
Severity
S2 - Critical
Status
closed
Project

GIT commit 96d9765/ Windows7

1) Guitar Tablature template
2) Edit -> Tools -> Add/Remove line breaks -> Ok (not need to change the 4 default)
3) Due to this issue: #106366: "Select all similar elements" is broken, eg for breaks, fingering, barlines, remove (cut) the line breaks the one after the other.

4) When all line breaks (7) are removed, make Undo twice

Result: crash

tab.jpg


Comments

Title Crash in Tab after deleting all line breaks and Undo twice Crash in Tab after deleting line breaks and Undo/Redo

New steps for update the first message:

1) Guitar Tablature template
2) Edit -> Tools -> Add/Remove line breaks -> keep the default, so: Ok
3) Delete the measures 9 to 32. You get this result:
Tab.jpg
4) Delete the two line breaks the one after the other
5) Undo twice
Result: crash

Alternatively:

1) Guitar Tablature template
2) Edit -> Tools -> Add/Remove line breaks -> keep the default, so: Ok
3) Right-click on a line break -> Select -> All similar elements -> Delete (Cut)
4) Undo twice
5) Redo: you get this unexpected result in the measures 13 and 25: a double Tab clef
tab tab.jpg
6) Redo second time

Result: crash

Stack trace:
1 Ms::Segment::setNext segment.h 125 0xb61b8f
2 Ms::SegmentList::remove segmentlist.cpp 134 0x771a50
3 Ms::Measure::remove measure.cpp 704 0x79a0e1
4 Ms::Score::removeElement score.cpp 1300 0x73da7f
5 Ms::AddElement::undo undo.cpp 1514 0x732044
6 Ms::UndoCommand::undo undo.cpp 145 0x72baef
7 Ms::UndoStack::undo undo.cpp 312 0x72c314
8 Ms::MuseScore::undoRedo musescore.cpp 3143 0x491ad5
9 Ms::MuseScore::cmd musescore.cpp 4223 0x497863
10 Ms::MuseScore::cmd musescore.cpp 4026 0x496928
11 Ms::MuseScore::qt_static_metacall moc_musescore.cpp 825 0x687e1e
12 ZN11QMetaObject8activateEP7QObjectiiPPv 0x68a07a62
13 ZN12QActionGroup7hoveredEP7QAction 0x19735295
14 ?? 0x1f9fa380
15 ZN7QAction8activateENS_11ActionEventE 0x19734248
16 ?? 0x28c9c8
17 ?? 0x909001c4
18 ?? 0xf6f025ff
19 ?? 0x909001c3
20 ?? 0xf27825ff
...

Question is why on earth the (2nd) undo tries to remove a segment?
Or why AddElement::undo() calls Score::removeElement(element), and only if the element->type() is not a tuplet?

Status (old) active fixed

I cannot reproduce this issue from now.

From what I see, this has been fixed on last June 10 (or end June 9)

Indeed, I receive a crash with this nightly: 22d16c3

It works again fine with this one: 6dd82d2 and the followings.

So, either the fix is due to the mentioned nighlty/commit above, or due to the previous one (same day), or the last commit of June 9.

So, I mark this issue as fixed.

Status (old) closed active

I re-open this issue. I confirm it was fixed with d68ac1e, but I observe it is broken again with 55092d7, with exactly the same symptoms (see comment #2)

Recall of steps:

1) Guitar Tablature template
2) Format -> Add/Remove line breaks -> Keep the default 4 measures -> Ok
3) Right-click on a line break -> Select -> All similar elements -> Cut
4) Undo twice
5) Redo: you get this unexpected result in the measures 13 and 25: a double Tab clef
tab 2.jpg
6) Redo second time

Result: crash

Well, I notice it is broken since 2 days!

- It works until this Nightly: de8ea53

- And it fails with the next one: 962076f

But I am unable to found why and where
(as I was unable to say why and where it was fixed in last June!) :(

Status (old) active fixed

I can't reproduce the crash.
Fixed a second time (after a first time in beginning July). Solved by f7d9650
But introduces another issue of displaying of the template.