Summary: | Clicking stop causes crash | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | David <daviddoria> |
Component: | Build tools: CMake | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED DUPLICATE | ||
Severity: | crash | CC: | aleixpol, batyiev, danthemanvsqz, daviddoria |
Priority: | NOR | ||
Version: | 4.1.60 | ||
Target Milestone: | 4.2.0 | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
David
2011-03-18 15:47:36 UTC
if you can reproduce this with 4.2 or current master, please run this through valgrind and attach the log Unfortunately it doesn't occur most of the time, so I don't know how to force it to happen on the occasion that I run valgrind. If I can figure out what causes it I'll certainly report back. *** Bug 271320 has been marked as a duplicate of this bug. *** 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. can you reproduce and attach a valgrind log produced with valgrind --track-origins=yes --num-callers=25 kdevelop that would help me tremendously marking as reproducible for the moment Fixed. See patch in upstream bug. *** This bug has been marked as a duplicate of bug 258904 *** |