Bug 364285 - Konsole crashes when saving output from closing tab
Summary: Konsole crashes when saving output from closing tab
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: 16.04.1
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-06-13 23:39 UTC by A. Wilcox (awilfox)
Modified: 2018-11-20 05:58 UTC (History)
0 users

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 A. Wilcox (awilfox) 2016-06-13 23:39:06 UTC
Application: konsole (16.04.1)
 (Compiled from sources)
Qt Version: 5.6.0
Frameworks Version: 5.22.0
Operating System: Linux 4.7.0-rc1-ciall x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:

I fat-fingered Ctrl+Shift+S as Ctrl+Shift+S and D.  The tab closed but the save output dialogue still opened.  When I chose Save in the dialogue after typing a name, this crash occurred.

The crash can be reproduced every time.

-- Backtrace:
Application: Konsole (konsole), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f73b9460800 (LWP 3797))]

Thread 4 (Thread 0x7f73a767a700 (LWP 3798)):
#0  0x00007f73b59e75e8 in std::__atomic_base<QMutexData*>::compare_exchange_strong (__m1=std::memory_order_release, __m2=std::memory_order_relaxed, this=<optimized out>, __p1=<optimized out>, __p2=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/bits/atomic_base.h:848
#1  std::atomic<QMutexData*>::compare_exchange_strong (__m=std::memory_order_release, this=<optimized out>, __p1=<optimized out>, __p2=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/atomic:448
#2  QAtomicOps<QMutexData*>::testAndSetRelease<QMutexData*> (_q_value=..., expectedValue=<optimized out>, newValue=<optimized out>, currentValue=<optimized out>) at ../../include/QtCore/../../src/corelib/arch/qatomic_cxx11.h:167
#3  QBasicAtomicPointer<QMutexData>::testAndSetRelease (this=<optimized out>, expectedValue=<optimized out>, newValue=<optimized out>, currentValue=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:278
#4  QBasicMutex::fastTryUnlock (this=<optimized out>, current=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:85
#5  QMutex::unlock (this=0x8a2288) at thread/qmutex.cpp:271
#6  0x00007f73b5be44c1 in QMutexLocker::unlock (this=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:138
#7  QMutexLocker::~QMutexLocker (this=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:132
#8  QThreadData::canWaitLocked (this=0x8a2260) at ../../include/QtCore/5.6.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:249
#9  postEventSourcePrepare (s=0x7f73a0003200, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:253
#10 0x00007f73b010860b in g_main_context_prepare (context=<optimized out>, priority=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0-r1/work/glib-2.48.0/glib/gmain.c:3442
#11 0x00007f73b0108f18 in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0-r1/work/glib-2.48.0/glib/gmain.c:3820
#12 0x00007f73b01090ae in g_main_context_iteration (context=<optimized out>, may_block=1) at /var/tmp/portage/dev-libs/glib-2.48.0-r1/work/glib-2.48.0/glib/gmain.c:3901
#13 0x00007f73b5be40dc in QEventDispatcherGlib::processEvents (this=0x7f73a00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#14 0x00007f73b5b92f85 in QEventLoop::processEvents (flags=..., this=<optimized out>) at kernel/qeventloop.cpp:128
#15 QEventLoop::exec (this=0x7f73a7679dc0, flags=...) at kernel/qeventloop.cpp:204
#16 0x00007f73b59e9669 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#17 0x00007f73b9533200 in QDBusConnectionManager::run (this=0x7f73b95944e0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:181
#18 0x00007f73b59ecdb4 in QThreadPrivate::start (arg=0x7f73b95944e0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:340
#19 0x00007f73b1c15434 in start_thread (arg=0x7f73a767a700) at pthread_create.c:333
#20 0x00007f73b8f328fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f73a53b6700 (LWP 3799)):
#0  0x00007f73b8f297fd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f73b2037ac2 in poll (__timeout=-1, __nfds=1, __fds=0x7f73a53b5cd0) at /usr/include/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x8c2dc0, cond=cond@entry=0x8c2e00, vector=vector@entry=0x0, count=count@entry=0x0) at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_conn.c:459
#3  0x00007f73b203972f in xcb_wait_for_event (c=0x8c2dc0) at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_in.c:693
#4  0x00007f73a6ac6d75 in QXcbEventReader::run (this=0x8b4fd0) at qxcbconnection.cpp:1313
#5  0x00007f73b59ecdb4 in QThreadPrivate::start (arg=0x8b4fd0) at thread/qthread_unix.cpp:340
#6  0x00007f73b1c15434 in start_thread (arg=0x7f73a53b6700) at pthread_create.c:333
#7  0x00007f73b8f328fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f7393eeb700 (LWP 3800)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f739dd10bb3 in cnd_wait (mtx=0xa84820, cond=<optimized out>) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/include/c11/threads_posix.h:159
#2  pipe_semaphore_wait (sema=0xa84820) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/src/gallium/auxiliary/os/os_thread.h:259
#3  radeon_drm_cs_emit_ioctl (param=param@entry=0xa844d0) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c:653
#4  0x00007f739dd10307 in impl_thrd_routine (p=<optimized out>) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/include/c11/threads_posix.h:87
#5  0x00007f73b1c15434 in start_thread (arg=0x7f7393eeb700) at pthread_create.c:333
#6  0x00007f73b8f328fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f73b9460800 (LWP 3797)):
[KCrash Handler]
#6  std::__atomic_base<int>::load (__m=std::memory_order_relaxed, this=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/bits/atomic_base.h:500
#7  QAtomicOps<int>::load<int> (_q_value=...) at /usr/include/qt5/QtCore/qatomic_cxx11.h:96
#8  QBasicAtomicInteger<int>::load (this=<optimized out>) at /usr/include/qt5/QtCore/qbasicatomic.h:116
#9  QtPrivate::RefCount::isShared (this=<optimized out>) at /usr/include/qt5/QtCore/qrefcount.h:95
#10 QHash<KJob*, Konsole::SaveHistoryTask::SaveJob>::detach (this=0x2737db0) at /usr/include/qt5/QtCore/qhash.h:267
#11 QHash<KJob*, Konsole::SaveHistoryTask::SaveJob>::insert (this=0x2737db0, akey=@0x7ffe57993cf8: 0x19125e0, avalue=...) at /usr/include/qt5/QtCore/qhash.h:739
#12 0x00007f73b8bd7184 in Konsole::SaveHistoryTask::execute (this=0x2737d90) at /var/tmp/portage/kde-apps/konsole-16.04.1/work/konsole-16.04.1/src/SessionController.cpp:1735
#13 0x00007f73b5bc4e00 in QMetaObject::activate (sender=0x1282a80, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3730
#14 0x00007f73b642329a in QAction::triggered (this=<optimized out>, _t1=255) at .moc/moc_qaction.cpp:369
#15 QAction::activate (this=<optimized out>, event=<optimized out>) at kernel/qaction.cpp:1157
#16 0x00007f73b6423183 in QAction::event (this=0x2737db0, e=<optimized out>) at kernel/qaction.cpp:1091
#17 0x00007f73b642c372 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x1282a80, e=0x7ffe57994280) at kernel/qapplication.cpp:3714
#18 0x00007f73b642e150 in QApplication::notify (this=<optimized out>, receiver=0x1282a80, e=0x7ffe57994280) at kernel/qapplication.cpp:3157
#19 0x00007f73b5b966db in QCoreApplication::notifyInternal2 (receiver=0x1282a80, event=0x7ffe57994280) at kernel/qcoreapplication.cpp:1015
#20 0x00007f73b5efab24 in QCoreApplication::sendEvent (receiver=0x2737db0, event=0x7ffe57994280) at /usr/include/qt5/QtCore/qcoreapplication.h:227
#21 QShortcutMap::dispatchEvent (this=<optimized out>, e=<optimized out>) at kernel/qshortcutmap.cpp:668
#22 0x00007f73b5efa890 in QShortcutMap::tryShortcut (this=0x8bab48, e=0x7ffe57994338) at kernel/qshortcutmap.cpp:344
#23 0x00007f73b5eb9634 in QWindowSystemInterface::handleShortcutEvent (window=<optimized out>, timestamp=<optimized out>, keyCode=83, modifiers=..., nativeScanCode=<optimized out>, nativeVirtualKey=<optimized out>, nativeModifiers=<optimized out>, text=..., autorepeat=false, count=<optimized out>) at kernel/qwindowsysteminterface.cpp:228
#24 0x00007f73b5ed1369 in QGuiApplicationPrivate::processKeyEvent (e=0x25673d0) at kernel/qguiapplication.cpp:1966
#25 0x00007f73b5ebb69c in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:645
#26 0x00007f73a6af281d in userEventSourceDispatch (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:70
#27 0x00007f73b0108cfd in g_main_dispatch (context=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0-r1/work/glib-2.48.0/glib/gmain.c:3154
#28 g_main_context_dispatch (context=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0-r1/work/glib-2.48.0/glib/gmain.c:3769
#29 0x00007f73b0109029 in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0-r1/work/glib-2.48.0/glib/gmain.c:3840
#30 0x00007f73b01090ae in g_main_context_iteration (context=<optimized out>, may_block=1) at /var/tmp/portage/dev-libs/glib-2.48.0-r1/work/glib-2.48.0/glib/gmain.c:3901
#31 0x00007f73b5be40bc in QEventDispatcherGlib::processEvents (this=0x90c1b0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#32 0x00007f73b5b92f85 in QEventLoop::processEvents (flags=..., this=<optimized out>) at kernel/qeventloop.cpp:128
#33 QEventLoop::exec (this=0x7ffe57994660, flags=...) at kernel/qeventloop.cpp:204
#34 0x00007f73b5b96d03 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1285
#35 0x00007f73b9204b5c in kdemain (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/kde-apps/konsole-16.04.1/work/konsole-16.04.1/src/main.cpp:125
#36 0x00007f73b8e6b790 in __libc_start_main (main=0x400850 <main(int, char**)>, argc=1, argv=0x7ffe57994938, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe57994928) at ../csu/libc-start.c:289
#37 0x0000000000400769 in _start ()

Reported using DrKonqi
Comment 1 Andrew Crouthamel 2018-11-01 13:50:00 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 2 Bug Janitor Service 2018-11-16 11:42:29 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 A. Wilcox (awilfox) 2018-11-20 05:58:11 UTC
Can't duplicate this on 18.08.3 with Qt 5.9.6 and KF 5.52.0.  Probably fixed.  (^+S immediately displays a modal that won't let me ^D under it; ^D won't let ^+S pop a save dialogue.)