Summary: | Crash after BuilderJob::addJob (backtrace) | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Thorben Kröger <thorbenk> |
Component: | general | Assignee: | Andreas Pakulat <apaku> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | kdevelop-bugs-null, thorbenk |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Thorben Kröger
2009-02-26 20:14:46 UTC
Qt bug, please report at http://www.qtsoftware.com/developer/task-tracker Bug report has been filed in Qt's bug tracker (hasn't appeared there yet though). I recently got that crash again; if it shows up once more, maybe Iĺl have time to bug someone on #qt about it ;-) I tried to reproduce this bug while running kdevelop in valgrind, this is what I got: ==26642== Memcheck, a memory error detector. ==26642== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. ==26642== Using LibVEX rev 1854, a library for dynamic binary translation. ==26642== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==26642== Using valgrind-3.3.1, a dynamic binary instrumentation framework. ==26642== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==26642== For more details, rerun with: -v ==26642== ==26642== My PID = 26642, parent PID = 20102. Prog and args are: ==26642== kdevelop ==26642== ==26642== Conditional jump or move depends on uninitialised value(s) ==26642== at 0x4FF8FFE: QFSFileEngine::fileName(QAbstractFileEngine::FileName) const (qfsfileengine_unix.cpp:760) ==26642== by 0x4FBE178: QFileInfoPrivate::getFileName(QAbstractFileEngine::FileName) const (qfileinfo.cpp:197) ==26642== by 0x4FBE253: QFileInfo::readLink() const (qfileinfo.cpp:1130) ==26642== by 0x4FB93D1: QFile::readLink(QString const&) (qfile.cpp:628) ==26642== by 0x62334DD: QFile::symLinkTarget(QString const&) (qfile.h:124) ==26642== by 0x62327DB: _k_resolveSymLink(QString const&) (halfstabhandling.cpp:49) ==26642== by 0x6232AAE: _k_updateMountPointsCache() (halfstabhandling.cpp:121) ==26642== by 0x6232BA1: Solid::Backends::Hal::FstabHandling::possibleMountPoints(QString const&) (halfstabhandling.cpp:141) ==26642== by 0x623FBA0: Solid::Backends::Hal::StorageAccess::filePath() const (halstorageaccess.cpp:85) ==26642== by 0x6241C4E: Solid::Backends::Hal::Volume::isIgnored() const (halvolume.cpp:48) ==26642== by 0x62098B5: Solid::StorageVolume::isIgnored() const (storagevolume.cpp:45) ==26642== by 0x620994B: Solid::StorageVolume::qt_metacall(QMetaObject::Call, int, void**) (storagevolume.moc:88) ==26642== ==26642== Conditional jump or move depends on uninitialised value(s) ==26642== at 0x5459DE6: _ZL11PtsToRegioniiP11_POINTBLOCKP14QRegionPrivate (qregion.cpp:3353) ==26642== by 0x545AAD3: _ZL13PolygonRegionPK6QPointii (qregion.cpp:3560) ==26642== by 0x545ABE4: QRegion::QRegion(QPolygon const&, Qt::FillRule) (qregion.cpp:3689) ==26642== by 0x54EFB7D: QX11PaintEngine::updateState(QPaintEngineState const&) (qpaintengine_x11.cpp:1048) ==26642== by 0x54069F7: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:891) ==26642== by 0x5406BE2: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:919) ==26642== by 0x5407C60: QPainter::setClipRegion(QRegion const&, Qt::ClipOperation) (qpainter.cpp:2654) ==26642== by 0x5787474: QMenu::paintEvent(QPaintEvent*) (qmenu.cpp:2163) ==26642== by 0x53313C2: QWidget::event(QEvent*) (qwidget.cpp:7649) ==26642== by 0x578D00E: QMenu::event(QEvent*) (qmenu.cpp:2346) ==26642== by 0x52CFF1C: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4051) ==26642== by 0x52D1DD6: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4016) ==26642== ==26642== Conditional jump or move depends on uninitialised value(s) ==26642== at 0x5459DE6: _ZL11PtsToRegioniiP11_POINTBLOCKP14QRegionPrivate (qregion.cpp:3353) ==26642== by 0x545AAD3: _ZL13PolygonRegionPK6QPointii (qregion.cpp:3560) ==26642== by 0x545ABE4: QRegion::QRegion(QPolygon const&, Qt::FillRule) (qregion.cpp:3689) ==26642== by 0x54EFEF4: QX11PaintEngine::updateState(QPaintEngineState const&) (qpaintengine_x11.cpp:1066) ==26642== by 0x54069F7: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:891) ==26642== by 0x5406BE2: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:919) ==26642== by 0x5407C60: QPainter::setClipRegion(QRegion const&, Qt::ClipOperation) (qpainter.cpp:2654) ==26642== by 0x5787474: QMenu::paintEvent(QPaintEvent*) (qmenu.cpp:2163) ==26642== by 0x53313C2: QWidget::event(QEvent*) (qwidget.cpp:7649) ==26642== by 0x578D00E: QMenu::event(QEvent*) (qmenu.cpp:2346) ==26642== by 0x52CFF1C: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4051) ==26642== by 0x52D1DD6: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4016) ==26642== ==26642== Thread 3: ==26642== Syscall param write(buf) points to uninitialised byte(s) ==26642== at 0x4000832: (within /lib/ld-2.9.so) ==26642== by 0x5C4ADE2: (within /lib/libc-2.9.so) ==26642== by 0x5C4B0E5: _IO_do_write (in /lib/libc-2.9.so) ==26642== by 0x5C4BB79: _IO_file_sync (in /lib/libc-2.9.so) ==26642== by 0x5C3F5D5: fflush (in /lib/libc-2.9.so) ==26642== by 0x4FF2D4A: QFSFileEnginePrivate::flushFh() (qfsfileengine.cpp:454) ==26642== by 0x4FFACE8: QFSFileEnginePrivate::nativeFlush() (qfsfileengine_unix.cpp:238) ==26642== by 0x4FF2E42: QFSFileEngine::flush() (qfsfileengine.cpp:439) ==26642== by 0x4FB9A5F: QFile::flush() (qfile.cpp:1338) ==26642== by 0x4FBCFD6: QFilePrivate::ensureFlushed() const (qfile.cpp:136) ==26642== by 0x4FB9CE0: QFile::size() const (qfile.cpp:1378) ==26642== by 0x5FDF31F: KDevelop::TopDUContextDynamicData::store() (topducontextdynamicdata.cpp:486) ==26642== Address 0x5101081 is not stack'd, malloc'd or (recently) free'd ==26642== ==26642== Thread 4: ==26642== Conditional jump or move depends on uninitialised value(s) ==26642== at 0x10208E36: CMakeProjectVisitor::visit(GetCMakePropertyAst const*) (cmakeprojectvisitor.cpp:1691) ==26642== by 0x101FFE5E: GetCMakePropertyAst::accept(CMakeAstVisitor*) const (cmakeast.h:409) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== by 0x1021A362: CMakeProjectVisitor::visit(IfAst const*) (cmakeprojectvisitor.cpp:1123) ==26642== by 0x101FFF30: IfAst::accept(CMakeAstVisitor*) const (cmakeast.h:451) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== by 0x1021A362: CMakeProjectVisitor::visit(IfAst const*) (cmakeprojectvisitor.cpp:1123) ==26642== by 0x101FFF30: IfAst::accept(CMakeAstVisitor*) const (cmakeast.h:451) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== by 0x10219625: CMakeProjectVisitor::visit(IncludeAst const*) (cmakeprojectvisitor.cpp:467) ==26642== by 0x101FFF52: IncludeAst::accept(CMakeAstVisitor*) const (cmakeast.h:457) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== ==26642== Conditional jump or move depends on uninitialised value(s) ==26642== at 0x10208E40: CMakeProjectVisitor::visit(GetCMakePropertyAst const*) (cmakeprojectvisitor.cpp:1691) ==26642== by 0x101FFE5E: GetCMakePropertyAst::accept(CMakeAstVisitor*) const (cmakeast.h:409) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== by 0x1021A362: CMakeProjectVisitor::visit(IfAst const*) (cmakeprojectvisitor.cpp:1123) ==26642== by 0x101FFF30: IfAst::accept(CMakeAstVisitor*) const (cmakeast.h:451) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== by 0x1021A362: CMakeProjectVisitor::visit(IfAst const*) (cmakeprojectvisitor.cpp:1123) ==26642== by 0x101FFF30: IfAst::accept(CMakeAstVisitor*) const (cmakeast.h:451) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== by 0x10219625: CMakeProjectVisitor::visit(IncludeAst const*) (cmakeprojectvisitor.cpp:467) ==26642== by 0x101FFF52: IncludeAst::accept(CMakeAstVisitor*) const (cmakeast.h:457) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== ==26642== Conditional jump or move depends on uninitialised value(s) ==26642== at 0x10208E46: CMakeProjectVisitor::visit(GetCMakePropertyAst const*) (cmakeprojectvisitor.cpp:1691) ==26642== by 0x101FFE5E: GetCMakePropertyAst::accept(CMakeAstVisitor*) const (cmakeast.h:409) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== by 0x1021A362: CMakeProjectVisitor::visit(IfAst const*) (cmakeprojectvisitor.cpp:1123) ==26642== by 0x101FFF30: IfAst::accept(CMakeAstVisitor*) const (cmakeast.h:451) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== by 0x1021A362: CMakeProjectVisitor::visit(IfAst const*) (cmakeprojectvisitor.cpp:1123) ==26642== by 0x101FFF30: IfAst::accept(CMakeAstVisitor*) const (cmakeast.h:451) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== by 0x10219625: CMakeProjectVisitor::visit(IncludeAst const*) (cmakeprojectvisitor.cpp:467) ==26642== by 0x101FFF52: IncludeAst::accept(CMakeAstVisitor*) const (cmakeast.h:457) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== ==26642== Thread 1: ==26642== Conditional jump or move depends on uninitialised value(s) ==26642== at 0x5D43449: (within /lib/libz.so.1.2.3) ==26642== by 0x5D43CEE: (within /lib/libz.so.1.2.3) ==26642== by 0x5D447EC: deflate (in /lib/libz.so.1.2.3) ==26642== by 0x5D40F37: compress2 (in /lib/libz.so.1.2.3) ==26642== by 0x4F3012E: qCompress(unsigned char const*, int, int) (qbytearray.cpp:463) ==26642== by 0x4D2BF20: KPixmapCache::Private::writeData(QString const&, QPixmap const&) (kpixmapcache.cpp:1435) ==26642== by 0x4D2C9AE: KPixmapCache::insert(QString const&, QPixmap const&) (kpixmapcache.cpp:1400) ==26642== by 0x4C7B208: KIconCache::insert(QString const&, QPixmap const&) (kiconcache.cpp:298) ==26642== by 0x4C7B1C5: KIconCache::insert(QString const&, QPixmap const&, QString const&) (kiconcache.cpp:285) ==26642== by 0x4C702A0: KIconLoader::loadIcon(QString const&, KIconLoader::Group, int, int, QStringList const&, QString*, bool) const (kiconloader.cpp:1320) ==26642== by 0x4C69AEB: KIconEngine::pixmap(QSize const&, QIcon::Mode, QIcon::State) (kiconengine.cpp:119) ==26642== by 0x537FBCA: QIcon::pixmap(QSize const&, QIcon::Mode, QIcon::State) const (qicon.cpp:708) ==26642== ==26642== Conditional jump or move depends on uninitialised value(s) ==26642== at 0x5D4340D: (within /lib/libz.so.1.2.3) ==26642== by 0x5D43CEE: (within /lib/libz.so.1.2.3) ==26642== by 0x5D447EC: deflate (in /lib/libz.so.1.2.3) ==26642== by 0x5D40F37: compress2 (in /lib/libz.so.1.2.3) ==26642== by 0x4F3012E: qCompress(unsigned char const*, int, int) (qbytearray.cpp:463) ==26642== by 0x4D2BF20: KPixmapCache::Private::writeData(QString const&, QPixmap const&) (kpixmapcache.cpp:1435) ==26642== by 0x4D2C9AE: KPixmapCache::insert(QString const&, QPixmap const&) (kpixmapcache.cpp:1400) ==26642== by 0x4C7B208: KIconCache::insert(QString const&, QPixmap const&) (kiconcache.cpp:298) ==26642== by 0x4C7B1C5: KIconCache::insert(QString const&, QPixmap const&, QString const&) (kiconcache.cpp:285) ==26642== by 0x4C702A0: KIconLoader::loadIcon(QString const&, KIconLoader::Group, int, int, QStringList const&, QString*, bool) const (kiconloader.cpp:1320) ==26642== by 0x4C69AEB: KIconEngine::pixmap(QSize const&, QIcon::Mode, QIcon::State) (kiconengine.cpp:119) ==26642== by 0x537FBCA: QIcon::pixmap(QSize const&, QIcon::Mode, QIcon::State) const (qicon.cpp:708) ==26642== ==26642== Thread 3: ==26642== Syscall param write(buf) points to uninitialised byte(s) ==26642== at 0x4000832: (within /lib/ld-2.9.so) ==26642== by 0x5C4ADE2: (within /lib/libc-2.9.so) ==26642== by 0x5C4B07D: _IO_file_xsputn (in /lib/libc-2.9.so) ==26642== by 0x5C407C9: fwrite (in /lib/libc-2.9.so) ==26642== by 0x4FF1DD7: QFSFileEnginePrivate::writeFdFh(char const*, long long) (qfsfileengine.cpp:753) ==26642== by 0x4FFA915: QFSFileEnginePrivate::nativeWrite(char const*, long long) (qfsfileengine_unix.cpp:318) ==26642== by 0x4FF1FE0: QFSFileEngine::write(char const*, long long) (qfsfileengine.cpp:734) ==26642== by 0x4FB9FD3: QFile::writeData(char const*, long long) (qfile.cpp:1573) ==26642== by 0x4FC0EA6: QIODevice::write(char const*, long long) (qiodevice.cpp:1261) ==26642== by 0x602357D: KDevelop::Bucket<KDevelop::UsesItem, KDevelop::UsesRequestItem, KDevelop::NoDynamicData, 0>::store(QFile*, unsigned) (itemrepository.h:342) ==26642== by 0x6023637: KDevelop::ItemRepository<KDevelop::UsesItem, KDevelop::UsesRequestItem, KDevelop::NoDynamicData, true, 0, 524288>::storeBucket(unsigned) const (itemrepository.h:2180) ==26642== by 0x6023785: KDevelop::ItemRepository<KDevelop::UsesItem, KDevelop::UsesRequestItem, KDevelop::NoDynamicData, true, 0, 524288>::store() (itemrepository.h:1779) ==26642== Address 0xcf99699 is 21,473 bytes inside a block of size 65,536 alloc'd ==26642== at 0x402710E: operator new[](unsigned) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==26642== by 0x6022083: KDevelop::Bucket<KDevelop::UsesItem, KDevelop::UsesRequestItem, KDevelop::NoDynamicData, 0>::initialize(unsigned) (itemrepository.h:291) ==26642== by 0x6022202: KDevelop::Bucket<KDevelop::UsesItem, KDevelop::UsesRequestItem, KDevelop::NoDynamicData, 0>::initialize(QFile*, unsigned) (itemrepository.h:310) ==26642== by 0x6022470: KDevelop::ItemRepository<KDevelop::UsesItem, KDevelop::UsesRequestItem, KDevelop::NoDynamicData, true, 0, 524288>::initializeBucket(unsigned) const (itemrepository.h:2159) ==26642== by 0x6022D37: KDevelop::ItemRepository<KDevelop::UsesItem, KDevelop::UsesRequestItem, KDevelop::NoDynamicData, true, 0, 524288>::findIndex(KDevelop::UsesRequestItem const&) (itemrepository.h:1402) ==26642== by 0x601FE9D: KDevelop::Uses::addUse(KDevelop::DeclarationId const&, KDevelop::IndexedTopDUContext const&) (uses.cpp:122) ==26642== by 0x5FCD8A6: KDevelop::TopDUContext::indexForUsedDeclaration(KDevelop::Declaration*, bool) (topducontext.cpp:1535) ==26642== by 0x10213962: CMakeProjectVisitor::createUses(CMakeFunctionDesc const&) (cmakeprojectvisitor.cpp:1969) ==26642== by 0x1021556A: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1888) ==26642== by 0x1021A362: CMakeProjectVisitor::visit(IfAst const*) (cmakeprojectvisitor.cpp:1123) ==26642== by 0x101FFF30: IfAst::accept(CMakeAstVisitor*) const (cmakeast.h:451) ==26642== by 0x10215932: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1915) ==26642== ==26642== Syscall param write(buf) points to uninitialised byte(s) ==26642== at 0x4000832: (within /lib/ld-2.9.so) ==26642== by 0x5C4ADE2: (within /lib/libc-2.9.so) ==26642== by 0x5C4B0E5: _IO_do_write (in /lib/libc-2.9.so) ==26642== by 0x5C4BCAF: _IO_file_overflow (in /lib/libc-2.9.so) ==26642== by 0x5C4AF1C: _IO_file_xsputn (in /lib/libc-2.9.so) ==26642== by 0x5C407C9: fwrite (in /lib/libc-2.9.so) ==26642== by 0x4FF1DD7: QFSFileEnginePrivate::writeFdFh(char const*, long long) (qfsfileengine.cpp:753) ==26642== by 0x4FFA915: QFSFileEnginePrivate::nativeWrite(char const*, long long) (qfsfileengine_unix.cpp:318) ==26642== by 0x4FF1FE0: QFSFileEngine::write(char const*, long long) (qfsfileengine.cpp:734) ==26642== by 0x4FB9FD3: QFile::writeData(char const*, long long) (qfile.cpp:1573) ==26642== by 0x4FC0EA6: QIODevice::write(char const*, long long) (qiodevice.cpp:1261) ==26642== by 0x602357D: KDevelop::Bucket<KDevelop::UsesItem, KDevelop::UsesRequestItem, KDevelop::NoDynamicData, 0>::store(QFile*, unsigned) (itemrepository.h:342) ==26642== Address 0x51017e1 is not stack'd, malloc'd or (recently) free'd ==26642== ==26642== Thread 1: ==26642== Conditional jump or move depends on uninitialised value(s) ==26642== at 0x649203D: FT_Set_Charmap (in /usr/lib/libfreetype.so.6.3.18) ==26642== by 0x55DCD20: QFontEngineFT::stringToCMap(QChar const*, int, QGlyphLayout*, int*, QFlags<QTextEngine::ShaperFlag>) const (qfontengine_ft.cpp:1521) ==26642== by 0x550E46D: QFontEngineMulti::stringToCMap(QChar const*, int, QGlyphLayout*, int*, QFlags<QTextEngine::ShaperFlag>) const (qfontengine.cpp:1290) ==26642== by 0x553E9D6: _ZL14stringToGlyphsP13HB_ShaperItemP12QGlyphLayoutP11QFontEngine (qtextengine.cpp:818) ==26642== by 0x55424FE: QTextEngine::shapeTextWithHarfbuzz(int) const (qtextengine.cpp:1143) ==26642== by 0x5542E39: QTextEngine::shapeText(int) const (qtextengine.cpp:867) ==26642== by 0x5543398: QTextEngine::shape(int) const (qtextengine.cpp:1334) ==26642== by 0x554BBBF: QTextLine::layout_helper(int) (qtextlayout.cpp:1636) ==26642== by 0x554CB29: QTextLine::setLineWidth(double) (qtextlayout.cpp:1510) ==26642== by 0x558CDA0: QTextDocumentLayoutPrivate::layoutBlock(QTextBlock const&, int, QTextBlockFormat const&, QLayoutStruct*, int, int, QTextBlockFormat const*) (qtextdocumentlayout.cpp:2580) ==26642== by 0x558F03B: QTextDocumentLayoutPrivate::layoutFlow(QTextFrame::iterator, QLayoutStruct*, int, int, QFixed) (qtextdocumentlayout.cpp:2383) ==26642== by 0x5593912: QTextDocumentLayoutPrivate::layoutFrame(QTextFrame*, int, int, QFixed, QFixed, QFixed) (qtextdocumentlayout.cpp:2128) ==26642== ==26642== Invalid read of size 4 ==26642== at 0x5035C63: QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) (qobject.cpp:2416) ==26642== by 0x40F8DC2: QObject::connect(QObject const*, char const*, char const*, Qt::ConnectionType) const (qobject.h:303) ==26642== by 0x41066E9: KCompositeJob::addSubjob(KJob*) (kcompositejob.cpp:57) ==26642== by 0x10256BD8: BuilderJob::addJob(BuilderJob::BuildType, KDevelop::ProjectBaseItem*) (builderjob.cpp:61) ==26642== by 0x10257027: BuilderJob::BuilderJob(BuilderJob::BuildType, QList<BuildItem> const&) (builderjob.cpp:70) ==26642== by 0x10245452: ProjectManagerViewPlugin::runBuilderJob(BuilderJob::BuildType) (projectmanagerviewplugin.cpp:361) ==26642== by 0x10245576: ProjectManagerViewPlugin::buildProjectItems() (projectmanagerviewplugin.cpp:391) ==26642== by 0x10247047: ProjectManagerViewPlugin::qt_metacall(QMetaObject::Call, int, void**) (projectmanagerviewplugin.moc:105) ==26642== by 0x503462A: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3061) ==26642== by 0x503485B: QMetaObject::activate(QObject*, QMetaObject const*, int, int, void**) (qobject.cpp:3156) ==26642== by 0x52C7D59: QAction::triggered(bool) (moc_qaction.cpp:236) ==26642== by 0x52C9A67: QAction::activate(QAction::ActionEvent) (qaction.cpp:1155) ==26642== Address 0x9fe3300 is 0 bytes inside a block of size 92 free'd ==26642== at 0x402679A: operator delete(void*) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==26642== by 0xFFF9599: MakeJob::~MakeJob() (makejob.h:41) ==26642== by 0x4106CC0: void qDeleteAll<QList<KJob*>::const_iterator>(QList<KJob*>::const_iterator, QList<KJob*>::const_iterator) (qalgorithms.h:345) ==26642== by 0x4106D25: void qDeleteAll<QList<KJob*> >(QList<KJob*> const&) (qalgorithms.h:353) ==26642== by 0x41068BB: KCompositeJobPrivate::~KCompositeJobPrivate() (kcompositejob.cpp:29) ==26642== by 0x4108803: KJob::~KJob() (kjob.cpp:69) ==26642== by 0x41067F2: KCompositeJob::~KCompositeJob() (kcompositejob.cpp:44) ==26642== by 0x1025722F: BuilderJob::~BuilderJob() (builderjob.h:39) ==26642== by 0x502DF96: qDeleteInEventHandler(QObject*) (qobject.cpp:3764) ==26642== by 0x503246B: QObject::event(QEvent*) (qobject.cpp:1096) ==26642== by 0x52CFF1C: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4051) ==26642== by 0x52D0271: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3598) ==26642== ==26642== Invalid read of size 4 ==26642== at 0x5030415: _ZL19err_method_notfoundPK7QObjectPKcS3_ (qobject.cpp:2210) ==26642== by 0x5035D17: QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) (qobject.cpp:2427) ==26642== by 0x40F8DC2: QObject::connect(QObject const*, char const*, char const*, Qt::ConnectionType) const (qobject.h:303) ==26642== by 0x41066E9: KCompositeJob::addSubjob(KJob*) (kcompositejob.cpp:57) ==26642== by 0x10256BD8: BuilderJob::addJob(BuilderJob::BuildType, KDevelop::ProjectBaseItem*) (builderjob.cpp:61) ==26642== by 0x10257027: BuilderJob::BuilderJob(BuilderJob::BuildType, QList<BuildItem> const&) (builderjob.cpp:70) ==26642== by 0x10245452: ProjectManagerViewPlugin::runBuilderJob(BuilderJob::BuildType) (projectmanagerviewplugin.cpp:361) ==26642== by 0x10245576: ProjectManagerViewPlugin::buildProjectItems() (projectmanagerviewplugin.cpp:391) ==26642== by 0x10247047: ProjectManagerViewPlugin::qt_metacall(QMetaObject::Call, int, void**) (projectmanagerviewplugin.moc:105) ==26642== by 0x503462A: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3061) ==26642== by 0x503485B: QMetaObject::activate(QObject*, QMetaObject const*, int, int, void**) (qobject.cpp:3156) ==26642== by 0x52C7D59: QAction::triggered(bool) (moc_qaction.cpp:236) ==26642== Address 0x9fe3300 is 0 bytes inside a block of size 92 free'd ==26642== at 0x402679A: operator delete(void*) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==26642== by 0xFFF9599: MakeJob::~MakeJob() (makejob.h:41) ==26642== by 0x4106CC0: void qDeleteAll<QList<KJob*>::const_iterator>(QList<KJob*>::const_iterator, QList<KJob*>::const_iterator) (qalgorithms.h:345) ==26642== by 0x4106D25: void qDeleteAll<QList<KJob*> >(QList<KJob*> const&) (qalgorithms.h:353) ==26642== by 0x41068BB: KCompositeJobPrivate::~KCompositeJobPrivate() (kcompositejob.cpp:29) ==26642== by 0x4108803: KJob::~KJob() (kjob.cpp:69) ==26642== by 0x41067F2: KCompositeJob::~KCompositeJob() (kcompositejob.cpp:44) ==26642== by 0x1025722F: BuilderJob::~BuilderJob() (builderjob.h:39) ==26642== by 0x502DF96: qDeleteInEventHandler(QObject*) (qobject.cpp:3764) ==26642== by 0x503246B: QObject::event(QEvent*) (qobject.cpp:1096) ==26642== by 0x52CFF1C: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4051) ==26642== by 0x52D0271: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3598) ==26642== ==26642== Invalid read of size 4 ==26642== at 0x5036172: QObject::d_func() const (qobject.h:113) ==26642== by 0x502ED98: QObject::objectName() const (qobject.cpp:980) ==26642== by 0x502F658: _ZL22err_info_about_objectsPKcPK7QObjectS3_ (qobject.cpp:2219) ==26642== by 0x5035D33: QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) (qobject.cpp:2428) ==26642== by 0x40F8DC2: QObject::connect(QObject const*, char const*, char const*, Qt::ConnectionType) const (qobject.h:303) ==26642== by 0x41066E9: KCompositeJob::addSubjob(KJob*) (kcompositejob.cpp:57) ==26642== by 0x10256BD8: BuilderJob::addJob(BuilderJob::BuildType, KDevelop::ProjectBaseItem*) (builderjob.cpp:61) ==26642== by 0x10257027: BuilderJob::BuilderJob(BuilderJob::BuildType, QList<BuildItem> const&) (builderjob.cpp:70) ==26642== by 0x10245452: ProjectManagerViewPlugin::runBuilderJob(BuilderJob::BuildType) (projectmanagerviewplugin.cpp:361) ==26642== by 0x10245576: ProjectManagerViewPlugin::buildProjectItems() (projectmanagerviewplugin.cpp:391) ==26642== by 0x10247047: ProjectManagerViewPlugin::qt_metacall(QMetaObject::Call, int, void**) (projectmanagerviewplugin.moc:105) ==26642== by 0x503462A: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3061) ==26642== Address 0x9fe3304 is 4 bytes inside a block of size 92 free'd ==26642== at 0x402679A: operator delete(void*) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==26642== by 0xFFF9599: MakeJob::~MakeJob() (makejob.h:41) ==26642== by 0x4106CC0: void qDeleteAll<QList<KJob*>::const_iterator>(QList<KJob*>::const_iterator, QList<KJob*>::const_iterator) (qalgorithms.h:345) ==26642== by 0x4106D25: void qDeleteAll<QList<KJob*> >(QList<KJob*> const&) (qalgorithms.h:353) ==26642== by 0x41068BB: KCompositeJobPrivate::~KCompositeJobPrivate() (kcompositejob.cpp:29) ==26642== by 0x4108803: KJob::~KJob() (kjob.cpp:69) ==26642== by 0x41067F2: KCompositeJob::~KCompositeJob() (kcompositejob.cpp:44) ==26642== by 0x1025722F: BuilderJob::~BuilderJob() (builderjob.h:39) ==26642== by 0x502DF96: qDeleteInEventHandler(QObject*) (qobject.cpp:3764) ==26642== by 0x503246B: QObject::event(QEvent*) (qobject.cpp:1096) ==26642== by 0x52CFF1C: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4051) ==26642== by 0x52D0271: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3598) ==26642== ==26642== Invalid read of size 4 ==26642== at 0x4F1813F: QString::QString(QString const&) (qstring.h:706) ==26642== by 0x502EDAF: QObject::objectName() const (qobject.cpp:981) ==26642== by 0x502F658: _ZL22err_info_about_objectsPKcPK7QObjectS3_ (qobject.cpp:2219) ==26642== by 0x5035D33: QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) (qobject.cpp:2428) ==26642== by 0x40F8DC2: QObject::connect(QObject const*, char const*, char const*, Qt::ConnectionType) const (qobject.h:303) ==26642== by 0x41066E9: KCompositeJob::addSubjob(KJob*) (kcompositejob.cpp:57) ==26642== by 0x10256BD8: BuilderJob::addJob(BuilderJob::BuildType, KDevelop::ProjectBaseItem*) (builderjob.cpp:61) ==26642== by 0x10257027: BuilderJob::BuilderJob(BuilderJob::BuildType, QList<BuildItem> const&) (builderjob.cpp:70) ==26642== by 0x10245452: ProjectManagerViewPlugin::runBuilderJob(BuilderJob::BuildType) (projectmanagerviewplugin.cpp:361) ==26642== by 0x10245576: ProjectManagerViewPlugin::buildProjectItems() (projectmanagerviewplugin.cpp:391) ==26642== by 0x10247047: ProjectManagerViewPlugin::qt_metacall(QMetaObject::Call, int, void**) (projectmanagerviewplugin.moc:105) ==26642== by 0x503462A: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3061) ==26642== Address 0x34 is not stack'd, malloc'd or (recently) free'd ==26642== Warning: invalid file descriptor -1 in syscall write() ==26642== Warning: invalid file descriptor -1 in syscall write() ==26642== Warning: invalid file descriptor -1 in syscall read() Hmm, I might have been wrong about this one. The valgrind log looks suspiciously like a too-early-deleted job problem. This seems to be somewhat reproducible: "Add two targets, hit F8 to build them, abort while still building, then immediately hit F8 again." I often realize there is still a syntax error while the build is already happening, so I re-hit F8. Maybe that is why I saw this crash several times today? Note: I'm running kdelibs from trunk. qt-copy with patches applied SVN commit 933075 by apaku: Don't try to re-use kjob's, thats not going to work. No need to keep track of the jobs now anymore, so remove the member. BUG:185640 M +1 -8 makebuilder.cpp M +0 -1 makebuilder.h WebSVN link: http://websvn.kde.org/?view=rev&revision=933075 |