Version: (using Devel) Compiler: gcc version 4.3.2 [gcc-4_3-branch revision 141291] (SUSE Linux) OS: Linux Installed from: Compiled sources I was building two targets of my application, hit the Cancel Jobs button, made a change to one of the files, and hit F8 again. Attached is the backtrace. I'm using qt-copy a very recent kdelibs. kdevplatform and kdevelop are from today. kdevelop(20136)/kdevelop (cpp support) ContextBuilder::buildProxyContextFromContent: ContextBuilder::buildProxyContextFromContent: recompiling kdevelop(20136)/kdevelop (cpp support) CPPInternalParseJob::run: ===-- Parsing finished --===> "/home/thorben/ms/src/examples/demos/lcms/QtPatchWorker.cpp" QProcess: Destroyed while process is still running. kdevelop(20136)/kdevplatform (usehighlight) ContextBrowserPlugin::showToolTip: not showing tooltip, no navigation-widget kdevelop(20136)/kdevplatform (shell) KDevelop::Project::relativeUrl: Creating relative url between: KUrl("file:///home/thorben/ms/src/") KUrl("file:///home/thorben/ms/src/examples/demos/lcms/") kdevelop(20136)/kdevelop (cmake support) CMakeBuilder::build: Building with make kdevelop(20136)/kdevelop (make builder) MakeBuilder::runMake: running new makejob kdevelop(20136)/kdevplatform (shell) KDevelop::Project::relativeUrl: Creating relative url between: KUrl("file:///home/thorben/ms/src/") KUrl("file:///home/thorben/ms/src/examples/") kdevelop(20136)/kdevelop (cmake support) CMakeBuilder::build: Building with make Program received signal SIGSEGV, Segmentation fault. 0xb7095c65 in QObject::connect (sender=0x962b150, signal=0xb7fa62b8 "2result(KJob*)", receiver=0x80b2508, method=0xb7fa6260 "1slotResult(KJob*)", type=Qt::AutoConnection) at kernel/qobject.cpp:2416 2416 const QMetaObject *smeta = sender->metaObject(); (gdb) bt #0 0xb7095c65 in QObject::connect (sender=0x962b150, signal=0xb7fa62b8 "2result(KJob*)", receiver=0x80b2508, method=0xb7fa6260 "1slotResult(KJob*)", type=Qt::AutoConnection) at kernel/qobject.cpp:2416 #1 0xb7e90dc3 in QObject::connect (this=0x80b2508, asender=0x962b150, asignal=0xb7fa62b8 "2result(KJob*)", amember=0xb7fa6260 "1slotResult(KJob*)", atype=Qt::AutoConnection) at /home/thorben/devel/src/qt-copy/include/QtCore/../../src/corelib/kernel/qobject.h:303 #2 0xb7e9e6ea in KCompositeJob::addSubjob (this=0x80b2508, job=0x962b150) at /home/thorben/devel/src/kdelibs/kdecore/jobs/kcompositejob.cpp:57 #3 0xaee8cbd9 in BuilderJob::addJob (this=0x80b2508, t=BuilderJob::Build, item=0x8f78c20) at /home/thorben/devel/src/kdevplatform/plugins/projectmanagerview/builderjob.cpp:61 #4 0xaee8d028 in BuilderJob (this=0x80b2508, t=BuilderJob::Build, items=@0xbfffd2e0) at /home/thorben/devel/src/kdevplatform/plugins/projectmanagerview/builderjob.cpp:70 #5 0xaee7b453 in ProjectManagerViewPlugin::runBuilderJob (this=0x8623678, t=BuilderJob::Build) at /home/thorben/devel/src/kdevplatform/plugins/projectmanagerview/projectmanagerviewplugin.cpp:361 #6 0xaee7b577 in ProjectManagerViewPlugin::buildProjectItems (this=0x8623678) at /home/thorben/devel/src/kdevplatform/plugins/projectmanagerview/projectmanagerviewplugin.cpp:391 #7 0xaee7d048 in ProjectManagerViewPlugin::qt_metacall (this=0x8623678, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfffd41c) at /home/thorben/devel/build/kdevplatform/plugins/projectmanagerview/projectmanagerviewplugin.moc:105 #8 0xb709462b in QMetaObject::activate (sender=0x84b3858, from_signal_index=5, to_signal_index=6, argv=0xbfffd41c) at kernel/qobject.cpp:3061 #9 0xb709485c in QMetaObject::activate (sender=0x84b3858, m=0xb6e80228, from_local_signal_index=1, to_local_signal_index=2, argv=0xbfffd41c) at kernel/qobject.cpp:3156 #10 0xb66b4d5a in QAction::triggered (this=0x84b3858, _t1=false) at .moc/debug-shared/moc_qaction.cpp:236 #11 0xb66b6a68 in QAction::activate (this=0x84b3858, event=QAction::Trigger) at kernel/qaction.cpp:1155 #12 0xb66b6c07 in QAction::event (this=0x84b3858, e=0xbfffd914) at kernel/qaction.cpp:1074 #13 0xb72857ae in KAction::event (this=0x84b3858, event=0xbfffd914) at /home/thorben/devel/src/kdelibs/kdeui/actions/kaction.cpp:88 #14 0xb66bcf1d in QApplicationPrivate::notify_helper (this=0x80f91d8, receiver=0x84b3858, e=0xbfffd914) at kernel/qapplication.cpp:4051 #15 0xb66bd272 in QApplication::notify (this=0xbfffe858, receiver=0x84b3858, e=0xbfffd914) at kernel/qapplication.cpp:3598 #16 0xb736079d in KApplication::notify (this=0xbfffe858, receiver=0x84b3858, event=0xbfffd914) ---Type <return> to continue, or q <return> to quit--- at /home/thorben/devel/src/kdelibs/kdeui/kernel/kapplication.cpp:307 #17 0xb707e1f7 in QCoreApplication::notifyInternal (this=0xbfffe858, receiver=0x84b3858, event=0xbfffd914) at kernel/qcoreapplication.cpp:593 #18 0xb77ff1f3 in QCoreApplication::sendEvent (receiver=0x84b3858, event=0xbfffd914) at ../../../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:208 #19 0xb66fc419 in QShortcutMap::dispatchEvent (this=0x80f9278, e=0xbfffddd4) at kernel/qshortcutmap.cpp:878 #20 0xb66fd98d in QShortcutMap::tryShortcutEvent (this=0x80f9278, o=0x9ed2a88, e=0xbfffddd4) at kernel/qshortcutmap.cpp:364 #21 0xb66bd528 in QApplication::notify (this=0xbfffe858, receiver=0x9ed2a88, e=0xbfffddd4) at kernel/qapplication.cpp:3640 #22 0xb736079d in KApplication::notify (this=0xbfffe858, receiver=0x9ed2a88, event=0xbfffddd4) at /home/thorben/devel/src/kdelibs/kdeui/kernel/kapplication.cpp:307 #23 0xb707e1f7 in QCoreApplication::notifyInternal (this=0xbfffe858, receiver=0x9ed2a88, event=0xbfffddd4) at kernel/qcoreapplication.cpp:593 #24 0xb66c8b0b in QCoreApplication::sendSpontaneousEvent (receiver=0x9ed2a88, event=0xbfffddd4) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:211 #25 0xb66bca2e in qt_sendSpontaneousEvent (receiver=0x9ed2a88, event=0xbfffddd4) at kernel/qapplication.cpp:4971 #26 0xb6767310 in QKeyMapper::sendKeyEvent (keyWidget=0x9ed2a88, grab=false, type=QEvent::KeyPress, code=16777271, modifiers={i = -1073749816}, text=@0xbfffe094, autorepeat=false, count=1, nativeScanCode=74, nativeVirtualKey=65477, nativeModifiers=8192) at kernel/qkeymapper_x11.cpp:1669 #27 0xb6768496 in QKeyMapperPrivate::translateKeyEvent (this=0x8134d08, keyWidget=0x9ed2a88, event=0xbfffe530, grab=false) at kernel/qkeymapper_x11.cpp:1640 #28 0xb673fd78 in QApplication::x11ProcessEvent (this=0xbfffe858, event=0xbfffe530) at kernel/qapplication_x11.cpp:3425 #29 0xb676a8f5 in x11EventSourceDispatch (s=0x80fc120, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:141 #30 0xb59f19a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #31 0xb59f5063 in ?? () from /usr/lib/libglib-2.0.so.0 #32 0xb59f5221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #33 0xb70acf0a in QEventDispatcherGlib::processEvents (this=0x80f9198, flags={i = -1073748232}) at kernel/qeventdispatcher_glib.cpp:318 #34 0xb676a110 in QGuiEventDispatcherGlib::processEvents (this=0x80f9198, flags={i = -1073748184}) at kernel/qguieventdispatcher_glib.cpp:197 #35 0xb707b1dc in QEventLoop::processEvents (this=0xbfffe7b0, flags={i = -1073748112}) at kernel/qeventloop.cpp:144 ---Type <return> to continue, or q <return> to quit--- #36 0xb707b436 in QEventLoop::exec (this=0xbfffe7b0, flags={i = -1073748040}) at kernel/qeventloop.cpp:191 #37 0xb707e9cf in QCoreApplication::exec () at kernel/qcoreapplication.cpp:875 #38 0xb66bcc36 in QApplication::exec () at kernel/qapplication.cpp:3526 #39 0x0804f2a6 in main (argc=-1208127248, argv=0x8149b40) at /home/thorben/devel/src/kdevelop/app/main.cpp:203 (gdb) (gdb)
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