[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kdevelop-bugs
Subject:    [Bug 268825] Clicking stop causes crash
From:       Andrey Batyiev <batyiev () gmail ! com>
Date:       2011-07-29 0:51:47
Message-ID: E1QmbIp-0005fM-OW () bugs ! kde ! org
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=268825


Andrey Batyiev <batyiev@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |batyiev@gmail.com




--- Comment #4 from Andrey Batyiev <batyiev gmail com>  2011-07-29 00:51:47 ---
Hello

I'm not sure this is right bug (because there is no particular sequence of
actions described), yet DrKonqi said it related.

So, my steps to reproduce:
1. load two projects
2. ensure they both in buildset
3. run compile
4. while first project is not compiled:
4.1. remove it from buildset
4.2. press stop button (maybe twice?)
5. crash

David, is this related to your report?

KDevelop 4.2.3, KDevPlatform 1.2.3, Gentoo Linux

Valgrind produced following output (notice last message - imho it looks like
calling virtual method on destroyed object):

==4629== Invalid read of size 4
==4629==    at 0x413D91F: KJob::capabilities() const (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x42CE1F1: KDevelop::RunController::stopAllProcesses() (in
/usr/lib/libkdevplatformshell.so.3.0.0)
==4629==    by 0x42D03CB:
KDevelop::RunController::qt_metacall(QMetaObject::Call, int, void**) (in
/usr/lib/libkdevplatformshell.so.3.0.0)
==4629==    by 0x47BA557: QMetaObject::metacall(QObject*, QMetaObject::Call,
int, void**) (in /usr/lib/qt4/libQtCore.so.4.7.2)
==4629==    by 0x47C8800: QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (in /usr/lib/qt4/libQtCore.so.4.7.2)
==4629==    by 0x49FF95E: QAction::triggered(bool) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4A00BFE: QAction::activate(QAction::ActionEvent) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4D87FDA: QToolButton::nextCheckState() (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4CE2329: QAbstractButtonPrivate::click() (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4CE257B: QAbstractButton::mouseReleaseEvent(QMouseEvent*) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4D88E1A: QToolButton::mouseReleaseEvent(QMouseEvent*) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4A4C2A6: QWidget::event(QEvent*) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==  Address 0xb555cf8 is 8 bytes inside a block of size 80 free'd
==4629==    at 0x40252B2: operator delete(void*) (vg_replace_malloc.c:387)
==4629==    by 0xF985E31: CMakeJob::~CMakeJob() (in
/usr/lib/kde4/kdevcmakebuilder.so)
==4629==    by 0x413D754: void qDeleteAll<QList<KJob*> >(QList<KJob*> const&)
(in /usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413D564: KCompositeJobPrivate::~KCompositeJobPrivate() (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413E993: KJob::~KJob() (in /usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413D48B: KCompositeJob::~KCompositeJob() (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0xF986527: ConfigureAndBuildJob::~ConfigureAndBuildJob() (in
/usr/lib/kde4/kdevcmakebuilder.so)
==4629==    by 0x413D754: void qDeleteAll<QList<KJob*> >(QList<KJob*> const&)
(in /usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413D564: KCompositeJobPrivate::~KCompositeJobPrivate() (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413E993: KJob::~KJob() (in /usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413D48B: KCompositeJob::~KCompositeJob() (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x10B8FFA4: BuildItemBuilderJob::~BuildItemBuilderJob() (in
/usr/lib/kde4/kdevprojectmanagerview.so)
==4629== 
==4629== Invalid read of size 4
==4629==    at 0x413D922: KJob::capabilities() const (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x42CE1F1: KDevelop::RunController::stopAllProcesses() (in
/usr/lib/libkdevplatformshell.so.3.0.0)
==4629==    by 0x42D03CB:
KDevelop::RunController::qt_metacall(QMetaObject::Call, int, void**) (in
/usr/lib/libkdevplatformshell.so.3.0.0)
==4629==    by 0x47BA557: QMetaObject::metacall(QObject*, QMetaObject::Call,
int, void**) (in /usr/lib/qt4/libQtCore.so.4.7.2)
==4629==    by 0x47C8800: QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (in /usr/lib/qt4/libQtCore.so.4.7.2)
==4629==    by 0x49FF95E: QAction::triggered(bool) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4A00BFE: QAction::activate(QAction::ActionEvent) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4D87FDA: QToolButton::nextCheckState() (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4CE2329: QAbstractButtonPrivate::click() (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4CE257B: QAbstractButton::mouseReleaseEvent(QMouseEvent*) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4D88E1A: QToolButton::mouseReleaseEvent(QMouseEvent*) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4A4C2A6: QWidget::event(QEvent*) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==  Address 0xb548728 is 40 bytes inside a block of size 60 free'd
==4629==    at 0x40252B2: operator delete(void*) (vg_replace_malloc.c:387)
==4629==    by 0x413EA75: KJobPrivate::~KJobPrivate() (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413E993: KJob::~KJob() (in /usr/lib/libkdecore.so.5.6.0)
==4629==    by 0xF985DFA: KDevelop::OutputJob::~OutputJob() (in
/usr/lib/kde4/kdevcmakebuilder.so)
==4629==    by 0xF985E29: CMakeJob::~CMakeJob() (in
/usr/lib/kde4/kdevcmakebuilder.so)
==4629==    by 0x413D754: void qDeleteAll<QList<KJob*> >(QList<KJob*> const&)
(in /usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413D564: KCompositeJobPrivate::~KCompositeJobPrivate() (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413E993: KJob::~KJob() (in /usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413D48B: KCompositeJob::~KCompositeJob() (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0xF986527: ConfigureAndBuildJob::~ConfigureAndBuildJob() (in
/usr/lib/kde4/kdevcmakebuilder.so)
==4629==    by 0x413D754: void qDeleteAll<QList<KJob*> >(QList<KJob*> const&)
(in /usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413D564: KCompositeJobPrivate::~KCompositeJobPrivate() (in
/usr/lib/libkdecore.so.5.6.0)
==4629== 
==4629== Invalid read of size 4
==4629==    at 0x413E184: KJob::kill(KJob::KillVerbosity) (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x42CE206: KDevelop::RunController::stopAllProcesses() (in
/usr/lib/libkdevplatformshell.so.3.0.0)
==4629==    by 0x42D03CB:
KDevelop::RunController::qt_metacall(QMetaObject::Call, int, void**) (in
/usr/lib/libkdevplatformshell.so.3.0.0)
==4629==    by 0x47BA557: QMetaObject::metacall(QObject*, QMetaObject::Call,
int, void**) (in /usr/lib/qt4/libQtCore.so.4.7.2)
==4629==    by 0x47C8800: QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (in /usr/lib/qt4/libQtCore.so.4.7.2)
==4629==    by 0x49FF95E: QAction::triggered(bool) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4A00BFE: QAction::activate(QAction::ActionEvent) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4D87FDA: QToolButton::nextCheckState() (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4CE2329: QAbstractButtonPrivate::click() (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4CE257B: QAbstractButton::mouseReleaseEvent(QMouseEvent*) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4D88E1A: QToolButton::mouseReleaseEvent(QMouseEvent*) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==    by 0x4A4C2A6: QWidget::event(QEvent*) (in
/usr/lib/qt4/libQtGui.so.4.7.2)
==4629==  Address 0xb555cf0 is 0 bytes inside a block of size 80 free'd
==4629==    at 0x40252B2: operator delete(void*) (vg_replace_malloc.c:387)
==4629==    by 0xF985E31: CMakeJob::~CMakeJob() (in
/usr/lib/kde4/kdevcmakebuilder.so)
==4629==    by 0x413D754: void qDeleteAll<QList<KJob*> >(QList<KJob*> const&)
(in /usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413D564: KCompositeJobPrivate::~KCompositeJobPrivate() (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413E993: KJob::~KJob() (in /usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413D48B: KCompositeJob::~KCompositeJob() (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0xF986527: ConfigureAndBuildJob::~ConfigureAndBuildJob() (in
/usr/lib/kde4/kdevcmakebuilder.so)
==4629==    by 0x413D754: void qDeleteAll<QList<KJob*> >(QList<KJob*> const&)
(in /usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413D564: KCompositeJobPrivate::~KCompositeJobPrivate() (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413E993: KJob::~KJob() (in /usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x413D48B: KCompositeJob::~KCompositeJob() (in
/usr/lib/libkdecore.so.5.6.0)
==4629==    by 0x10B8FFA4: BuildItemBuilderJob::~BuildItemBuilderJob() (in
/usr/lib/kde4/kdevprojectmanagerview.so)
==4629== 
vex x86->IR: unhandled instruction bytes: 0xC8 0x52 0x5 0x8
==4629== valgrind: Unrecognised instruction at address 0x48c74a8.
==4629== Your program just tried to execute an instruction that Valgrind
==4629== did not recognise.  There are two possible reasons for this.
==4629== 1. Your program has a bug and erroneously jumped to a non-code
==4629==    location.  If you are running Memcheck and you just saw a
==4629==    warning about a bad jump, it's probably your program's fault.
==4629== 2. The instruction is legitimate but Valgrind doesn't handle it,
==4629==    i.e. it's Valgrind's fault.  If you think this is the case or
==4629==    you are not sure, please let us know and we'll try to fix it.
==4629== Either way, Valgrind will now raise a SIGILL signal which will
==4629== probably kill your program.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

_______________________________________________
KDevelop-bugs mailing list
KDevelop-bugs@kdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-bugs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic