Menu

#1409 Crash on Edit -> Guess Beats Undo/Redo/Undo/Redo

Next Release
closed
nobody
None
1
2021-05-31
2013-10-10
No
  1. Draw segment, open in notation
  2. Insert 2 notes
  3. Select both notes
  4. Edit -> Guess Beats
  5. Undo

It may crash here. If not, it will crash on Redo. If it doesn't crash on Redo, if you continue to undo and redo I've never gone through more than five of them without a crash.

(I have no idea what this function does, and it's not obvious from trying to fool with it, so I am a good use case for the stupid user who does something you didn't expect. A case this Guess Beats handles poorly!)

Core was generated by `./rosegarden'.
Program terminated with signal 11, Segmentation fault.
#0  0x00000000004492b1 in Rosegarden::Event::getAbsoluteTime() const () at src/base/Event.h:193
193         timeT getAbsoluteTime() const    { return m_data->m_absoluteTime; }
(gdb) bt
#0  0x00000000004492b1 in Rosegarden::Event::getAbsoluteTime() const () at src/base/Event.h:193
#1  0x0000000000644d04 in Rosegarden::SelectAddEvenNotesCommand::modifySegment() () at src/commands/edit/SelectAddEvenNotesCommand.cpp:366
#2  0x000000000050d8b3 in Rosegarden::BasicCommand::execute() () at src/document/BasicCommand.cpp:124
#3  0x00000000005114cb in Rosegarden::CommandHistory::redo() () at src/document/CommandHistory.cpp:363
#4  0x000000000051271d in Rosegarden::CommandHistory::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at src/document/CommandHistory.moc:80
#5  0x00007fad350fa281 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007fad35b91132 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#7  0x00007fad35b9131f in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#8  0x00007fad35fe3119 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#9  0x00007fad35fe9272 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#10 0x00007fad35be8144 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#11 0x00007fad35fea80b in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#12 0x00007fad35b97894 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#13 0x00007fad35b9d0bf in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#14 0x00007fad350e5e9c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#15 0x00007fad35b98862 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#16 0x00007fad35c182c1 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007fad35c16bae in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18 0x00007fad35c400d2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#19 0x00007fad31eb6d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007fad31eb70a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007fad31eb7164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007fad351153bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#23 0x00007fad35c3fd5e in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#24 0x00007fad350e4c82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#25 0x00007fad350e4ed7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#26 0x00007fad350e9f67 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#27 0x00000000006eadb5 in main () at src/gui/application/main.cpp:843

Discussion

  • D. Michael McIntyre

    This crash moves to SelectAddEvenNotesCommand too. PasteEventsCommand is apparently not the culprit.

     
  • Ted Felix

    Ted Felix - 2021-05-31
    • assigned_to: Tom Breton --> nobody
     
  • Ted Felix

    Ted Felix - 2021-05-31
    • status: open --> closed
     
  • Ted Felix

    Ted Felix - 2021-05-31

    It's very likely that @lman's recent fixes to undo/redo have fixed this. I cannot reproduce. Although I can get "Guess Beats" to give me a bar with five beats without a time signature change. Ah well. Closing...

     

Log in to post a comment.