Bug 366706 - Crash in Konsole::TerminalDisplay::updateCursor when closing session
Summary: Crash in Konsole::TerminalDisplay::updateCursor when closing session
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: master
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Martin Sandsmark
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-12 17:13 UTC by Martin Sandsmark
Modified: 2016-08-31 12:49 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Sandsmark 2016-08-12 17:13:28 UTC
#0  0x00007fa3fbf31c61 in Konsole::TerminalDisplay::updateCursor (this=this@entry=0xbf730c0)
    at /home/sandsmark/pkg/konsole-git/src/konsole/src/TerminalDisplay.cpp:1753
#1  0x00007fa3fbf31ce0 in Konsole::TerminalDisplay::focusOutEvent (this=0xbf730c0)
    at /home/sandsmark/pkg/konsole-git/src/konsole/src/TerminalDisplay.cpp:1699
#2  0x00007fa3f971230f in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#3  0x00007fa3fbf3bc4a in Konsole::TerminalDisplay::event (this=0xbf730c0, event=0x7ffff601dd60)
    at /home/sandsmark/pkg/konsole-git/src/konsole/src/TerminalDisplay.cpp:3231
#4  0x00007fa3f96cae3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#5  0x00007fa3f96d25b1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#6  0x00007fa3f89eac80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#7  0x00007fa3f96cffe1 in QApplicationPrivate::setFocusWidget(QWidget*, Qt::FocusReason) ()
   from /usr/lib/libQt5Widgets.so.5
#8  0x00007fa3f970c72c in QWidget::clearFocus() () from /usr/lib/libQt5Widgets.so.5
#9  0x00007fa3f970db28 in QWidget::~QWidget() () from /usr/lib/libQt5Widgets.so.5
#10 0x00007fa3f97fd3a9 in QLabel::~QLabel() () from /usr/lib/libQt5Widgets.so.5
#11 0x00007fa3fbf30116 in Konsole::TerminalDisplay::~TerminalDisplay (this=0xbf730c0, __in_chrg=<optimized out>)
    at /home/sandsmark/pkg/konsole-git/src/konsole/src/TerminalDisplay.cpp:452
#12 0x00007fa3fbf30289 in Konsole::TerminalDisplay::~TerminalDisplay (this=0xbf730c0, __in_chrg=<optimized out>)
    at /home/sandsmark/pkg/konsole-git/src/konsole/src/TerminalDisplay.cpp:454
#13 0x00007fa3f8a17380 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#14 0x00007fa3f971210b in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#15 0x00007fa3fbf3bc4a in Konsole::TerminalDisplay::event (this=0xbf730c0, event=0xcb25b40)
    at /home/sandsmark/pkg/konsole-git/src/konsole/src/TerminalDisplay.cpp:3231
#16 0x00007fa3f96cae3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#17 0x00007fa3f96d25b1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#18 0x00007fa3f89eac80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#19 0x00007fa3f89ed3fd in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
   from /usr/lib/libQt5Core.so.5
#20 0x00007fa3f8a3f173 in ?? () from /usr/lib/libQt5Core.so.5
#21 0x00007fa3f27dedd7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#22 0x00007fa3f27df040 in ?? () from /usr/lib/libglib-2.0.so.0
#23 0x00007fa3f27df0ec in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#24 0x00007fa3f8a3f57f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQt5Core.so.5
#25 0x00007fa3f89e90da in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#26 0x00007fa3f89f15cc in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#27 0x00007fa3fc56dcf2 in kdemain (argc=<optimized out>, argv=<optimized out>)
    at /home/sandsmark/pkg/konsole-git/src/konsole/src/main.cpp:172
#28 0x00007fa3fc1c82d1 in __libc_start_main () from /usr/lib/libc.so.6
#29 0x0000000000400729 in _start ()
Comment 1 Martin Sandsmark 2016-08-21 10:24:34 UTC
https://git.reviewboard.kde.org/r/128667/
Comment 2 Martin Sandsmark 2016-08-27 14:58:34 UTC
Git commit b2b852cfd7b10fc2ffb668ac87f8ca9236a134e3 by Martin T. H. Sandsmark.
Committed on 27/08/2016 at 14:57.
Pushed by sandsmark into branch 'master'.

Fix crash when closing session

Instead of manually deleting the output suspended label let the QObject
cleanup handle it.

Now it is first deleted manually by us, leading to a potential crash,
and afterwards the QObject cleanup runs, but luckily it doesn' try to
destroy it again.

REVIEW: 128667

M  +2    -6    src/TerminalDisplay.cpp

http://commits.kde.org/konsole/b2b852cfd7b10fc2ffb668ac87f8ca9236a134e3
Comment 3 Kurt Hindenburg 2016-08-31 12:49:01 UTC
Git commit 738fd485d7c7d4da8c40c9c10566570e23d30a65 by Kurt Hindenburg, on behalf of Martin T. H. Sandsmark.
Committed on 31/08/2016 at 12:36.
Pushed by hindenburg into branch 'Applications/16.08'.

Fix crash when closing session

Instead of manually deleting the output suspended label let the QObject
cleanup handle it.

Now it is first deleted manually by us, leading to a potential crash,
and afterwards the QObject cleanup runs, but luckily it doesn' try to
destroy it again.

REVIEW: 128667
(cherry picked from commit b2b852cfd7b10fc2ffb668ac87f8ca9236a134e3)

M  +2    -6    src/TerminalDisplay.cpp

http://commits.kde.org/konsole/738fd485d7c7d4da8c40c9c10566570e23d30a65