Bug 372065 - Konsole crashes on average once a day
Summary: Konsole crashes on average once a day
Status: RESOLVED WORKSFORME
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: 16.08.2
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-11-04 10:51 UTC by Harald Hvaal
Modified: 2016-11-20 13:46 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 Harald Hvaal 2016-11-04 10:51:07 UTC
Application: konsole (16.08.2)

Qt Version: 5.7.0
Frameworks Version: 5.27.0
Operating System: Linux 4.4.0-45-generic x86_64
Distribution: KDE neon User Edition 5.8

-- Information about the crash:
Happens regardless of whether the window is focused or not.
Has been happening after konsole got a set of new features some months back (one concrete change I remember that might help determining the point in time is that I noticed the slide-from-the-left animation in the theme selection dialog in the preferences was gone)

Running KDE neon, all packages updated.
I have not been able to pinpoint any common denominator for the crashes, it seems completely random.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Konsole (konsole), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f2da16e28c0 (LWP 2323))]

Thread 3 (Thread 0x7f2d97fff700 (LWP 2350)):
#0  0x00007f2db0812b5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f2da7e0939c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f2da7e094ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f2dad41b30b in QEventDispatcherGlib::processEvents (this=0x7f2d900008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f2dad3c5d9a in QEventLoop::exec (this=this@entry=0x7f2d97ffecd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#5  0x00007f2dad1eb044 in QThread::exec (this=this@entry=0x7f2db0e8dd60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:507
#6  0x00007f2db0e197a5 in QDBusConnectionManager::run (this=0x7f2db0e8dd60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:196
#7  0x00007f2dad1efc28 in QThreadPrivate::start (arg=0x7f2db0e8dd60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:344
#8  0x00007f2da9a8170a in start_thread (arg=0x7f2d97fff700) at pthread_create.c:333
#9  0x00007f2db081e82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f2d9e4ba700 (LWP 2336)):
#0  0x00007f2db0812b5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f2da9ea3c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f2da9ea58d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f2da1043a39 in QXcbEventReader::run (this=0x1b06b90) at qxcbconnection.cpp:1337
#4  0x00007f2dad1efc28 in QThreadPrivate::start (arg=0x1b06b90) at thread/qthread_unix.cpp:344
#5  0x00007f2da9a8170a in start_thread (arg=0x7f2d9e4ba700) at pthread_create.c:333
#6  0x00007f2db081e82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f2da16e28c0 (LWP 2323)):
[KCrash Handler]
#6  0x00007f2dad3fb680 in QtPrivate::QSlotObjectBase::compare (a=0x7ffe630a6310, this=0x234f401) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:129
#7  QMetaObjectPrivate::disconnectHelper (c=0x3bbe6e0, receiver=0x1fb2af0, method_index=<optimized out>, slot=<optimized out>, senderMutex=0x7f2dad618450 <_q_ObjectMutexPool+48>, disconnectType=QMetaObjectPrivate::DisconnectAll) at kernel/qobject.cpp:3340
#8  0x00007f2dad3f4da7 in QMetaObjectPrivate::disconnect (sender=0x1fb2560, signal_index=7, smeta=0x7f2dae41e780 <QAbstractSlider::staticMetaObject>, receiver=0x1fb2af0, method_index=-1, slot=0x7ffe630a6310, disconnectType=QMetaObjectPrivate::DisconnectAll) at kernel/qobject.cpp:3414
#9  0x00007f2dad3f5477 in QObject::disconnectImpl (sender=0x1fb2560, signal=<optimized out>, receiver=0x1fb2af0, slot=0x7ffe630a6310, senderMetaObject=0x7f2dae41e780 <QAbstractSlider::staticMetaObject>) at kernel/qobject.cpp:4869
#10 0x00007f2db04a36b7 in Konsole::TerminalDisplay::setScroll(int, int) () from /usr/lib/x86_64-linux-gnu/libkonsoleprivate.so.16
#11 0x00007f2db04a9050 in Konsole::TerminalDisplay::updateImage() () from /usr/lib/x86_64-linux-gnu/libkonsoleprivate.so.16
#12 0x00007f2dad3f2f36 in QtPrivate::QSlotObjectBase::call (a=0x7ffe630a6560, r=0x1fb2af0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:130
#13 QMetaObject::activate (sender=0x2a47b20, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3723
#14 0x00007f2dad3f2f36 in QtPrivate::QSlotObjectBase::call (a=0x7ffe630a6670, r=0x2a47b20, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:130
#15 QMetaObject::activate (sender=0x2c71c30, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3723
#16 0x00007f2db044989e in Konsole::Emulation::showBulk() () from /usr/lib/x86_64-linux-gnu/libkonsoleprivate.so.16
#17 0x00007f2dad3f2f36 in QtPrivate::QSlotObjectBase::call (a=0x7ffe630a6790, r=0x2c71c30, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:130
#18 QMetaObject::activate (sender=sender@entry=0x2c71c80, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3723
#19 0x00007f2dad3f3577 in QMetaObject::activate (sender=sender@entry=0x2c71c80, m=m@entry=0x7f2dad612720 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3602
#20 0x00007f2dad46b790 in QTimer::timeout (this=this@entry=0x2c71c80) at .moc/moc_qtimer.cpp:198
#21 0x00007f2dad3ff4e8 in QTimer::timerEvent (this=0x2c71c80, e=<optimized out>) at kernel/qtimer.cpp:254
#22 0x00007f2dad3f3a93 in QObject::event (this=0x2c71c80, e=<optimized out>) at kernel/qobject.cpp:1285
#23 0x00007f2dadf4689c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x2c71c80, e=0x7ffe630a6ab0) at kernel/qapplication.cpp:3799
#24 0x00007f2dadf4e296 in QApplication::notify (this=0x1ae92e0, receiver=0x2c71c80, e=0x7ffe630a6ab0) at kernel/qapplication.cpp:3556
#25 0x00007f2dad3c7da8 in QCoreApplication::notifyInternal2 (receiver=0x2c71c80, event=event@entry=0x7ffe630a6ab0) at kernel/qcoreapplication.cpp:988
#26 0x00007f2dad41a23e in QCoreApplication::sendEvent (event=0x7ffe630a6ab0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#27 QTimerInfoList::activateTimers (this=0x1b3cad0) at kernel/qtimerinfo_unix.cpp:644
#28 0x00007f2dad41a7a9 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182
#29 idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:229
#30 0x00007f2da7e091a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f2da7e09400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f2da7e094ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f2dad41b2ef in QEventDispatcherGlib::processEvents (this=0x1b44120, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#34 0x00007f2dad3c5d9a in QEventLoop::exec (this=this@entry=0x7ffe630a6d00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#35 0x00007f2dad3ce3ac in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1261
#36 0x00007f2dad9a3dbc in QGuiApplication::exec () at kernel/qguiapplication.cpp:1639
#37 0x00007f2dadf467f5 in QApplication::exec () at kernel/qapplication.cpp:2975
#38 0x00007f2db0b08bf5 in kdemain (argc=1, argv=<optimized out>) at /workspace/build/src/main.cpp:176
#39 0x00007f2db0738830 in __libc_start_main (main=0x4006b0 <main(int, char**)>, argc=3, argv=0x7ffe630a6fc8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe630a6fb8) at ../csu/libc-start.c:291
#40 0x00000000004006e9 in _start ()

Reported using DrKonqi
Comment 1 Martin Sandsmark 2016-11-06 00:28:52 UTC
Long shot, but a couple of commits recently fixed some signal connection stuff in TerminalDisplay (ec172b8f6b39a056326751f26ce81af664f0837f), could you try with the latest git master and see if it still happens?
Comment 2 Harald Hvaal 2016-11-06 09:12:46 UTC
(In reply to Martin Sandsmark from comment #1)
> Long shot, but a couple of commits recently fixed some signal connection
> stuff in TerminalDisplay (ec172b8f6b39a056326751f26ce81af664f0837f), could
> you try with the latest git master and see if it still happens?

As mentioned in the report, I'm on KDE neon and updating regularly. Will that fix be in the next kde patch release?
Comment 3 Harald Hvaal 2016-11-07 07:45:58 UTC
FYI, now running konsole compiled from master. Will report back if I have the crash again.
I just hope drkonqi/apport will pick it up and get me a bt if it crashes; I'd prefer not having to run konsole in gdb for days :)
Comment 4 Martin Sandsmark 2016-11-20 13:24:55 UTC
If you're running under systemd journald should catch the coredump otherwise (run `coredumpctl` to see a list of coredumps it has captured, and to run gdb etc. on them).
Comment 5 Harald Hvaal 2016-11-20 13:46:38 UTC
Thanks, I'll do that next time I see a crash. As for this bug, I haven't seen it since running from master for almost two weeks, so I'll assume it's fixed in the next release. Will reopen if I see it again.