Bug 372593

Summary: Konsole crash while using SSH
Product: [Applications] konsole Reporter: Christian Martinez <cmartinez2985>
Component: generalAssignee: Konsole Developer <konsole-devel>
Status: RESOLVED FIXED    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version: 16.08.2   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Christian Martinez 2016-11-17 15:34:22 UTC
Application: konsole (16.08.2)

Qt Version: 5.6.1
Frameworks Version: 5.27.0
Operating System: Linux 4.8.6-201.fc24.x86_64 x86_64
Distribution: "Fedora release 24 (Twenty Four)"

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

I was trying to install a package in an SSH session to another server and it just crashed out of nowhere. I had other tabs open as well that had SSH session that possibly were disconnected because I suspend this VM quite a bit.

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

Thread 2 (Thread 0x7fdf00af0700 (LWP 1706)):
#0  0x00007fdf19fbf56d in poll () from /lib64/libc.so.6
#1  0x00007fdf161f3a06 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fdf161f3b1c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fdf1adc524b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#4  0x00007fdf1ad745ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007fdf1abd3343 in QThread::exec() () from /lib64/libQt5Core.so.5
#6  0x00007fdf1ff0d559 in QDBusConnectionManager::run() () from /lib64/libQt5DBus.so.5
#7  0x00007fdf1abd799a in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#8  0x00007fdf189905ca in start_thread () from /lib64/libpthread.so.0
#9  0x00007fdf19fcb0ed in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fdf1fe5f940 (LWP 1703)):
[KCrash Handler]
#6  0x00007fdf19efc765 in raise () from /lib64/libc.so.6
#7  0x00007fdf19efe36a in abort () from /lib64/libc.so.6
#8  0x00007fdf19f3d710 in __libc_message () from /lib64/libc.so.6
#9  0x00007fdf19f447d8 in malloc_consolidate () from /lib64/libc.so.6
#10 0x00007fdf19f472d5 in _int_malloc () from /lib64/libc.so.6
#11 0x00007fdf19f490b0 in malloc () from /lib64/libc.so.6
#12 0x00007fdf1abd83d5 in QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) () from /lib64/libQt5Core.so.5
#13 0x00007fdf1ac55ba3 in QString::QString(int, Qt::Initialization) () from /lib64/libQt5Core.so.5
#14 0x00007fdf1adcc695 in QUtf8::convertToUnicode(char const*, int, QTextCodec::ConverterState*) () from /lib64/libQt5Core.so.5
#15 0x00007fdf1adccde5 in QUtf8Codec::convertToUnicode(char const*, int, QTextCodec::ConverterState*) const () from /lib64/libQt5Core.so.5
#16 0x00007fdf1accee8d in QTextStreamPrivate::fillReadBuffer(long long) () from /lib64/libQt5Core.so.5
#17 0x00007fdf1accf97e in QTextStreamPrivate::scan(QChar const**, int*, int, QTextStreamPrivate::TokenDelimiter) () from /lib64/libQt5Core.so.5
#18 0x00007fdf1acd0c55 in QTextStream::readLineInto(QString*, long long) () from /lib64/libQt5Core.so.5
#19 0x00007fdf1acd0ece in QTextStream::readLine(long long) () from /lib64/libQt5Core.so.5
#20 0x00007fdf1f93e326 in LinuxProcessInfo::readProcInfo(int) () from /lib64/libkonsoleprivate.so.16
#21 0x00007fdf1f93883c in Konsole::UnixProcessInfo::readProcessInfo(int, bool) () from /lib64/libkonsoleprivate.so.16
#22 0x00007fdf1f95850e in Konsole::Session::updateForegroundProcessInfo() () from /lib64/libkonsoleprivate.so.16
#23 0x00007fdf1f9595c5 in Konsole::Session::getProcessInfo() () from /lib64/libkonsoleprivate.so.16
#24 0x00007fdf1f959787 in Konsole::Session::getDynamicTitle() () from /lib64/libkonsoleprivate.so.16
#25 0x00007fdf1f963753 in Konsole::SessionController::snapshot() () from /lib64/libkonsoleprivate.so.16
#26 0x00007fdf1ad9debc in QMetaObject::activate(QObject*, int, int, void**) () from /lib64/libQt5Core.so.5
#27 0x00007fdf1ada9f88 in QTimer::timerEvent(QTimerEvent*) () from /lib64/libQt5Core.so.5
#28 0x00007fdf1ad9eb8b in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5
#29 0x00007fdf1b89dc0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#30 0x00007fdf1b8a30ef in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#31 0x00007fdf1ad757aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#32 0x00007fdf1adc47ab in QTimerInfoList::activateTimers() () from /lib64/libQt5Core.so.5
#33 0x00007fdf1adc4d01 in timerSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#34 0x00007fdf161f36ba in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#35 0x00007fdf161f3a70 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#36 0x00007fdf161f3b1c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#37 0x00007fdf1adc524b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#38 0x00007fdf1ad745ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#39 0x00007fdf1ad7c17c in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#40 0x00007fdf1fc17a23 in kdemain () from /lib64/libkdeinit5_konsole.so
#41 0x00007fdf19ee8731 in __libc_start_main () from /lib64/libc.so.6
#42 0x000055d76ffbda99 in _start ()

Reported using DrKonqi
Comment 1 Martin Sandsmark 2016-11-20 13:42:48 UTC
Git commit 40b1f0e851c115e1a2df79e7ec4bc4fe726d9e43 by Martin T. H. Sandsmark.
Committed on 20/11/2016 at 13:40.
Pushed by sandsmark into branch 'master'.

Only use foreground process info if valid

getProcessInfo() returned _foregroundProcessInfo without checking the
return value of updateForegroundProcessInfo() indicating whether
_foregroundProcessInfo was non-existent or invalid.

I think this might be the solution to a bunch of recent crash bugs,
but not closing them as I can't test.

Also skipping RB because it is a simple patch and RB is down from here.
Related: bug 372401, bug 372620, bug 372619

M  +1    -2    src/Session.cpp

http://commits.kde.org/konsole/40b1f0e851c115e1a2df79e7ec4bc4fe726d9e43
Comment 2 Kurt Hindenburg 2016-11-24 15:06:35 UTC
Git commit d28afb6664459cf28d73d7617b74c49711ce7a86 by Kurt Hindenburg, on behalf of Martin T. H. Sandsmark.
Committed on 24/11/2016 at 14:42.
Pushed by hindenburg into branch 'Applications/16.12'.

Only use foreground process info if valid

getProcessInfo() returned _foregroundProcessInfo without checking the
return value of updateForegroundProcessInfo() indicating whether
_foregroundProcessInfo was non-existent or invalid.

I think this might be the solution to a bunch of recent crash bugs,
but not closing them as I can't test.

Also skipping RB because it is a simple patch and RB is down from here.
Related: bug 372401, bug 372620, bug 372619
(cherry picked from commit 40b1f0e851c115e1a2df79e7ec4bc4fe726d9e43)

M  +1    -2    src/Session.cpp

https://commits.kde.org/konsole/d28afb6664459cf28d73d7617b74c49711ce7a86
Comment 3 Kurt Hindenburg 2019-07-12 03:24:16 UTC
Reopen if you can duplicate the issue in 19.08 - a lot has changed since 16.08