Bug 159657 - Konsole crash on shutdown
Summary: Konsole crash on shutdown
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-03-21 17:46 UTC by Oliver Putz
Modified: 2008-03-24 20:31 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Putz 2008-03-21 17:46:08 UTC
Version:           2.1 (using 4.00.66 (KDE 4.0.66 >= 20080313), Gentoo)
Compiler:          i686-pc-linux-gnu-gcc
OS:                Linux (i686) release 2.6.23-gentoo-r9

Sometimes konsole crashes for me when I log off or do a shutdown while konsole is still running. Last time I was lucky to be ably to get a backtrace for this kind of crash, so I'll post it here. (kdebase r786287)

Application: Konsole (konsole), signal SIGSEGV
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb623a6d0 (LWP 8927)]
[New Thread 0xb4dbeb90 (LWP 8928)]
[KCrash handler]
#6  0xb687320e in QWidgetPrivate::create_sys (this=0x810ec08, window=0, 
    initializeWindow=true, destroyOldWindow=true)
    at kernel/qwidget_x11.cpp:453
#7  0xb683db05 in QWidget::create (this=0x810eb10, window=0, 
    initializeWindow=true, destroyOldWindow=true) at kernel/qwidget.cpp:1196
#8  0xb683f27a in QWidgetPrivate::createRecursively (this=0x810ec08)
    at kernel/qwidget.cpp:1106
#9  0xb6845e9d in QWidget::setVisible (this=0x824cb08, visible=true)
    at kernel/qwidget.cpp:6233
#10 0xb682767a in QStackedLayout::setCurrentIndex (this=0x81425f0, index=1)
    at ../../include/QtGui/../../src/gui/kernel/qwidget.h:470
#11 0xb68277ed in QStackedLayout::setCurrentWidget (this=0x81425f0, 
    widget=0x824cb08) at kernel/qstackedlayout.cpp:363
#12 0xb6c32f0a in QStackedWidget::setCurrentWidget (this=0x812c638, 
    widget=0x824cb08) at widgets/qstackedwidget.cpp:245
#13 0xb7ef0f22 in Konsole::TabbedViewContainerV2::setActiveView (
    this=0x8174888, view=0x824cb08)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/apps/konsole/src/ViewContainer.cpp:622
#14 0xb7ef1112 in Konsole::ViewContainer::activatePreviousView (
    this=0x8174888)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/apps/konsole/src/ViewContainer.cpp:217
#15 0xb7ef84e8 in Konsole::ViewManager::previousView (this=0x811d860)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/apps/konsole/src/ViewManager.cpp:270
#16 0xb7ef8574 in Konsole::ViewManager::sessionFinished (this=0x811d860)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/apps/konsole/src/ViewManager.cpp:314
#17 0xb7ef8d49 in Konsole::ViewManager::qt_metacall (this=0x811d860, 
    _c=QMetaObject::InvokeMetaMethod, _id=19, _a=0xbf90a2e8)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase_build/apps/konsole/src/ViewManager.moc:129
#18 0xb71842c8 in QMetaObject::activate (sender=0x868f298, 
    from_signal_index=<value optimized out>, to_signal_index=5, 
    argv=<value optimized out>) at kernel/qobject.cpp:2995
#19 0xb7184a44 in QMetaObject::activate (sender=0x868f298, m=0xb7f16e44, 
    local_signal_index=1, argv=0x0) at kernel/qobject.cpp:3065
#20 0xb7ec9b76 in Konsole::Session::finished (this=0x868f298)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase_build/apps/konsole/src/Session.moc:198
#21 0xb7ecbd58 in Konsole::Session::done (this=0x868f298, exitStatus=0)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/apps/konsole/src/Session.cpp:618
#22 0xb7ecd169 in Konsole::Session::qt_metacall (this=0x868f298, 
    _c=QMetaObject::InvokeMetaMethod, _id=21, _a=0xbf90a4c8)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase_build/apps/konsole/src/Session.moc:140
#23 0xb71842c8 in QMetaObject::activate (sender=0x868f1d0, 
    from_signal_index=<value optimized out>, to_signal_index=10, 
    argv=<value optimized out>) at kernel/qobject.cpp:2995
#24 0xb7184a44 in QMetaObject::activate (sender=0x868f1d0, m=0xb725af38, 
    local_signal_index=2, argv=0xbf90a4c8) at kernel/qobject.cpp:3065
#25 0xb7102b1a in QProcess::finished (this=0x868f1d0, _t1=0, 
    _t2=QProcess::CrashExit) at .moc/debug-shared/moc_qprocess.cpp:134
#26 0xb71046c7 in QProcessPrivate::_q_processDied (this=0x868da08)
    at io/qprocess.cpp:687
#27 0xb714c92d in QProcessPrivate::waitForFinished (this=0x868da08, 
    msecs=30000) at io/qprocess_unix.cpp:1172
#28 0xb710310c in QProcess::waitForFinished (this=0x868f1d0, msecs=30000)
    at io/qprocess.cpp:1284
#29 0xb7ecbdae in Konsole::Session::kill (this=0x868f298, signal=1)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/apps/konsole/src/Session.cpp:557
#30 0xb7ecc6df in Konsole::Session::close (this=0x868f298)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/apps/konsole/src/Session.cpp:568
#31 0xb7edbf57 in ~SessionManager (this=0x81223f8)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/apps/konsole/src/SessionManager.cpp:214
#32 0xb7ed947b in destroy ()
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/apps/konsole/src/SessionManager.cpp:737
#33 0xb7e7e6fb in ~KCleanUpGlobalStatic (this=0xb7f193a0)
    at /usr/kde/svn/include/kglobal.h:65
#34 0xb7ed9400 in __tcf_1 ()
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/apps/konsole/src/SessionManager.cpp:737
#35 0xb6494dbc in *__GI_exit (status=0) at exit.c:75
#36 0xb647efe4 in __libc_start_main (main=0x80487b0 <main>, argc=1, 
    ubp_av=0xbf90a824, init=0x8048800 <__libc_csu_init>, 
    fini=0x80487f0 <__libc_csu_fini>, rtld_fini=0xb7f2e100 <_dl_fini>, 
    stack_end=0xbf90a81c) at libc-start.c:261
#37 0x08048721 in _start ()
#0  0xffffe410 in __kernel_vsyscall ()
Comment 1 Robert Knight 2008-03-24 20:31:17 UTC
SVN commit 789641 by knight:

Safer shutdown.  Ensure all sessions are closed and session state saved
during Application destructor.

Make ~SessionManager do trivial tasks only.

BUG: 159657


 M  +2 -0      Application.cpp  
 M  +1 -0      Part.cpp  
 M  +1 -1      Part.h  
 M  +11 -8     SessionManager.cpp  
 M  +12 -1     SessionManager.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=789641