Bug 238864

Summary: KDevelop crashes everytime a KTextEditor plugin is enabled/disabled
Product: [Unmaintained] kdelibs Reporter: Cristian Ciobanu <ciobanu.n.cristian>
Component: kdeuiAssignee: kdelibs bugs <kdelibs-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: Craig.Magina, lene.preuss, rjwgnr27, spearhead2k3
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Cristian Ciobanu 2010-05-26 10:50:54 UTC
Application: kdevelop (4.0.0 (using KDevPlatform 1.0.0))
KDE Platform Version: 4.4.3 (KDE 4.4.3)
Qt Version: 4.6.2
Operating System: Linux 2.6.31.12-0.2-desktop x86_64
Distribution: "openSUSE 11.2 (x86_64)"

-- Information about the crash:
Editor -> Settings -> Configure Editor -> Extensions -> AutoBrace -> Enable -> Save -> Crash

The crash can be reproduced every time.

 -- Backtrace:
Application: KDevelop (kdevelop.bin), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f95a174d750 (LWP 13490))]

Thread 7 (Thread 0x7f958d134910 (LWP 13491)):
#0  0x00007f959e9b62cd in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f959ff3e692 in wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:85
#2  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f959ba333de in ?? () from /usr/lib64/libkdevplatformlanguage.so.1
#4  0x00007f959ff3d775 in QThreadPrivate::start (arg=0x11ec130) at thread/qthread_unix.cpp:248
#5  0x00007f959e9b165d in start_thread () from /lib64/libpthread.so.0
#6  0x00007f959ec97e1d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f9586fb4910 (LWP 13492)):
#0  0x00007f959e9b6049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f959ff3e72b in wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f959664e786 in ?? () from /usr/lib64/libthreadweaver.so.4
#4  0x00007f959664fb6b in ?? () from /usr/lib64/libthreadweaver.so.4
#5  0x00007f959664aedf in ?? () from /usr/lib64/libthreadweaver.so.4
#6  0x00007f959664c748 in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#7  0x00007f959ff3d775 in QThreadPrivate::start (arg=0x10161f0) at thread/qthread_unix.cpp:248
#8  0x00007f959e9b165d in start_thread () from /lib64/libpthread.so.0
#9  0x00007f959ec97e1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f95815b7910 (LWP 13496)):
#0  0x00007f959ec8ed03 in poll () from /lib64/libc.so.6
#1  0x00007f959960859c in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f95996088e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f95a005af06 in QEventDispatcherGlib::processEvents (this=0x103a6d0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#4  0x00007f95a00302a2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f95a003067c in QEventLoop::exec (this=0x7f95815b7040, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f959ff3ad59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007f959ff3d775 in QThreadPrivate::start (arg=0x103ae00) at thread/qthread_unix.cpp:248
#8  0x00007f959e9b165d in start_thread () from /lib64/libpthread.so.0
#9  0x00007f959ec97e1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f95786b8910 (LWP 13519)):
#0  0x00007f959e9b6049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f959ff3e72b in wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f959664e786 in ?? () from /usr/lib64/libthreadweaver.so.4
#4  0x00007f959664fb6b in ?? () from /usr/lib64/libthreadweaver.so.4
#5  0x00007f959664fb84 in ?? () from /usr/lib64/libthreadweaver.so.4
#6  0x00007f959664aedf in ?? () from /usr/lib64/libthreadweaver.so.4
#7  0x00007f959664c748 in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#8  0x00007f959ff3d775 in QThreadPrivate::start (arg=0x29ec0a0) at thread/qthread_unix.cpp:248
#9  0x00007f959e9b165d in start_thread () from /lib64/libpthread.so.0
#10 0x00007f959ec97e1d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f9577eb7910 (LWP 13522)):
#0  0x00007f959e9b6049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f959ff3e72b in wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f959664e786 in ?? () from /usr/lib64/libthreadweaver.so.4
#4  0x00007f959664fb6b in ?? () from /usr/lib64/libthreadweaver.so.4
#5  0x00007f959664aedf in ?? () from /usr/lib64/libthreadweaver.so.4
#6  0x00007f959664c748 in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#7  0x00007f959ff3d775 in QThreadPrivate::start (arg=0x32e8760) at thread/qthread_unix.cpp:248
#8  0x00007f959e9b165d in start_thread () from /lib64/libpthread.so.0
#9  0x00007f959ec97e1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f957653b910 (LWP 13524)):
#0  0x00007f959e9b6049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f9597d346a6 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f9598012220) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304
#2  0x00007f9597d346e9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f95980202ec) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438
#3  0x00007f959e9b165d in start_thread () from /lib64/libpthread.so.0
#4  0x00007f959ec97e1d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f95a174d750 (LWP 13490)):
[KCrash Handler]
#5  0x00007f959f473471 in QETWidget::translateMouseEvent (this=0x2ad23a0, event=0x7fffd428cb40) at kernel/qapplication_x11.cpp:4319
#6  0x00007f959f47247a in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffd428d400) at kernel/qapplication_x11.cpp:3501
#7  0x00007f959f49c932 in x11EventSourceDispatch (s=0xe55210, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#8  0x00007f9599604dee in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#9  0x00007f95996087b8 in ?? () from /usr/lib64/libglib-2.0.so.0
#10 0x00007f95996088e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#11 0x00007f95a005aeb3 in QEventDispatcherGlib::processEvents (this=0x619440, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#12 0x00007f959f49c51e in QGuiEventDispatcherGlib::processEvents (this=0x7fffd428cae0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#13 0x00007f95a00302a2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#14 0x00007f95a003067c in QEventLoop::exec (this=0x7fffd428d730, flags=) at kernel/qeventloop.cpp:201
#15 0x00007f95a00343cb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#16 0x00000000004088df in _start ()

Possible duplicates by query: bug 238543, bug 238177, bug 236501, bug 236391, bug 236337.

Reported using DrKonqi
Comment 1 Andreas Pakulat 2010-05-26 11:03:45 UTC
Well unfortunately the backtrace is useless. Please run kdevelop in valgrind:

KDEV_SESSION=blah valgrind track-origins=yes kdevelop.bin

Re-Assigning to kate as autobrace is a kate-plugin.
Comment 2 Milian Wolff 2010-05-26 13:25:35 UTC
I could reproduce, will try to fix it. I'd appreciate it, if you could provide me with a valgrind log.

Bye
Comment 3 Andreas Pakulat 2010-05-29 02:14:03 UTC
*** Bug 239904 has been marked as a duplicate of this bug. ***
Comment 4 Dominik Haumann 2010-06-14 01:23:13 UTC
Can this be fixed for KDE 4.5? Otherwise it's maybe better to entirely disable autobrace plugin for 4.5?
Comment 5 Milian Wolff 2010-06-14 03:29:34 UTC
I'll have to look at it tomorrow. don't disable it for now please, I have to use that plugin :)
Comment 6 David 2010-07-31 15:59:34 UTC
Created attachment 49711 [details]
New crash information added by DrKonqi

same as report that this is attached to : 
KDevelop 4.0 // KDE 4.4.5 
Editor--> Configure Editor/Settings --> Extensions --> Enable AutoBrace --> OK/Apply --> Crash
Comment 7 Milian Wolff 2010-07-31 16:43:29 UTC
some more info:

valgrind output:
http://pastebin.com/hc0Be7QJ

And the CLI gets spammed with messages like these after hitting apply:
kdevelop(16813) EventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createWidgets! 

Note: With KDE 4.4.95 it's not crashing anymore for me. I'll send a mail to kde-core-devel and ask their assistance.
Comment 8 Milian Wolff 2010-07-31 16:54:19 UTC
funny, it does crash when not run inside Valgrind...
Comment 9 Milian Wolff 2010-07-31 17:20:31 UTC
Reassigning to KDevelop as this behavior is only exhibited there. Maybe our menu restructuring is the culprit, have to investigate...

But for me KDevelop crashes when I change any KTextEditor plugin, i.e. either enable or disable it.
Comment 10 Milian Wolff 2010-09-06 17:54:35 UTC
*** Bug 243789 has been marked as a duplicate of this bug. ***
Comment 11 Milian Wolff 2010-09-06 19:24:58 UTC
More information from running valgrind on a different machine. I don't get how this is happening. Assigning to kdelibs for help. If it's not there, maybe even a bug in Qt? Otherwise I'm lost...

==28681== Conditional jump or move depends on uninitialised value(s)
==28681==    at 0x59710C4: PtsToRegion(int, int, _POINTBLOCK*, QRegionPrivate*) (qregion.cpp:3527)
==28681==    by 0x5971C07: PolygonRegion(QPoint const*, int, int) (qregion.cpp:3750)
==28681==    by 0x59722CD: QRegion::QRegion(QPolygon const&, Qt::FillRule) (qregion.cpp:3871)
==28681==    by 0x59E51D8: QX11PaintEngine::updateState(QPaintEngineState const&) (qpaintengine_x11.cpp:1087)
==28681==    by 0x5921483: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:893)
==28681==    by 0x592154B: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:921)
==28681==    by 0x5927F73: QPainter::setClipRegion(QRegion const&, Qt::ClipOperation) (qpainter.cpp:2839)
==28681==    by 0x9A4E457: ??? (in /usr/lib/kde4/plugins/styles/oxygen.so)
==28681==    by 0x55467C9: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:841)
==28681==    by 0x57B75A8: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298)
==28681==    by 0x57BE1F8: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4267)
==28681==    by 0x518BB49: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==28681==  Uninitialised value was created by a heap allocation
==28681==    at 0x4023F50: malloc (vg_replace_malloc.c:236)
==28681==    by 0x5971B6B: PolygonRegion(QPoint const*, int, int) (qregion.cpp:3665)
==28681==    by 0x59722CD: QRegion::QRegion(QPolygon const&, Qt::FillRule) (qregion.cpp:3871)
==28681==    by 0x59E51D8: QX11PaintEngine::updateState(QPaintEngineState const&) (qpaintengine_x11.cpp:1087)
==28681==    by 0x5921483: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:893)
==28681==    by 0x592154B: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:921)
==28681==    by 0x5927F73: QPainter::setClipRegion(QRegion const&, Qt::ClipOperation) (qpainter.cpp:2839)
==28681==    by 0x9A4E457: ??? (in /usr/lib/kde4/plugins/styles/oxygen.so)
==28681==    by 0x55467C9: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:841)
==28681==    by 0x57B75A8: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298)
==28681==    by 0x57BE1F8: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4267)
==28681==    by 0x518BB49: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==28681== 
==28681== Conditional jump or move depends on uninitialised value(s)
==28681==    at 0x59710C4: PtsToRegion(int, int, _POINTBLOCK*, QRegionPrivate*) (qregion.cpp:3527)
==28681==    by 0x5971C07: PolygonRegion(QPoint const*, int, int) (qregion.cpp:3750)
==28681==    by 0x59722CD: QRegion::QRegion(QPolygon const&, Qt::FillRule) (qregion.cpp:3871)
==28681==    by 0x59E54EC: QX11PaintEngine::updateState(QPaintEngineState const&) (qpaintengine_x11.cpp:1105)
==28681==    by 0x5921483: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:893)
==28681==    by 0x592154B: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:921)
==28681==    by 0x5927F73: QPainter::setClipRegion(QRegion const&, Qt::ClipOperation) (qpainter.cpp:2839)
==28681==    by 0x9A4E457: ??? (in /usr/lib/kde4/plugins/styles/oxygen.so)
==28681==    by 0x55467C9: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:841)
==28681==    by 0x57B75A8: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298)
==28681==    by 0x57BE1F8: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4267)
==28681==    by 0x518BB49: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==28681==  Uninitialised value was created by a heap allocation
==28681==    at 0x4023F50: malloc (vg_replace_malloc.c:236)
==28681==    by 0x5971B6B: PolygonRegion(QPoint const*, int, int) (qregion.cpp:3665)
==28681==    by 0x59722CD: QRegion::QRegion(QPolygon const&, Qt::FillRule) (qregion.cpp:3871)
==28681==    by 0x59E54EC: QX11PaintEngine::updateState(QPaintEngineState const&) (qpaintengine_x11.cpp:1105)
==28681==    by 0x5921483: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:893)
==28681==    by 0x592154B: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:921)
==28681==    by 0x5927F73: QPainter::setClipRegion(QRegion const&, Qt::ClipOperation) (qpainter.cpp:2839)
==28681==    by 0x9A4E457: ??? (in /usr/lib/kde4/plugins/styles/oxygen.so)
==28681==    by 0x55467C9: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:841)
==28681==    by 0x57B75A8: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298)
==28681==    by 0x57BE1F8: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4267)
==28681==    by 0x518BB49: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==28681== 
Enchant dict for "en_US" 0xd85a340 
==28681== Invalid write of size 1
==28681==    at 0x5C5407F: QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) (qobject_p.h:290)
==28681==    by 0x5C5A54A: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qmenu.cpp:1094)
==28681==    by 0x5C5B596: QMenu::mouseReleaseEvent(QMouseEvent*) (qmenu.cpp:2312)
==28681==    by 0x5280ED4: KMenu::mouseReleaseEvent(QMouseEvent*) (kmenu.cpp:471)
==28681==    by 0x58157F7: QWidget::event(QEvent*) (qwidget.cpp:8044)
==28681==    by 0x5C5CB9B: QMenu::event(QEvent*) (qmenu.cpp:2421)
==28681==    by 0x57B75CB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4302)
==28681==    by 0x57BEAF6: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3867)
==28681==    by 0x518BB49: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==28681==    by 0x804B5BE: KDevelopApplication::notify(QObject*, QEvent*) (main.cpp:87)
==28681==    by 0x554752A: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:726)
==28681==    by 0x57BDA51: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (qcoreapplication.h:215)
==28681==  Address 0x19cff5cd is 317 bytes inside a block of size 420 free'd
==28681==    at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==28681==    by 0x5C5EAFC: QMenuPrivate::~QMenuPrivate() (qmenu_p.h:183)
==28681==    by 0x555DD4B: QObject::~QObject() (qscopedpointer.h:62)
==28681==    by 0x581D469: QWidget::~QWidget() (qwidget.cpp:1496)
==28681==    by 0x5C5513C: QMenu::~QMenu() (qmenu.cpp:1414)
==28681==    by 0x528155E: KMenu::~KMenu() (kmenu.cpp:180)
==28681==    by 0x52C1564: KXMLGUIBuilder::removeContainer(QWidget*, QWidget*, QDomElement&, QAction*) (kxmlguibuilder.cpp:273)
==28681==    by 0x52D80E9: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:347)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681== 
==28681== Invalid read of size 4
==28681==    at 0x5C5A558: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qpointer.h:68)
==28681==    by 0x5C5B596: QMenu::mouseReleaseEvent(QMouseEvent*) (qmenu.cpp:2312)
==28681==    by 0x5280ED4: KMenu::mouseReleaseEvent(QMouseEvent*) (kmenu.cpp:471)
==28681==    by 0x58157F7: QWidget::event(QEvent*) (qwidget.cpp:8044)
==28681==    by 0x5C5CB9B: QMenu::event(QEvent*) (qmenu.cpp:2421)
==28681==    by 0x57B75CB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4302)
==28681==    by 0x57BEAF6: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3867)
==28681==    by 0x518BB49: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==28681==    by 0x804B5BE: KDevelopApplication::notify(QObject*, QEvent*) (main.cpp:87)
==28681==    by 0x554752A: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:726)
==28681==    by 0x57BDA51: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (qcoreapplication.h:215)
==28681==    by 0x5849297: QETWidget::translateMouseEvent(_XEvent const*) (qapplication_x11.cpp:4314)
==28681==  Address 0x19cff628 is 408 bytes inside a block of size 420 free'd
==28681==    at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==28681==    by 0x5C5EAFC: QMenuPrivate::~QMenuPrivate() (qmenu_p.h:183)
==28681==    by 0x555DD4B: QObject::~QObject() (qscopedpointer.h:62)
==28681==    by 0x581D469: QWidget::~QWidget() (qwidget.cpp:1496)
==28681==    by 0x5C5513C: QMenu::~QMenu() (qmenu.cpp:1414)
==28681==    by 0x528155E: KMenu::~KMenu() (kmenu.cpp:180)
==28681==    by 0x52C1564: KXMLGUIBuilder::removeContainer(QWidget*, QWidget*, QDomElement&, QAction*) (kxmlguibuilder.cpp:273)
==28681==    by 0x52D80E9: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:347)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681== 
==28681== Invalid read of size 4
==28681==    at 0x555AB2C: QMetaObject::changeGuard(QObject**, QObject*) (qobject.cpp:475)
==28681==    by 0x5C5A576: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qpointer.h:68)
==28681==    by 0x5C5B596: QMenu::mouseReleaseEvent(QMouseEvent*) (qmenu.cpp:2312)
==28681==    by 0x5280ED4: KMenu::mouseReleaseEvent(QMouseEvent*) (kmenu.cpp:471)
==28681==    by 0x58157F7: QWidget::event(QEvent*) (qwidget.cpp:8044)
==28681==    by 0x5C5CB9B: QMenu::event(QEvent*) (qmenu.cpp:2421)
==28681==    by 0x57B75CB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4302)
==28681==    by 0x57BEAF6: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3867)
==28681==    by 0x518BB49: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==28681==    by 0x804B5BE: KDevelopApplication::notify(QObject*, QEvent*) (main.cpp:87)
==28681==    by 0x554752A: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:726)
==28681==    by 0x57BDA51: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (qcoreapplication.h:215)
==28681==  Address 0x19cff628 is 408 bytes inside a block of size 420 free'd
==28681==    at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==28681==    by 0x5C5EAFC: QMenuPrivate::~QMenuPrivate() (qmenu_p.h:183)
==28681==    by 0x555DD4B: QObject::~QObject() (qscopedpointer.h:62)
==28681==    by 0x581D469: QWidget::~QWidget() (qwidget.cpp:1496)
==28681==    by 0x5C5513C: QMenu::~QMenu() (qmenu.cpp:1414)
==28681==    by 0x528155E: KMenu::~KMenu() (kmenu.cpp:180)
==28681==    by 0x52C1564: KXMLGUIBuilder::removeContainer(QWidget*, QWidget*, QDomElement&, QAction*) (kxmlguibuilder.cpp:273)
==28681==    by 0x52D80E9: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:347)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681== 
==28681== Invalid write of size 4
==28681==    at 0x555AC22: QMetaObject::changeGuard(QObject**, QObject*) (qobject.cpp:490)
==28681==    by 0x5C5A576: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qpointer.h:68)
==28681==    by 0x5C5B596: QMenu::mouseReleaseEvent(QMouseEvent*) (qmenu.cpp:2312)
==28681==    by 0x5280ED4: KMenu::mouseReleaseEvent(QMouseEvent*) (kmenu.cpp:471)
==28681==    by 0x58157F7: QWidget::event(QEvent*) (qwidget.cpp:8044)
==28681==    by 0x5C5CB9B: QMenu::event(QEvent*) (qmenu.cpp:2421)
==28681==    by 0x57B75CB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4302)
==28681==    by 0x57BEAF6: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3867)
==28681==    by 0x518BB49: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==28681==    by 0x804B5BE: KDevelopApplication::notify(QObject*, QEvent*) (main.cpp:87)
==28681==    by 0x554752A: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:726)
==28681==    by 0x57BDA51: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (qcoreapplication.h:215)
==28681==  Address 0x19cff628 is 408 bytes inside a block of size 420 free'd
==28681==    at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==28681==    by 0x5C5EAFC: QMenuPrivate::~QMenuPrivate() (qmenu_p.h:183)
==28681==    by 0x555DD4B: QObject::~QObject() (qscopedpointer.h:62)
==28681==    by 0x581D469: QWidget::~QWidget() (qwidget.cpp:1496)
==28681==    by 0x5C5513C: QMenu::~QMenu() (qmenu.cpp:1414)
==28681==    by 0x528155E: KMenu::~KMenu() (kmenu.cpp:180)
==28681==    by 0x52C1564: KXMLGUIBuilder::removeContainer(QWidget*, QWidget*, QDomElement&, QAction*) (kxmlguibuilder.cpp:273)
==28681==    by 0x52D80E9: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:347)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681== 
==28681== Invalid read of size 4
==28681==    at 0x5848AA6: QETWidget::translateMouseEvent(_XEvent const*) (qapplication_x11.cpp:4331)
==28681==    by 0x584828A: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3391)
==28681==    by 0x58763E1: x11EventSourceDispatch(_GSource*, int (*)(void*), void*) (qguieventdispatcher_glib.cpp:146)
==28681==    by 0x6DE02F4: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1)
==28681==    by 0x6DE3FD7: ??? (in /lib/libglib-2.0.so.0.2400.1)
==28681==    by 0x6DE41B7: g_main_context_iteration (in /lib/libglib-2.0.so.0.2400.1)
==28681==    by 0x5573094: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:412)
==28681==    by 0x5875F44: QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qguieventdispatcher_glib.cpp:204)
==28681==    by 0x5545B48: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149)
==28681==    by 0x5545F99: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:201)
==28681==    by 0x554B1CE: QCoreApplication::exec() (qcoreapplication.cpp:1003)
==28681==    by 0x57B7666: QApplication::exec() (qapplication.cpp:3581)
==28681==  Address 0x1a0cdde8 is 16 bytes inside a block of size 24 free'd
==28681==    at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==28681==    by 0x5281566: KMenu::~KMenu() (kmenu.cpp:180)
==28681==    by 0x52C1564: KXMLGUIBuilder::removeContainer(QWidget*, QWidget*, QDomElement&, QAction*) (kxmlguibuilder.cpp:273)
==28681==    by 0x52D80E9: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:347)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681==    by 0x52D21CC: KXMLGUIFactory::removeClient(KXMLGUIClient*) (kxmlguifactory.cpp:429)
==28681==    by 0x1A427B2A: KatePartPluginManager::disablePlugin(KatePartPluginInfo&) (katepartpluginmanager.cpp:280)
==28681== 
==28681== Invalid read of size 1
==28681==    at 0x5848AA9: QETWidget::translateMouseEvent(_XEvent const*) (qapplication_x11.cpp:4331)
==28681==    by 0x584828A: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3391)
==28681==    by 0x58763E1: x11EventSourceDispatch(_GSource*, int (*)(void*), void*) (qguieventdispatcher_glib.cpp:146)
==28681==    by 0x6DE02F4: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1)
==28681==    by 0x6DE3FD7: ??? (in /lib/libglib-2.0.so.0.2400.1)
==28681==    by 0x6DE41B7: g_main_context_iteration (in /lib/libglib-2.0.so.0.2400.1)
==28681==    by 0x5573094: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:412)
==28681==    by 0x5875F44: QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qguieventdispatcher_glib.cpp:204)
==28681==    by 0x5545B48: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149)
==28681==    by 0x5545F99: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:201)
==28681==    by 0x554B1CE: QCoreApplication::exec() (qcoreapplication.cpp:1003)
==28681==    by 0x57B7666: QApplication::exec() (qapplication.cpp:3581)
==28681==  Address 0x19cff550 is 192 bytes inside a block of size 420 free'd
==28681==    at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==28681==    by 0x5C5EAFC: QMenuPrivate::~QMenuPrivate() (qmenu_p.h:183)
==28681==    by 0x555DD4B: QObject::~QObject() (qscopedpointer.h:62)
==28681==    by 0x581D469: QWidget::~QWidget() (qwidget.cpp:1496)
==28681==    by 0x5C5513C: QMenu::~QMenu() (qmenu.cpp:1414)
==28681==    by 0x528155E: KMenu::~KMenu() (kmenu.cpp:180)
==28681==    by 0x52C1564: KXMLGUIBuilder::removeContainer(QWidget*, QWidget*, QDomElement&, QAction*) (kxmlguibuilder.cpp:273)
==28681==    by 0x52D80E9: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:347)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681==    by 0x52D822B: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371)
==28681==    by 0x52D7CCC: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326)
==28681==
Comment 12 Milian Wolff 2010-09-13 11:51:55 UTC
*** Bug 250894 has been marked as a duplicate of this bug. ***
Comment 13 Christoph Feck 2010-10-13 17:58:36 UTC
Closing this as a duplicate of bug 170806 because the backtrace indicates that the XMLGUI client list contains stray pointers.

If you are experiencing toolbar or shortcut related crashes again with KDE 4.5.3 or later, please create a new bug report.

*** This bug has been marked as a duplicate of bug 170806 ***