Bug 283122

Summary: Crashed when using gdb plugin
Product: [Applications] kate Reporter: Lê Hoàng Phương <lehoangphuongbg>
Component: generalAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: kare.sars, lawliet89
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Lê Hoàng Phương 2011-10-01 07:47:53 UTC
Application: kate (3.7.1)
KDE Platform Version: 4.7.1 (4.7.1)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-12-generic i686
Distribution: Ubuntu oneiric (development branch)

-- Information about the crash:
- What I was doing when the application crashed:
Enable the gdb plugin. In the setting tab, just press a character keyboard button when in the "Working directory" box then the prog crashed.

The crash can be reproduced some of the time.

-- Backtrace:
Application: Kate (kate), signal: Segmentation fault
[Current thread is 1 (Thread 0xb77b3930 (LWP 27383))]

Thread 2 (Thread 0xb68bbb70 (LWP 27384)):
#0  0x003e1416 in __kernel_vsyscall ()
#1  0x003bba5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x001efcfc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x098529a9 in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4
#4  0x098529ef in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4
#5  0x003b7d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#6  0x001e20ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 1 (Thread 0xb77b3930 (LWP 27383)):
[KCrash Handler]
#7  deref (this=0x1) at ../../include/QtCore/../../src/corelib/arch/qatomic_i386.h:132
#8  QString::operator= (this=0xa73d578, other=...) at tools/qstring.cpp:1359
#9  0x01e1ffe1 in ConfigView::updateCurrentTargetDescription (this=0xa72edf0, field=1, value=...) at ../../../../kate/plugins/gdbplugin/configview.cpp:524
#10 0x01e202c6 in ConfigView::slotWorkingDirectoryEdited (this=0xa72edf0, updatedWorkingDirectory=...) at ../../../../kate/plugins/gdbplugin/configview.cpp:405
#11 0x01e20783 in ConfigView::qt_metacall (this=0xa72edf0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfff5268) at ./configview.moc:98
#12 0x06eb6b7d in metacall (argv=0xbfff5268, idx=32, cl=QMetaObject::InvokeMetaMethod, object=0xa72edf0) at kernel/qmetaobject.cpp:237
#13 QMetaObject::metacall (object=0xa72edf0, cl=QMetaObject::InvokeMetaMethod, idx=32, argv=0xbfff5268) at kernel/qmetaobject.cpp:232
#14 0x06ec5a6a in QMetaObject::activate (sender=0xa6638b0, m=0x117b7fc, local_signal_index=1, argv=0xbfff5268) at kernel/qobject.cpp:3278
#15 0x00c9df35 in QLineEdit::textEdited (this=0xa6638b0, _t1=...) at .moc/release-shared/moc_qlineedit.cpp:249
#16 0x00c983fd in QLineEditPrivate::_q_textEdited (this=0xa73c948, text=...) at widgets/qlineedit_p.cpp:106
#17 0x00c9e3be in QLineEdit::qt_metacall (this=0xa6638b0, _c=QMetaObject::InvokeMetaMethod, _id=16, _a=0xbfff53c8) at .moc/release-shared/moc_qlineedit.cpp:174
#18 0x06eb6b7d in metacall (argv=0xbfff53c8, idx=43, cl=QMetaObject::InvokeMetaMethod, object=0xa6638b0) at kernel/qmetaobject.cpp:237
#19 QMetaObject::metacall (object=0xa6638b0, cl=QMetaObject::InvokeMetaMethod, idx=43, argv=0xbfff53c8) at kernel/qmetaobject.cpp:232
#20 0x06ec5a6a in QMetaObject::activate (sender=0xa73d1e8, m=0x11898d8, local_signal_index=4, argv=0xbfff53c8) at kernel/qobject.cpp:3278
#21 0x00f45625 in QLineControl::textEdited (this=0xa73d1e8, _t1=...) at .moc/release-shared/moc_qlinecontrol_p.cpp:141
#22 0x00ca356e in QLineControl::finishChange (this=0xa73d1e8, validateFromState=0, update=false, edited=true) at widgets/qlinecontrol.cpp:657
#23 0x00ca53e5 in QLineControl::insert (this=0xa73d1e8, newText=...) at widgets/qlinecontrol.cpp:250
#24 0x00ca5baf in QLineControl::processKeyEvent (this=0xa73d1e8, event=0xbfff59b4) at widgets/qlinecontrol.cpp:1874
#25 0x00c996ab in QLineEdit::keyPressEvent (this=0xa6638b0, event=0xbfff59b4) at widgets/qlineedit.cpp:1668
#26 0x0088703c in QWidget::event (this=0xa6638b0, event=0xbfff59b4) at kernel/qwidget.cpp:8330
#27 0x00c9c0ab in QLineEdit::event (this=0xa6638b0, e=0xbfff59b4) at widgets/qlineedit.cpp:1485
#28 0x0082cd54 in notify_helper (e=0xbfff59b4, receiver=0xa6638b0, this=0x9ab8560) at kernel/qapplication.cpp:4486
#29 QApplicationPrivate::notify_helper (this=0x9ab8560, receiver=0xa6638b0, e=0xbfff59b4) at kernel/qapplication.cpp:4458
#30 0x00832c07 in QApplication::notify (this=0xa6638b0, receiver=0xa6638b0, e=0xbfff59b4) at kernel/qapplication.cpp:3945
#31 0x01a3e791 in KApplication::notify (this=0xbfff6370, receiver=0xa6638b0, event=0xbfff59b4) at ../../kdeui/kernel/kapplication.cpp:311
#32 0x06eb019e in QCoreApplication::notifyInternal (this=0xbfff6370, receiver=0xa6638b0, event=0xbfff59b4) at kernel/qcoreapplication.cpp:787
#33 0x0082ab6d in sendSpontaneousEvent (event=0xbfff59b4, receiver=0xa6638b0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#34 qt_sendSpontaneousEvent (receiver=0xa6638b0, event=0xbfff59b4) at kernel/qapplication.cpp:5480
#35 0x008e05d1 in QKeyMapper::sendKeyEvent (keyWidget=0xa6638b0, grab=false, type=QEvent::KeyPress, code=46, modifiers=) at kernel/qkeymapper_x11.cpp:1866
#36 0x008e0a75 in QKeyMapperPrivate::translateKeyEvent (this=0x9adef30, keyWidget=0xa6638b0, event=0xbfff5f9c, grab=false) at kernel/qkeymapper_x11.cpp:1836
#37 0x008b8745 in QApplication::x11ProcessEvent (this=0xbfff6370, event=0xbfff5f9c) at kernel/qapplication_x11.cpp:3577
#38 0x008e4f6c in x11EventSourceDispatch (s=0x9ab3240, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#39 0x005d625f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#40 0x005d6990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#41 0x005d6c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#42 0x06edeada in QEventDispatcherGlib::processEvents (this=0x9a8d248, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#43 0x008e4b5a in QGuiEventDispatcherGlib::processEvents (this=0x9a8d248, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#44 0x06eaf1dd in QEventLoop::processEvents (this=0xbfff62a4, flags=...) at kernel/qeventloop.cpp:149
#45 0x06eaf421 in QEventLoop::exec (this=0xbfff62a4, flags=...) at kernel/qeventloop.cpp:201
#46 0x06eb419d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#47 0x0082a8f4 in QApplication::exec () at kernel/qapplication.cpp:3760
#48 0x006ce8cd in kdemain (argc=3, argv=0xbfff69d4) at ../../../kate/app/katemain.cpp:377
#49 0x080484fb in main (argc=3, argv=0xbfff69d4) at kate_dummy.cpp:3

Reported using DrKonqi
Comment 1 Christoph Cullmann 2011-10-02 10:54:38 UTC
Git commit 42480a4fe2d5d65a06ebc0ceba0127833f4a0bc9 by Christoph Cullmann.
Committed on 02/10/2011 at 12:54.
Pushed by cullmann into branch 'master'.

fix crash
ensure vector has enough entries
BUG: 283122

M  +8    -0    kate/plugins/gdbplugin/configview.cpp

http://commits.kde.org/kate/42480a4fe2d5d65a06ebc0ceba0127833f4a0bc9
Comment 2 Kåre Särs 2011-10-02 12:08:04 UTC
Thanks for fixing :)

I'm thinkingabout rewriting the configuration dialog to be more like the one in the build plugin.
Comment 3 Kåre Särs 2012-02-22 04:58:34 UTC
*** Bug 294037 has been marked as a duplicate of this bug. ***