Bug 204332

Summary: Crash when right clicking on expanding widget in code completion
Product: [Applications] kate Reporter: E Quincerot <perso258741>
Component: generalAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: david.nolden.kde, tobias.hochguertel
Priority: HI    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi
Fix

Description E Quincerot 2009-08-18 21:40:43 UTC
Application that crashed: kdevelop
Version of the application: 3.9.94 (using KDevPlatform 0.9.94)
KDE Version: 4.3.00 (KDE 4.3.0) "release 155"
Qt Version: 4.5.3
Operating System: Linux 2.6.27.25-0.1-pae i686
Distribution: "openSUSE 11.1 (i586)"

What I was doing when the application crashed:
I wrote the following line
QTimer* timer = new QTimer(this); and used the auto-completion to add what kdevelop suggest... a forward declaration.
Then I put the mouse over QTimer, and kdevelop opened a tooltip giving documentation about QTimer.
And when I right-clicked over "forward declaration" into the tooltip, kdevelop crashed.

I don't manage to reproduce it.

 -- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
[Current thread is 1 (Thread 0xb5460700 (LWP 8207))]

Thread 9 (Thread 0xb14d2b90 (LWP 8208)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb616abdb in write () from /lib/libc.so.6
#2  0xb611113f in _IO_file_write () from /lib/libc.so.6
#3  0xb6110de3 in ?? () from /lib/libc.so.6
#4  0xb61110e6 in _IO_do_write () from /lib/libc.so.6
#5  0xb6111cb0 in _IO_file_overflow () from /lib/libc.so.6
#6  0xb6110f1d in _IO_file_xsputn () from /lib/libc.so.6
#7  0xb61067ca in fwrite () from /lib/libc.so.6
#8  0xb6e445dc in QFSFileEnginePrivate::writeFdFh (this=0x866f9c0, data=0xae541008 "\001", len=2097152) at io/qfsfileengine.cpp:767
#9  0xb6e4ad82 in QFSFileEnginePrivate::nativeWrite (this=0x866f9c0, data=0xae541008 "\001", len=4096) at io/qfsfileengine_unix.cpp:338
#10 0xb6e43134 in QFSFileEngine::write (this=0x83b1538, data=0xae541008 "\001", len=2097152) at io/qfsfileengine.cpp:748
#11 0xb6e05500 in QFile::writeData (this=0x83b1528, data=0xae541008 "\001", len=2097152) at io/qfile.cpp:1602
#12 0xb6e0928e in QIODevice::write (this=0x83b1528, data=0xae541008 "\001", maxSize=2097152) at io/qiodevice.cpp:1267
#13 0xb5d16aef in ?? () from /usr/lib/libkdevplatformlanguage.so.1
#14 0xb5d8f1f9 in KDevelop::ItemRepositoryRegistry::store() () from /usr/lib/libkdevplatformlanguage.so.1
#15 0xb5cc1e7b in ?? () from /usr/lib/libkdevplatformlanguage.so.1
#16 0xb5cc25a3 in ?? () from /usr/lib/libkdevplatformlanguage.so.1
#17 0xb6d7d582 in QThreadPrivate::start (arg=0x82f4630) at thread/qthread_unix.cpp:188
#18 0xb6d1a1b5 in start_thread () from /lib/libpthread.so.0
#19 0xb617a3be in clone () from /lib/libc.so.6

Thread 8 (Thread 0xafbbab90 (LWP 8216)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb6d1dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6d7e592 in QWaitCondition::wait (this=0x85a5ff8, mutex=0x85be648, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  0xb793f1a8 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0xb7941eec in ?? () from /usr/lib/libthreadweaver.so.4
#5  0xb793dd8b in ?? () from /usr/lib/libthreadweaver.so.4
#6  0xb7941fea in ?? () from /usr/lib/libthreadweaver.so.4
#7  0xb793f723 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0xb794000e in ?? () from /usr/lib/libthreadweaver.so.4
#9  0xb794064b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#10 0xb6d7d582 in QThreadPrivate::start (arg=0x8401578) at thread/qthread_unix.cpp:188
#11 0xb6d1a1b5 in start_thread () from /lib/libpthread.so.0
#12 0xb617a3be in clone () from /lib/libc.so.6

Thread 7 (Thread 0xabc5bb90 (LWP 8264)):
#0  0xb57543da in clock_gettime () from /lib/librt.so.1
#1  0xb6e9eceb in QTimerInfoList::getTime (this=0x8988b64, t=@0x8988b88) at kernel/qeventdispatcher_unix.cpp:339
#2  0xb6e9eec1 in QTimerInfoList::updateCurrentTime (this=0x8988b64) at kernel/qeventdispatcher_unix.cpp:297
#3  0xb6e9f07a in QTimerInfoList::timerWait (this=0x8988b64, tm=@0xabc5b154) at kernel/qeventdispatcher_unix.cpp:420
#4  0xb6e9d1c8 in timerSourcePrepare (source=0xb5758ff4, timeout=0xabc5b1a8) at kernel/qeventdispatcher_glib.cpp:141
#5  0xb56c78da in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#6  0xb56c7d6a in ?? () from /usr/lib/libglib-2.0.so.0
#7  0xb56c8241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#8  0xb6e9d007 in QEventDispatcherGlib::processEvents (this=0x896a920, flags={i = -1413107048}) at kernel/qeventdispatcher_glib.cpp:330
#9  0xb6e6fdfa in QEventLoop::processEvents (this=0xabc5b310, flags={i = -1413106984}) at kernel/qeventloop.cpp:149
#10 0xb6e70242 in QEventLoop::exec (this=0xabc5b310, flags={i = -1413106920}) at kernel/qeventloop.cpp:201
#11 0xb6d7a239 in QThread::exec (this=0xab0dd6d8) at thread/qthread.cpp:487
#12 0xb5dc3890 in ?? () from /usr/lib/libkdevplatformlanguage.so.1
#13 0xb6d7d582 in QThreadPrivate::start (arg=0xab0dd6d8) at thread/qthread_unix.cpp:188
#14 0xb6d1a1b5 in start_thread () from /lib/libpthread.so.0
#15 0xb617a3be in clone () from /lib/libc.so.6

Thread 6 (Thread 0xac45cb90 (LWP 8265)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb61706a7 in poll () from /lib/libc.so.6
#2  0xb56c7f12 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb56c8241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0xb6e9d007 in QEventDispatcherGlib::processEvents (this=0x8983198, flags={i = -1404714344}) at kernel/qeventdispatcher_glib.cpp:330
#5  0xb6e6fdfa in QEventLoop::processEvents (this=0xac45c310, flags={i = -1404714280}) at kernel/qeventloop.cpp:149
#6  0xb6e70242 in QEventLoop::exec (this=0xac45c310, flags={i = -1404714216}) at kernel/qeventloop.cpp:201
#7  0xb6d7a239 in QThread::exec (this=0xb0ba07b0) at thread/qthread.cpp:487
#8  0xb5dc3890 in ?? () from /usr/lib/libkdevplatformlanguage.so.1
#9  0xb6d7d582 in QThreadPrivate::start (arg=0xb0ba07b0) at thread/qthread_unix.cpp:188
#10 0xb6d1a1b5 in start_thread () from /lib/libpthread.so.0
#11 0xb617a3be in clone () from /lib/libc.so.6

Thread 5 (Thread 0xa9b81b90 (LWP 8271)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb6d1df62 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6d7cf79 in thread_sleep (ti=0xa9b81300) at thread/qthread_unix.cpp:297
#3  0xb6d7d0ab in QThread::msleep (msecs=<value optimized out>) at thread/qthread_unix.cpp:323
#4  0xaa6b81cb in ?? () from /usr/lib/kde4/kdevcpplanguagesupport.so
#5  0xb6d7d582 in QThreadPrivate::start (arg=0xab0e8f90) at thread/qthread_unix.cpp:188
#6  0xb6d1a1b5 in start_thread () from /lib/libpthread.so.0
#7  0xb617a3be in clone () from /lib/libc.so.6

Thread 4 (Thread 0xa8f21b90 (LWP 8275)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb6d1dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6d7e592 in QWaitCondition::wait (this=0x8292e90, mutex=0x82a6228, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  0xb793f1a8 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0xb7941eec in ?? () from /usr/lib/libthreadweaver.so.4
#5  0xb793dd8b in ?? () from /usr/lib/libthreadweaver.so.4
#6  0xb7941fea in ?? () from /usr/lib/libthreadweaver.so.4
#7  0xb793f723 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0xb794000e in ?? () from /usr/lib/libthreadweaver.so.4
#9  0xb794064b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#10 0xb6d7d582 in QThreadPrivate::start (arg=0x92dce30) at thread/qthread_unix.cpp:188
#11 0xb6d1a1b5 in start_thread () from /lib/libpthread.so.0
#12 0xb617a3be in clone () from /lib/libc.so.6

Thread 3 (Thread 0xa8720b90 (LWP 8276)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb6d1dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6d7e592 in QWaitCondition::wait (this=0x8292e90, mutex=0x82a6228, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  0xb793f1a8 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0xb7941eec in ?? () from /usr/lib/libthreadweaver.so.4
#5  0xb793dd8b in ?? () from /usr/lib/libthreadweaver.so.4
#6  0xb7941fea in ?? () from /usr/lib/libthreadweaver.so.4
#7  0xb793f723 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0xb7942009 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0xb793f723 in ?? () from /usr/lib/libthreadweaver.so.4
#10 0xb7942009 in ?? () from /usr/lib/libthreadweaver.so.4
#11 0xb793f723 in ?? () from /usr/lib/libthreadweaver.so.4
#12 0xb7942009 in ?? () from /usr/lib/libthreadweaver.so.4
#13 0xb793f723 in ?? () from /usr/lib/libthreadweaver.so.4
#14 0xb7942009 in ?? () from /usr/lib/libthreadweaver.so.4
#15 0xb793f723 in ?? () from /usr/lib/libthreadweaver.so.4
#16 0xb794000e in ?? () from /usr/lib/libthreadweaver.so.4
#17 0xb794064b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#18 0xb6d7d582 in QThreadPrivate::start (arg=0x94fae10) at thread/qthread_unix.cpp:188
#19 0xb6d1a1b5 in start_thread () from /lib/libpthread.so.0
#20 0xb617a3be in clone () from /lib/libc.so.6

Thread 2 (Thread 0xaf3b9b90 (LWP 8554)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb6d1dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6d7e592 in QWaitCondition::wait (this=0x85a5ff8, mutex=0x85be648, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  0xb793f1a8 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0xb7941eec in ?? () from /usr/lib/libthreadweaver.so.4
#5  0xb793dd8b in ?? () from /usr/lib/libthreadweaver.so.4
#6  0xb7941fea in ?? () from /usr/lib/libthreadweaver.so.4
#7  0xb793f723 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0xb7942009 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0xb793f723 in ?? () from /usr/lib/libthreadweaver.so.4
#10 0xb794000e in ?? () from /usr/lib/libthreadweaver.so.4
#11 0xb794064b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#12 0xb6d7d582 in QThreadPrivate::start (arg=0x890b5c0) at thread/qthread_unix.cpp:188
#13 0xb6d1a1b5 in start_thread () from /lib/libpthread.so.0
#14 0xb617a3be in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb5460700 (LWP 8207)):
[KCrash Handler]
#6  QCoreApplication::notifyInternal (this=0xbffd8e20, receiver=0x1422cae8, event=0xbffd6d90) at kernel/qcoreapplication.cpp:594
#7  0xb64aef4b in QWidget::setVisible (this=0x1422cae8, visible=true) at ../../src/corelib/kernel/qcoreapplication.h:213
#8  0xb6881d2b in QMenu::popup (this=0x1422cae8, p=@0xbffd74a8, atAction=0x0) at ../../src/gui/kernel/qwidget.h:473
#9  0xb6887507 in QMenu::exec (this=0x1422cae8, p=@0xbffd74a8, action=0x0) at widgets/qmenu.cpp:1990
#10 0xb72aa4b8 in KTextBrowser::contextMenuEvent(QContextMenuEvent*) () from /usr/lib/libkdeui.so.5
#11 0xb64a9adc in QWidget::event (this=0x1406b750, event=0xbffd7490) at kernel/qwidget.cpp:7713
#12 0xb6839c73 in QFrame::event (this=0x1406b750, e=0xbffd7490) at widgets/qframe.cpp:559
#13 0xb68d9e3f in QAbstractScrollArea::viewportEvent (this=0x1406b750, e=0xbffd8e20) at widgets/qabstractscrollarea.cpp:962
#14 0xb68dc445 in QAbstractScrollAreaFilter::eventFilter (this=0x14206fb0, o=0x13f9f720, e=0xbffd7490) at widgets/qabstractscrollarea_p.h:100
#15 0xb6e709ea in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x810f568, receiver=0x13f9f720, event=0xbffd7490) at kernel/qcoreapplication.cpp:726
#16 0xb64527da in QApplicationPrivate::notify_helper (this=0x810f568, receiver=0x13f9f720, e=0xbffd7490) at kernel/qapplication.cpp:4061
#17 0xb645b02d in QApplication::notify (this=0xbffd8e20, receiver=0x13f9f720, e=0xbffd7490) at kernel/qapplication.cpp:3854
#18 0xb719c27d in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#19 0xb6e717db in QCoreApplication::notifyInternal (this=0xbffd8e20, receiver=0x13f9f720, event=0xbffd7490) at kernel/qcoreapplication.cpp:610
#20 0xb645d93e in QCoreApplication::sendSpontaneousEvent (receiver=0x13f9f720, event=0xbffd8e20) at ../../src/corelib/kernel/qcoreapplication.h:216
#21 0xb64caf0f in QETWidget::translateMouseEvent (this=0x938f440, event=0xbffd8afc) at kernel/qapplication_x11.cpp:4412
#22 0xb64c9afd in QApplication::x11ProcessEvent (this=0xbffd8e20, event=0xbffd8afc) at kernel/qapplication_x11.cpp:3425
#23 0xb64f364a in x11EventSourceDispatch (s=0x81124e8, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#24 0xb56c49c8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#25 0xb56c8083 in ?? () from /usr/lib/libglib-2.0.so.0
#26 0xb56c8241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#27 0xb6e9cfe8 in QEventDispatcherGlib::processEvents (this=0x8059140, flags={i = -1073902408}) at kernel/qeventdispatcher_glib.cpp:328
#28 0xb64f2d45 in QGuiEventDispatcherGlib::processEvents (this=0x8059140, flags={i = -1073902360}) at kernel/qguieventdispatcher_glib.cpp:202
#29 0xb6e6fdfa in QEventLoop::processEvents (this=0xbffd8d60, flags={i = -1073902296}) at kernel/qeventloop.cpp:149
#30 0xb6e70242 in QEventLoop::exec (this=0xbffd8d60, flags={i = -1073902232}) at kernel/qeventloop.cpp:201
#31 0xb6e726e9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#32 0xb6452677 in QApplication::exec () at kernel/qapplication.cpp:3525
#33 0x0804f1c3 in _start ()

Reported using DrKonqi
Comment 1 E Quincerot 2009-08-18 21:46:53 UTC
kdevelop 3.9.94 (using KDevPlatform 0.9.94)
Using KDE 4.3.00 (KDE 4.3.0) "release 155"

Provided by rpm for OpenSuse11.1
kdevelop 3.9.94.6.17
kdevplatform 0.9.94.19.11
Comment 2 Andreas Pakulat 2009-08-18 21:50:25 UTC
I'm sorry, but if its unreproduceable and the backtrace is as useless as this one is we can't do anything about this.
Comment 3 Tobias Hochgürtel 2010-02-10 13:13:49 UTC
Created attachment 40637 [details]
New crash information added by DrKonqi

Clicking on tooltips / which are shows for Objects and so .. then the Application crashed, after clicking serveral times from one Object/Class to next Class or methods...
Comment 4 Tobias Hochgürtel 2010-02-10 13:19:36 UTC
Created attachment 40638 [details]
New crash information added by DrKonqi

Clicking on tooltips / which are shows for Objects and so .. then the Application crashed, after clicking serveral times from one Object/Class to next Class or methods...
Comment 5 David Nolden 2010-02-10 21:28:28 UTC
I guess you clicked in the completion-list right? The issue is easy to reproduce there.
Comment 6 Milian Wolff 2010-04-12 17:39:26 UTC
Yes, easily reproducable by requesting the context menu in the expanding widget of the codecompletion. Works fine in quickopen and the context popup though. Apparently the code completion gets closed or something, anyone an idea? Probably needs to be fixed in Kate by catching some context menu event?

==14556== Invalid read of size 8
==14556==    at 0x8AA0947: QWidgetPrivate::show_helper() (qwidget.cpp:7230)
==14556==    by 0x8AA2919: QWidget::setVisible(bool) (qwidget.cpp:7440)
==14556==    by 0x8E641C3: QMenu::popup(QPoint const&, QAction*) (qwidget.h:485)
==14556==    by 0x8E646CD: QMenu::exec(QPoint const&, QAction*) (qmenu.cpp:2067)
==14556==    by 0x7B99765: KTextBrowser::contextMenuEvent(QContextMenuEvent*) (ktextbrowser.cpp:125)
==14556==    by 0x8A9B187: QWidget::event(QEvent*) (qwidget.cpp:8207)
==14556==    by 0x8E23455: QFrame::event(QEvent*) (qframe.cpp:557)
==14556==    by 0x831AFB6: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:819)
==14556==    by 0x8A453EB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298)
==14556==    by 0x8A4BBD2: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3946)
==14556==    by 0x7A67F02: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==14556==    by 0x831BB9B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==14556==  Address 0x1b7b1170 is 32 bytes inside a block of size 40 free'd
==14556==    at 0x4C24A7A: operator delete(void*) (vg_replace_malloc.c:346)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0x7B99328: KTextBrowser::~KTextBrowser() (ktextbrowser.cpp:60)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0xB8643C8: KDevelop::AbstractNavigationWidget::~AbstractNavigationWidget() (abstractnavigationwidget.cpp:102)
==14556==    by 0x291B1C4D: Cpp::NavigationWidget::~NavigationWidget() (navigationwidget.h:30)
==14556==    by 0x2E340AAC: ExpandingWidgetModel::clearExpanding() (expandingwidgetmodel.cpp:128)
==14556==    by 0x2E3216C4: KateCompletionModel::clearGroups(bool) (katecompletionmodel.cpp:508)
==14556==    by 0x2E328A32: KateCompletionModel::clearCompletionModels() (katecompletionmodel.cpp:2052)
==14556==    by 0x2E316CA4: KateCompletionWidget::clear() (katecompletionwidget.cpp:731)
==14556== 
==14556== Invalid read of size 1
==14556==    at 0x8AA094B: QWidgetPrivate::show_helper() (qwidget.cpp:7230)
==14556==    by 0x8AA2919: QWidget::setVisible(bool) (qwidget.cpp:7440)
==14556==    by 0x8E641C3: QMenu::popup(QPoint const&, QAction*) (qwidget.h:485)
==14556==    by 0x8E646CD: QMenu::exec(QPoint const&, QAction*) (qmenu.cpp:2067)
==14556==    by 0x7B99765: KTextBrowser::contextMenuEvent(QContextMenuEvent*) (ktextbrowser.cpp:125)
==14556==    by 0x8A9B187: QWidget::event(QEvent*) (qwidget.cpp:8207)
==14556==    by 0x8E23455: QFrame::event(QEvent*) (qframe.cpp:557)
==14556==    by 0x831AFB6: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:819)
==14556==    by 0x8A453EB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298)
==14556==    by 0x8A4BBD2: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3946)
==14556==    by 0x7A67F02: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==14556==    by 0x831BB9B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==14556==  Address 0x2c2af70c is 348 bytes inside a block of size 720 free'd
==14556==    at 0x4C24A7A: operator delete(void*) (vg_replace_malloc.c:346)
==14556==    by 0x8331770: QObject::~QObject() (qscopedpointer.h:62)
==14556==    by 0x8AA24C5: QWidget::~QWidget() (qwidget.cpp:1492)
==14556==    by 0x8E62612: QMenu::~QMenu() (qmenu.cpp:1421)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0x7B99328: KTextBrowser::~KTextBrowser() (ktextbrowser.cpp:60)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0xB8643C8: KDevelop::AbstractNavigationWidget::~AbstractNavigationWidget() (abstractnavigationwidget.cpp:102)
==14556==    by 0x291B1C4D: Cpp::NavigationWidget::~NavigationWidget() (navigationwidget.h:30)
==14556==    by 0x2E340AAC: ExpandingWidgetModel::clearExpanding() (expandingwidgetmodel.cpp:128)
==14556== 
==14556== Invalid read of size 1
==14556==    at 0x8AA0915: QWidgetPrivate::show_helper() (qwidget.cpp:7249)
==14556==    by 0x8AA2919: QWidget::setVisible(bool) (qwidget.cpp:7440)
==14556==    by 0x8E641C3: QMenu::popup(QPoint const&, QAction*) (qwidget.h:485)
==14556==    by 0x8E646CD: QMenu::exec(QPoint const&, QAction*) (qmenu.cpp:2067)
==14556==    by 0x7B99765: KTextBrowser::contextMenuEvent(QContextMenuEvent*) (ktextbrowser.cpp:125)
==14556==    by 0x8A9B187: QWidget::event(QEvent*) (qwidget.cpp:8207)
==14556==    by 0x8E23455: QFrame::event(QEvent*) (qframe.cpp:557)
==14556==    by 0x831AFB6: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:819)
==14556==    by 0x8A453EB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298)
==14556==    by 0x8A4BBD2: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3946)
==14556==    by 0x7A67F02: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==14556==    by 0x831BB9B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==14556==  Address 0x2c2af711 is 353 bytes inside a block of size 720 free'd
==14556==    at 0x4C24A7A: operator delete(void*) (vg_replace_malloc.c:346)
==14556==    by 0x8331770: QObject::~QObject() (qscopedpointer.h:62)
==14556==    by 0x8AA24C5: QWidget::~QWidget() (qwidget.cpp:1492)
==14556==    by 0x8E62612: QMenu::~QMenu() (qmenu.cpp:1421)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0x7B99328: KTextBrowser::~KTextBrowser() (ktextbrowser.cpp:60)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0xB8643C8: KDevelop::AbstractNavigationWidget::~AbstractNavigationWidget() (abstractnavigationwidget.cpp:102)
==14556==    by 0x291B1C4D: Cpp::NavigationWidget::~NavigationWidget() (navigationwidget.h:30)
==14556==    by 0x2E340AAC: ExpandingWidgetModel::clearExpanding() (expandingwidgetmodel.cpp:128)
==14556== 
==14556== Invalid read of size 8
==14556==    at 0x8A4B6AD: QApplicationPrivate::sendSyntheticEnterLeave(QWidget*) (qwidget.h:234)
==14556==    by 0x8AA2929: QWidget::setVisible(bool) (qwidget.cpp:7443)
==14556==    by 0x8E641C3: QMenu::popup(QPoint const&, QAction*) (qwidget.h:485)
==14556==    by 0x8E646CD: QMenu::exec(QPoint const&, QAction*) (qmenu.cpp:2067)
==14556==    by 0x7B99765: KTextBrowser::contextMenuEvent(QContextMenuEvent*) (ktextbrowser.cpp:125)
==14556==    by 0x8A9B187: QWidget::event(QEvent*) (qwidget.cpp:8207)
==14556==    by 0x8E23455: QFrame::event(QEvent*) (qframe.cpp:557)
==14556==    by 0x831AFB6: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:819)
==14556==    by 0x8A453EB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298)
==14556==    by 0x8A4BBD2: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3946)
==14556==    by 0x7A67F02: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==14556==    by 0x831BB9B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==14556==  Address 0x1b7b1170 is 32 bytes inside a block of size 40 free'd
==14556==    at 0x4C24A7A: operator delete(void*) (vg_replace_malloc.c:346)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0x7B99328: KTextBrowser::~KTextBrowser() (ktextbrowser.cpp:60)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0xB8643C8: KDevelop::AbstractNavigationWidget::~AbstractNavigationWidget() (abstractnavigationwidget.cpp:102)
==14556==    by 0x291B1C4D: Cpp::NavigationWidget::~NavigationWidget() (navigationwidget.h:30)
==14556==    by 0x2E340AAC: ExpandingWidgetModel::clearExpanding() (expandingwidgetmodel.cpp:128)
==14556==    by 0x2E3216C4: KateCompletionModel::clearGroups(bool) (katecompletionmodel.cpp:508)
==14556==    by 0x2E328A32: KateCompletionModel::clearCompletionModels() (katecompletionmodel.cpp:2052)
==14556==    by 0x2E316CA4: KateCompletionWidget::clear() (katecompletionwidget.cpp:731)
==14556== 
==14556== Invalid read of size 8
==14556==    at 0x8A4B6B1: QApplicationPrivate::sendSyntheticEnterLeave(QWidget*) (qapplication.cpp:3012)
==14556==    by 0x8AA2929: QWidget::setVisible(bool) (qwidget.cpp:7443)
==14556==    by 0x8E641C3: QMenu::popup(QPoint const&, QAction*) (qwidget.h:485)
==14556==    by 0x8E646CD: QMenu::exec(QPoint const&, QAction*) (qmenu.cpp:2067)
==14556==    by 0x7B99765: KTextBrowser::contextMenuEvent(QContextMenuEvent*) (ktextbrowser.cpp:125)
==14556==    by 0x8A9B187: QWidget::event(QEvent*) (qwidget.cpp:8207)
==14556==    by 0x8E23455: QFrame::event(QEvent*) (qframe.cpp:557)
==14556==    by 0x831AFB6: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:819)
==14556==    by 0x8A453EB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298)
==14556==    by 0x8A4BBD2: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3946)
==14556==    by 0x7A67F02: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==14556==    by 0x831BB9B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==14556==  Address 0x2c2af700 is 336 bytes inside a block of size 720 free'd
==14556==    at 0x4C24A7A: operator delete(void*) (vg_replace_malloc.c:346)
==14556==    by 0x8331770: QObject::~QObject() (qscopedpointer.h:62)
==14556==    by 0x8AA24C5: QWidget::~QWidget() (qwidget.cpp:1492)
==14556==    by 0x8E62612: QMenu::~QMenu() (qmenu.cpp:1421)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0x7B99328: KTextBrowser::~KTextBrowser() (ktextbrowser.cpp:60)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0xB8643C8: KDevelop::AbstractNavigationWidget::~AbstractNavigationWidget() (abstractnavigationwidget.cpp:102)
==14556==    by 0x291B1C4D: Cpp::NavigationWidget::~NavigationWidget() (navigationwidget.h:30)
==14556==    by 0x2E340AAC: ExpandingWidgetModel::clearExpanding() (expandingwidgetmodel.cpp:128)
==14556== 
==14556== Invalid read of size 1
==14556==    at 0x8A4B6B7: QApplicationPrivate::sendSyntheticEnterLeave(QWidget*) (qapplication.cpp:3012)
==14556==    by 0x8AA2929: QWidget::setVisible(bool) (qwidget.cpp:7443)
==14556==    by 0x8E641C3: QMenu::popup(QPoint const&, QAction*) (qwidget.h:485)
==14556==    by 0x8E646CD: QMenu::exec(QPoint const&, QAction*) (qmenu.cpp:2067)
==14556==    by 0x7B99765: KTextBrowser::contextMenuEvent(QContextMenuEvent*) (ktextbrowser.cpp:125)
==14556==    by 0x8A9B187: QWidget::event(QEvent*) (qwidget.cpp:8207)
==14556==    by 0x8E23455: QFrame::event(QEvent*) (qframe.cpp:557)
==14556==    by 0x831AFB6: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:819)
==14556==    by 0x8A453EB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298)
==14556==    by 0x8A4BBD2: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3946)
==14556==    by 0x7A67F02: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==14556==    by 0x831BB9B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==14556==  Address 0x2c2af70c is 348 bytes inside a block of size 720 free'd
==14556==    at 0x4C24A7A: operator delete(void*) (vg_replace_malloc.c:346)
==14556==    by 0x8331770: QObject::~QObject() (qscopedpointer.h:62)
==14556==    by 0x8AA24C5: QWidget::~QWidget() (qwidget.cpp:1492)
==14556==    by 0x8E62612: QMenu::~QMenu() (qmenu.cpp:1421)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0x7B99328: KTextBrowser::~KTextBrowser() (ktextbrowser.cpp:60)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0xB8643C8: KDevelop::AbstractNavigationWidget::~AbstractNavigationWidget() (abstractnavigationwidget.cpp:102)
==14556==    by 0x291B1C4D: Cpp::NavigationWidget::~NavigationWidget() (navigationwidget.h:30)
==14556==    by 0x2E340AAC: ExpandingWidgetModel::clearExpanding() (expandingwidgetmodel.cpp:128)
==14556== 
==14556== Invalid read of size 8
==14556==    at 0x831BB80: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:691)
==14556==    by 0x8AA294F: QWidget::setVisible(bool) (qcoreapplication.h:215)
==14556==    by 0x8E641C3: QMenu::popup(QPoint const&, QAction*) (qwidget.h:485)
==14556==    by 0x8E646CD: QMenu::exec(QPoint const&, QAction*) (qmenu.cpp:2067)
==14556==    by 0x7B99765: KTextBrowser::contextMenuEvent(QContextMenuEvent*) (ktextbrowser.cpp:125)
==14556==    by 0x8A9B187: QWidget::event(QEvent*) (qwidget.cpp:8207)
==14556==    by 0x8E23455: QFrame::event(QEvent*) (qframe.cpp:557)
==14556==    by 0x831AFB6: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:819)
==14556==    by 0x8A453EB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298)
==14556==    by 0x8A4BBD2: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3946)
==14556==    by 0x7A67F02: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==14556==    by 0x831BB9B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==14556==  Address 0x1b7b1158 is 8 bytes inside a block of size 40 free'd
==14556==    at 0x4C24A7A: operator delete(void*) (vg_replace_malloc.c:346)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0x7B99328: KTextBrowser::~KTextBrowser() (ktextbrowser.cpp:60)
==14556==    by 0x832A61B: QObjectPrivate::deleteChildren() (qobject.cpp:1978)
==14556==    by 0x8AA243C: QWidget::~QWidget() (qwidget.cpp:1476)
==14556==    by 0xB8643C8: KDevelop::AbstractNavigationWidget::~AbstractNavigationWidget() (abstractnavigationwidget.cpp:102)
==14556==    by 0x291B1C4D: Cpp::NavigationWidget::~NavigationWidget() (navigationwidget.h:30)
==14556==    by 0x2E340AAC: ExpandingWidgetModel::clearExpanding() (expandingwidgetmodel.cpp:128)
==14556==    by 0x2E3216C4: KateCompletionModel::clearGroups(bool) (katecompletionmodel.cpp:508)
==14556==    by 0x2E328A32: KateCompletionModel::clearCompletionModels() (katecompletionmodel.cpp:2052)
==14556==    by 0x2E316CA4: KateCompletionWidget::clear() (katecompletionwidget.cpp:731)
==14556== 
==14556== Invalid read of size 8
==14556==    at 0x831BB8D: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:691)
==14556==    by 0x8AA294F: QWidget::setVisible(bool) (qcoreapplication.h:215)
==14556==    by 0x8E641C3: QMenu::popup(QPoint const&, QAction*) (qwidget.h:485)
==14556==    by 0x8E646CD: QMenu::exec(QPoint const&, QAction*) (qmenu.cpp:2067)
==14556==    by 0x7B99765: KTextBrowser::contextMenuEvent(QContextMenuEvent*) (ktextbrowser.cpp:125)
==14556==    by 0x8A9B187: QWidget::event(QEvent*) (qwidget.cpp:8207)
==14556==    by 0x8E23455: QFrame::event(QEvent*) (qframe.cpp:557)
==14556==    by 0x831AFB6: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:819)
==14556==    by 0x8A453EB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298)
==14556==    by 0x8A4BBD2: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3946)
==14556==    by 0x7A67F02: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==14556==    by 0x831BB9B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==14556==  Address 0x40 is not stack'd, malloc'd or (recently) free'd
==14556==
Comment 7 Milian Wolff 2010-04-12 18:06:00 UTC
It's slotFocusOut that triggers a clear() in KateCompletionWidget.
Comment 8 Milian Wolff 2010-04-12 18:19:13 UTC
I tried setting contextPolicy to noContextMenu and some focus policies, to no avail. Has anyone more ideas on how to fix this? Is there some way to check whether one of the child elements requested a context menu?

This is a kate bug and should be tracked as such. It's probably reproducable with the snippet plugin from trunk, assuming it also shows the snippet contents in the expanding widget (dunno if it does).
Comment 9 Andreas Pakulat 2010-04-12 18:33:29 UTC
@Milian: If you re-assign to some other product please also adjust the assignee (Click on the edit link and select Reset Assignee to default) so kdevelop-bugs is not spammed with future updates on the report.
Comment 10 Dominik Haumann 2011-08-09 10:50:17 UTC
Any chance getting this fixed? Since you investigated already, would be nice to simply get rid of it...
Comment 11 Milian Wolff 2011-08-10 11:29:32 UTC
it's still crashing when requesting the context menu on the scroll bar in the expanding widget and I have no clue on how to fix it.
Comment 12 David Nolden 2011-08-10 13:25:08 UTC
Created attachment 62726 [details]
Fix
Comment 13 David Nolden 2011-08-10 13:26:06 UTC
Should be fixed.