Crash when modifying note value in tabs

• Sep 16, 2012 - 22:00
Type
Functional
Severity
S2 - Critical
Status
closed
Project

GIT commit: b9984ff

When inserting a note in tab mode then change the note value and reinsert the same note, I get a segfault. It's easily reproduced this way:

  1. create a tab staff (linked is not necessary this time)
  2. hit n and then alt+3 to insert a new quarter note
  3. change to half note by pressing 6 then alt+3 to insert it

This will segfault, at least for me. Here is a backtrace:

changeCRlen: 4/4 -> 1/4
set rest 3/4 -> measure 4/4
create duration list from 3/4
duration 1/2
duration 1/4
changeCRlen: 1/4 -> 1/4
expand voice: found Rest 1/4
makeGap 1/2 at 0 track 0
remove Rest 1/4 at tick 0 track 0
makeGap: remove 1/4 at 0
akkumulated 1/4 rest 1/4 (-1/4)
remove Rest 1/4 at tick 480 track 0
makeGap: remove 1/4 at 480
akkumulated 2/4 rest 0/4 (-1/4)
expand voice: found Chord 1/2
ASSERT: "!isEmpty()" in file /usr/include/qt4/QtCore/qlist.h, line 285

Program received signal SIGABRT, Aborted.
0x00007ffff1aff445 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0 0x00007ffff1aff445 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff1b02bab in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff382950b in qt_message_output(QtMsgType, char const*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#3 0x00007ffff38298bf in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4 0x00007ffff3829a64 in qFatal(char const*, ...) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5 0x00000000006ab040 in QList::last (this=0x5a3d2b8) at /usr/include/qt4/QtCore/qlist.h:285
#6 0x00000000006a98d2 in QList::back (this=0x5a3d2b8) at /usr/include/qt4/QtCore/qlist.h:301
#7 0x00000000006a76de in Chord::upNote (this=0x5a3d180) at /home/johan/Projects/MuseScore/libmscore/chord.h:151
#8 0x0000000000a3a63a in Score::putNote (this=0x5e51510, p=..., replace=false) at /home/johan/Projects/MuseScore/libmscore/edit.cpp:736
#9 0x00000000006a30a2 in ScoreView::cmdAddFret (this=0x5ebc5f0, fret=3) at /home/johan/Projects/MuseScore/mscore/scoreview.cpp:4815
#10 0x0000000000699896 in ScoreView::cmd (this=0x5ebc5f0, a=0x1a9c4d0) at /home/johan/Projects/MuseScore/mscore/scoreview.cpp:2773
#11 0x00000000007acb54 in MuseScore::cmd (this=0x1a2f9c0, a=0x1a9c4d0, cmd=...) at /home/johan/Projects/MuseScore/mscore/musescore.cpp:4418
#12 0x00000000007aabe2 in MuseScore::cmd (this=0x1a2f9c0, a=0x1a9c4d0) at /home/johan/Projects/MuseScore/mscore/musescore.cpp:4054
#13 0x0000000000671f5e in MuseScore::qt_static_metacall (_o=0x1a2f9c0, _c=QMetaObject::InvokeMetaMethod, _id=49, _a=0x7fffffffc1d0)
at /home/johan/Projects/MuseScore/build.debug/mscore/moc_musescore.cxx:583
#14 0x00007ffff3947281 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#15 0x00007ffff43e0c9f in QActionGroup::triggered(QAction*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#16 0x00007ffff43e0d27 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007ffff3947281 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18 0x00007ffff43de132 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#19 0x00007ffff43de31f in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#20 0x00007ffff43de48f in QAction::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#21 0x00007ffff43e4894 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#22 0x00007ffff43e9713 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#23 0x00007ffff3932e9c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#24 0x00007ffff44168b9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#25 0x00007ffff4417d8a in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#26 0x00007ffff43eaf92 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#27 0x00007ffff3932e9c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#28 0x00007ffff4488c49 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007ffff44890bb in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#30 0x00007ffff4463637 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#31 0x00007ffff448d0d2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#32 0x00007fffefaa0d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fffefaa10a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007fffefaa1164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff39623bf in QEventDispatcherGlib::processEvents(QFlags) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
---Type to continue, or q to quit---
#36 0x00007ffff448cd5e in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#37 0x00007ffff3931c82 in QEventLoop::processEvents(QFlags) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#38 0x00007ffff3931ed7 in QEventLoop::exec(QFlags) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#39 0x00007ffff3936f67 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#40 0x000000000079fc94 in main (argc=1, av=0x7fffffffe238) at /home/johan/Projects/MuseScore/mscore/musescore.cpp:2475
(gdb)


Comments