{"action":"created","issue":{"url":"https://api.github.com/repos/LMMS/lmms/issues/2050","labels_url":"https://api.github.com/repos/LMMS/lmms/issues/2050/labels{/name}","comments_url":"https://api.github.com/repos/LMMS/lmms/issues/2050/comments","events_url":"https://api.github.com/repos/LMMS/lmms/issues/2050/events","html_url":"https://github.com/LMMS/lmms/issues/2050","id":76350182,"number":2050,"title":"SIGSEGV when closing empty PianoRoll","user":{"login":"psilhavy","id":9841387,"avatar_url":"https://avatars.githubusercontent.com/u/9841387?v=3","gravatar_id":"","url":"https://api.github.com/users/psilhavy","html_url":"https://github.com/psilhavy","followers_url":"https://api.github.com/users/psilhavy/followers","following_url":"https://api.github.com/users/psilhavy/following{/other_user}","gists_url":"https://api.github.com/users/psilhavy/gists{/gist_id}","starred_url":"https://api.github.com/users/psilhavy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psilhavy/subscriptions","organizations_url":"https://api.github.com/users/psilhavy/orgs","repos_url":"https://api.github.com/users/psilhavy/repos","events_url":"https://api.github.com/users/psilhavy/events{/privacy}","received_events_url":"https://api.github.com/users/psilhavy/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/LMMS/lmms/labels/bug","name":"bug","color":"e11d21"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/LMMS/lmms/milestones/3","html_url":"https://github.com/LMMS/lmms/milestones/1.2.0","labels_url":"https://api.github.com/repos/LMMS/lmms/milestones/3/labels","id":614542,"number":3,"title":"1.2.0","description":"To be released during 1.6.2014 - 30.9.2014\r\n\r\n- sample-exact models\r\n- sampletracks playable from middle\r\n- tempo track?\r\n- Calf update?\r\n- LV2 support?","creator":{"login":"diizy","id":6368868,"avatar_url":"https://avatars.githubusercontent.com/u/6368868?v=3","gravatar_id":"","url":"https://api.github.com/users/diizy","html_url":"https://github.com/diizy","followers_url":"https://api.github.com/users/diizy/followers","following_url":"https://api.github.com/users/diizy/following{/other_user}","gists_url":"https://api.github.com/users/diizy/gists{/gist_id}","starred_url":"https://api.github.com/users/diizy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diizy/subscriptions","organizations_url":"https://api.github.com/users/diizy/orgs","repos_url":"https://api.github.com/users/diizy/repos","events_url":"https://api.github.com/users/diizy/events{/privacy}","received_events_url":"https://api.github.com/users/diizy/received_events","type":"User","site_admin":false},"open_issues":27,"closed_issues":120,"state":"open","created_at":"2014-03-30T18:59:50Z","updated_at":"2015-06-20T23:14:55Z","due_on":null,"closed_at":null},"comments":11,"created_at":"2015-05-14T12:52:13Z","updated_at":"2015-06-20T23:14:55Z","closed_at":"2015-06-20T23:14:55Z","body":"Platform  :  Linux chaos 4.0.2  SMP x86_64 , qt-4.8.5\r\nLMMS Version 1.1.3\r\nLMMS from git stable-1.1\r\nHow to cause SIGSEGV :\r\n- open empty PianoRoll\r\n- hit ^W\r\n\r\n\r\n```\r\nProgram received signal SIGSEGV, Segmentation fault.\r\n0x00000000004888fc in PianoRoll::focusOutEvent (this=0x217e890)\r\n    at /usr/src/lmms/src/gui/PianoRoll.cpp:3637\r\n3637                    m_pattern->instrumentTrack()->pianoModel()->midiEventProcessor()->processInEvent( MidiEvent( MidiNoteOff, -1, i, 0 ) );\r\n(gdb) p MidiNoteOff\r\n$1 = MidiNoteOff\r\n(gdb) p m_pattern \r\n$2 = (Pattern *) 0x0\r\n(gdb) bt\r\n#0  0x00000000004888fc in PianoRoll::focusOutEvent (this=0x217e890)\r\n    at /usr/src/lmms/src/gui/PianoRoll.cpp:3637\r\n#1  0x00007fa026adce36 in QWidget::event(QEvent*) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#2  0x00007fa026a8dc5c in QApplicationPrivate::notify_helper(QObject*, QEvent*)\r\n    () from /usr/lib64/libQtGui.so.4\r\n#3  0x00007fa026a94220 in QApplication::notify(QObject*, QEvent*) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#4  0x00007fa0262ddc5d in QCoreApplication::notifyInternal(QObject*, QEvent*)\r\n    () from /usr/lib64/libQtCore.so.4\r\n#5  0x00007fa026a922c2 in QApplicationPrivate::setFocusWidget(QWidget*, Qt::FocusReason) () from /usr/lib64/libQtGui.so.4\r\n#6  0x00007fa026ad82eb in QWidget::setFocus(Qt::FocusReason) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#7  0x00007fa026ad85e7 in QWidget::focusNextPrevChild(bool) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#8  0x00007fa026ad9305 in QWidgetPrivate::hide_helper() ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#9  0x00007fa026adc518 in QWidget::setVisible(bool) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#10 0x0000000000488776 in hide (this=<optimized out>)\r\n    at /usr/lib64/qt/include/QtGui/qwidget.h:501\r\n#11 PianoRoll::closeEvent (this=0x217e890, _ce=0x7ffc61d48bc0)\r\n---Type <return> to continue, or q <return> to quit--- \r\n    at /usr/src/lmms/src/gui/PianoRoll.cpp:1113\r\n#12 0x00007fa026adcd8e in QWidget::event(QEvent*) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#13 0x00007fa026a8dc5c in QApplicationPrivate::notify_helper(QObject*, QEvent*)\r\n    () from /usr/lib64/libQtGui.so.4\r\n#14 0x00007fa026a94220 in QApplication::notify(QObject*, QEvent*) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#15 0x00007fa0262ddc5d in QCoreApplication::notifyInternal(QObject*, QEvent*)\r\n    () from /usr/lib64/libQtCore.so.4\r\n#16 0x00007fa026ad95e9 in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) () from /usr/lib64/libQtGui.so.4\r\n#17 0x00007fa026eadec4 in QMdiSubWindow::closeEvent(QCloseEvent*) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#18 0x00007fa026adcd8e in QWidget::event(QEvent*) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#19 0x00007fa026ead75b in QMdiSubWindow::event(QEvent*) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#20 0x00007fa026a8dc5c in QApplicationPrivate::notify_helper(QObject*, QEvent*)\r\n    () from /usr/lib64/libQtGui.so.4\r\n#21 0x00007fa026a94220 in QApplication::notify(QObject*, QEvent*) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#22 0x00007fa0262ddc5d in QCoreApplication::notifyInternal(QObject*, QEvent*)\r\n    () from /usr/lib64/libQtCore.so.4\r\n---Type <return> to continue, or q <return> to quit---\r\n#23 0x00007fa026ad95e9 in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) () from /usr/lib64/libQtGui.so.4\r\n#24 0x00007fa026ada2d6 in ?? () from /usr/lib64/libQtGui.so.4\r\n#25 0x00007fa0262f17c8 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4\r\n#26 0x00007fa026a87b02 in QAction::triggered(bool) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#27 0x00007fa026a894d3 in QAction::activate(QAction::ActionEvent) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#28 0x00007fa026a8962c in QAction::event(QEvent*) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#29 0x00007fa026a8dc5c in QApplicationPrivate::notify_helper(QObject*, QEvent*)\r\n    () from /usr/lib64/libQtGui.so.4\r\n#30 0x00007fa026a94220 in QApplication::notify(QObject*, QEvent*) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#31 0x00007fa0262ddc5d in QCoreApplication::notifyInternal(QObject*, QEvent*)\r\n    () from /usr/lib64/libQtCore.so.4\r\n#32 0x00007fa026abef16 in ?? () from /usr/lib64/libQtGui.so.4\r\n#33 0x00007fa026abf044 in ?? () from /usr/lib64/libQtGui.so.4\r\n#34 0x00007fa026a954f3 in QApplication::notify(QObject*, QEvent*) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#35 0x00007fa0262ddc5d in QCoreApplication::notifyInternal(QObject*, QEvent*)\r\n    () from /usr/lib64/libQtCore.so.4\r\n---Type <return> to continue, or q <return> to quit---\r\n#36 0x00007fa026b27be9 in ?? () from /usr/lib64/libQtGui.so.4\r\n#37 0x00007fa026b27f68 in ?? () from /usr/lib64/libQtGui.so.4\r\n#38 0x00007fa026b0441f in QApplication::x11ProcessEvent(_XEvent*) ()\r\n   from /usr/lib64/libQtGui.so.4\r\n#39 0x00007fa026b2a6f2 in ?? () from /usr/lib64/libQtGui.so.4\r\n#40 0x00007fa0237a9316 in g_main_context_dispatch ()\r\n   from /usr/lib64/libglib-2.0.so.0\r\n#41 0x00007fa0237a9668 in ?? () from /usr/lib64/libglib-2.0.so.0\r\n#42 0x00007fa0237a970c in g_main_context_iteration ()\r\n   from /usr/lib64/libglib-2.0.so.0\r\n#43 0x00007fa02630a7b6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4\r\n#44 0x00007fa026b2a786 in ?? () from /usr/lib64/libQtGui.so.4\r\n#45 0x00007fa0262dc8bf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4\r\n#46 0x00007fa0262dcbb5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4\r\n#47 0x00007fa0262e1ccb in QCoreApplication::exec() ()\r\n   from /usr/lib64/libQtCore.so.4\r\n#48 0x000000000047f550 in main (argc=1, argv=0x7ffc61d483e0)\r\n    at /usr/src/lmms/src/core/main.cpp:529\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/LMMS/lmms/issues/comments/113838667","html_url":"https://github.com/LMMS/lmms/issues/2050#issuecomment-113838667","issue_url":"https://api.github.com/repos/LMMS/lmms/issues/2050","id":113838667,"user":{"login":"Wallacoloo","id":1210751,"avatar_url":"https://avatars.githubusercontent.com/u/1210751?v=3","gravatar_id":"","url":"https://api.github.com/users/Wallacoloo","html_url":"https://github.com/Wallacoloo","followers_url":"https://api.github.com/users/Wallacoloo/followers","following_url":"https://api.github.com/users/Wallacoloo/following{/other_user}","gists_url":"https://api.github.com/users/Wallacoloo/gists{/gist_id}","starred_url":"https://api.github.com/users/Wallacoloo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wallacoloo/subscriptions","organizations_url":"https://api.github.com/users/Wallacoloo/orgs","repos_url":"https://api.github.com/users/Wallacoloo/repos","events_url":"https://api.github.com/users/Wallacoloo/events{/privacy}","received_events_url":"https://api.github.com/users/Wallacoloo/received_events","type":"User","site_admin":false},"created_at":"2015-06-20T23:14:55Z","updated_at":"2015-06-20T23:14:55Z","body":"I'm closing this now that @ThomasJClark's fix has been merged."}}