Bug 165451

Summary: Crash when editing profiles
Product: [Applications] konsole Reporter: auxsvr
Component: generalAssignee: Konsole Developer <konsole-devel>
Status: RESOLVED WORKSFORME    
Severity: crash CC: hofer
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Backtrace

Description auxsvr 2008-07-01 00:46:14 UTC
Version:            (using KDE 4.0.83)
Installed from:    SuSE RPMs
Compiler:          gcc version 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036] (SUSE Linux) 
OS:                Linux

I tried to edit a root shell profile, so I entered the command textbox from "manage profiles", edited the text, a drop-down list appeared and after several edits konsole crashed.
Comment 1 auxsvr 2008-07-01 00:51:56 UTC
Created attachment 25748 [details]
Backtrace
Comment 2 Bram Schoenmakers 2008-07-01 01:29:12 UTC
Pasting the backtrace:

Application: Konsole (konsole), signal SIGSEGV
 [?1034h[Thread debugging using libthread_db enabled]
[New Thread 0xb63bc6d0 (LWP 5346)]
[New Thread 0xb297db90 (LWP 445)]
[New Thread 0xb4c4cb90 (LWP 5347)]
[KCrash handler]
#6  0xb7424d6d in QMutex::lock () from /usr/lib/libQtCore.so.4
#7  0xb7429847 in QThreadPrivate::finish () from /usr/lib/libQtCore.so.4
#8  0xb74299c9 in QThreadPrivate::start () from /usr/lib/libQtCore.so.4
#9  0xb73cd175 in start_thread () from /lib/libpthread.so.0
#10 0xb6745dce in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb63bc6d0 (LWP 5346)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb73d0c15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb742a742 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#3  0xb74297b4 in QThread::wait () from /usr/lib/libQtCore.so.4
#4  0xb74e90c3 in QProcessManager::~QProcessManager ()
   from /usr/lib/libQtCore.so.4
#5  0xb74ea23a in QGlobalStaticDeleter<QProcessManager>::~QGlobalStaticDeleter
    () from /usr/lib/libQtCore.so.4
#6  0xb66a58f1 in exit () from /lib/libc.so.6
#7  0xb6a50bbb in qt_xio_errhandler () from /usr/lib/libQtGui.so.4
#8  0xb7aaca37 in KApplication::xioErrhandler () from /usr/lib/libkdeui.so.5
#9  0xb7aaca76 in kde_xio_errhandler () from /usr/lib/libkdeui.so.5
#10 0xb716b322 in _XIOError () from /usr/lib/libX11.so.6
#11 0xb7173385 in ?? () from /usr/lib/libX11.so.6
#12 0xb7173ba5 in _XEventsQueued () from /usr/lib/libX11.so.6
#13 0xb715bacf in XEventsQueued () from /usr/lib/libX11.so.6
#14 0xb6a8344d in QEventDispatcherX11::processEvents ()
   from /usr/lib/libQtGui.so.4
#15 0xb750233a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#16 0xb75024fa in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#17 0xb6e0033f in QDialog::exec () from /usr/lib/libQtGui.so.4
#18 0xb7ebb9be in Konsole::ManageProfilesDialog::editSelected ()
   from /usr/lib/libkdeinit4_konsole.so
#19 0xb7ebd6bb in Konsole::ManageProfilesDialog::qt_metacall ()
   from /usr/lib/libkdeinit4_konsole.so
#20 0xb751545a in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#21 0xb7515750 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#22 0xb6f5d2a1 in QAbstractButton::clicked () from /usr/lib/libQtGui.so.4
#23 0xb6cee889 in QAbstractButtonPrivate::emitClicked ()
   from /usr/lib/libQtGui.so.4
#24 0xb6cef644 in QAbstractButtonPrivate::click () from /usr/lib/libQtGui.so.4
#25 0xb6cef8a6 in QAbstractButton::mouseReleaseEvent ()
   from /usr/lib/libQtGui.so.4
#26 0xb6a4b176 in QWidget::event () from /usr/lib/libQtGui.so.4
#27 0xb6cee72e in QAbstractButton::event () from /usr/lib/libQtGui.so.4
#28 0xb6d84a60 in QPushButton::event () from /usr/lib/libQtGui.so.4
#29 0xb69f8ecc in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#30 0xb69ffca7 in QApplication::notify () from /usr/lib/libQtGui.so.4
#31 0xb7aad06d in KApplication::notify () from /usr/lib/libkdeui.so.5
#32 0xb7503bc1 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#33 0xb6a00fae in QApplicationPrivate::sendMouseEvent ()
   from /usr/lib/libQtGui.so.4
#34 0xb6a5e1e8 in QETWidget::translateMouseEvent () from /usr/lib/libQtGui.so.4
#35 0xb6a5d5a4 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#36 0xb6a833ae in QEventDispatcherX11::processEvents ()
   from /usr/lib/libQtGui.so.4
#37 0xb750233a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#38 0xb75024fa in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#39 0xb75046dd in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#40 0xb69f8d47 in QApplication::exec () from /usr/lib/libQtGui.so.4
#41 0xb7f0f233 in kdemain () from /usr/lib/libkdeinit4_konsole.so
#42 0x080487b2 in main ()
#0  0xffffe410 in __kernel_vsyscall ()
Comment 3 Robert Knight 2008-07-01 04:40:57 UTC
Can you reproduce this reliably?  
Comment 4 auxsvr 2008-07-01 10:54:51 UTC
Yes, I did it again twice. I type "/bin/bash" in the command textbox and edit "bash" typing quickly as the dropdown list appears. Even random key presses will make it crash after a while.
Comment 5 auxsvr 2008-07-04 14:12:39 UTC
Another backtrace, this time with more debugging information:

Application: Konsole (konsole), signal SIGSEGV
[?1034h[Thread debugging using libthread_db enabled]
[New Thread 0xb63696d0 (LWP 13269)]
[New Thread 0xb1a7ab90 (LWP 13743)]
[New Thread 0xb48d8b90 (LWP 13270)]
[KCrash handler]
#6  QMutex::lock (this=0x44) at thread/qmutex.cpp:153
#7  0xb73d6847 in QThreadPrivate::finish (arg=0x875a3d8)
    at ../../include/QtCore/../../src/corelib/thread/qmutex.h:122
#8  0xb73d69c9 in QThreadPrivate::start (arg=0x875a3d8)
    at thread/qthread_unix.cpp:192
#9  0xb737a175 in start_thread () from /lib/libpthread.so.0
#10 0xb66f2dce in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb63696d0 (LWP 13269)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb737dc15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb73d7742 in QWaitCondition::wait (this=0x8068ce0, mutex=0x8068ccc, 
    time=4294967295) at thread/qwaitcondition_unix.cpp:88
#3  0xb73d67b4 in QThread::wait (this=0x8068740, time=4294967295)
    at thread/qthread_unix.cpp:561
#4  0xb7496053 in ~QProcessManager (this=0x8068740) at io/qprocess_unix.cpp:270
#5  0xb74971ca in ~QGlobalStaticDeleter (this=0xb754de58)
    at ../../include/QtCore/../../src/corelib/global/qglobal.h:1563
#6  0xb66528f1 in exit () from /lib/libc.so.6
#7  0xb69fdbbb in qt_xio_errhandler () at kernel/qapplication_x11.cpp:590
#8  0xb7a59c97 in KApplication::xioErrhandler (this=0xbfcac074, dpy=0x8060750)
    at /usr/src/debug/kdelibs-4.0.84/kdeui/kernel/kapplication.cpp:418
#9  0xb7a59cd6 in kde_xio_errhandler (dpy=0x8060750)
    at /usr/src/debug/kdelibs-4.0.84/kdeui/kernel/kapplication.cpp:130
#10 0xb7118322 in _XIOError (dpy=0x8060750) at XlibInt.c:2940
#11 0xb7120385 in process_responses (dpy=0x8060750, wait_for_first_event=0, 
    current_error=0x0, current_request=0) at xcb_io.c:180
#12 0xb7120ba5 in _XEventsQueued (dpy=0x8060750, mode=2) at xcb_io.c:197
#13 0xb7108acf in XEventsQueued (dpy=0x8060750, mode=2) at Pending.c:44
#14 0xb6a3044d in QEventDispatcherX11::processEvents (this=0x805fe50, flags=
      {i = -1077231736}) at kernel/qeventdispatcher_x11.cpp:81
#15 0xb74af2ca in QEventLoop::processEvents (this=0xbfcabff0, flags=
      {i = -1077231672}) at kernel/qeventloop.cpp:149
#16 0xb74af48a in QEventLoop::exec (this=0xbfcabff0, flags={i = -1077231624})
    at kernel/qeventloop.cpp:196
#17 0xb74b166d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#18 0xb69a5d47 in QApplication::exec () at kernel/qapplication.cpp:3304
#19 0xb7ec68e3 in kdemain (argc=1, argv=0xbfcac1a4)
    at /usr/src/debug/kdebase-4.0.84/apps/konsole/src/main.cpp:94
#20 0x080487b2 in main (argc=)
    at /usr/src/debug/kdebase-4.0.84/build/apps/konsole/src/konsole_dummy.cpp:3
#0  0xffffe410 in __kernel_vsyscall ()

By the way, it's easier to reproduce this when typing /usr/bin/, as this contains more files.
Comment 6 Lubos Lunak 2008-07-21 16:23:20 UTC
SVN commit 835987 by lunakl:

Remove emitting of aboutToQuit() from KApplication::xioErrhandler() - the application
is not about to quit, it is about to fall flat on its face. There is really not that
much to do once KDE apps lose their connection to the X server. How that can happen
while the X server still continues to run is a different question and I don't know
the answer. It is quite possible it is caused by careless usage of one X connection
from several threads concurrently without proper locking.

CCBUG: 166685
CCBUG: 166432
CCBUG: 166401
CCBUG: 166179
CCBUG: 165451
CCBUG: 165307
CCBUG: 165059
CCBUG: 164740
CCBUG: 164665
CCBUG: 163751
CCBUG: 163355
CCBUG: 161787
CCBUG: 160692
CCBUG: 160458
CCBUG: 158194
CCBUG: 158088
CCBUG: 157607
CCBUG: 154011
CCBUG: 151293
CCBUG: 146891
CCBUG: 146700
CCBUG: 146562
CCBUG: 144383
CCBUG: 143375
CCBUG: 141871
BUG: 140683
CCBUG: 139162
CCBUG: 134708
CCBUG: 133332
CCBUG: 128588
CCBUG: 112960



 M  +0 -1      kapplication.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=835987
Comment 7 Kurt Hindenburg 2008-08-10 23:24:18 UTC
I can't reproduce on trunk/.  Can reporter update KDE/Konsole and reply?
Comment 8 auxsvr 2008-08-11 14:40:07 UTC
Running kdelibs4-4.1.0-26.3 from the opensuse factory backports, I can't reproduce this either. Thanks.
Comment 9 Gerald Hofer 2009-10-30 01:11:36 UTC
I opened OpenSUSE bug 549950
https://bugzilla.novell.com/show_bug.cgi?id=549950

I see a very similar crash then described here in OpenSUSE 11.2 RC2.

konsole-4.3.1-5.6.3.i586
glibc-2.10.1-10.4.i686
libqt4-4.5.3-2.4.2.i586

The steps to reproduce are in the Opensuse bug.