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

            Bug ID: 359442
           Summary: Crash on exit
                    [KDevelop::BackgroundParser::~BackgroundParser,
                    QtSharedPointer::CustomDeleter<ThreadWeaver::JobInterf
                    ace, QtSharedPointer::NormalDeleter>::execute]
           Product: kdevplatform
           Version: git master
          Platform: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: crash
          Priority: NOR
         Component: language
          Assignee: kdevelop-bugs-n...@kde.org
          Reporter: kf...@kde.org

Can't really make sense out of that. If someone wants to have a look:

==12703==ERROR: AddressSanitizer: heap-use-after-free on address 0x604000e66820
at pc 0x7f737c859d65 bp 0x7ffdc5329520 sp 0x7ffdc5329518
READ of size 8 at 0x604000e66820 thread T0
    #0 0x7f737c859d64 in
QtSharedPointer::CustomDeleter<ThreadWeaver::JobInterface,
QtSharedPointer::NormalDeleter>::execute()
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:189:26
    #1 0x7f737c859d64 in
QtSharedPointer::ExternalRefCountWithCustomDeleter<ThreadWeaver::JobInterface,
QtSharedPointer::NormalDeleter>::deleter(QtSharedPointer::ExternalRefCountData*)
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:207
    #2 0x7f737bdae81d 
(/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5+0x1381d)
    #3 0x7f737fd25d38 in QMetaType::destroy(int, void*)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x29cd38)
    #4 0x7f737fd3bc78 in QMetaCallEvent::~QMetaCallEvent()
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b2c78)
    #5 0x7f737fd3bce8 in QMetaCallEvent::~QMetaCallEvent()
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b2ce8)
    #6 0x7f737fd128d6 in QCoreApplication::removePostedEvents(QObject*, int)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2898d6)
    #7 0x7f737fd3dff1 in QObjectPrivate::~QObjectPrivate()
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4ff1)
    #8 0x7f737fd3e118 in QObjectPrivate::~QObjectPrivate()
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b5118)
    #9 0x7f737fd46707 in QObject::~QObject()
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bd707)
    #10 0x7f737c83fb7e in KDevelop::BackgroundParser::~BackgroundParser()
/home/kfunk/devel/src/kf5/kdevplatform-stable/language/backgroundparser/backgroundparser.cpp:487:1
    #11 0x7f737c83fb7e in KDevelop::BackgroundParser::~BackgroundParser()
/home/kfunk/devel/src/kf5/kdevplatform-stable/language/backgroundparser/backgroundparser.cpp:485
    #12 0x7f737fd3ce5a in QObjectPrivate::deleteChildren()
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b3e5a)
    #13 0x7f737fd466bf in QObject::~QObject()
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bd6bf)
    #14 0x7f738536655b in KDevelop::LanguageController::~LanguageController()
/home/kfunk/devel/src/kf5/kdevplatform-stable/shell/languagecontroller.cpp:156:1
    #15 0x7f738536655b in KDevelop::LanguageController::~LanguageController()
/home/kfunk/devel/src/kf5/kdevplatform-stable/shell/languagecontroller.cpp:154
    #16 0x7f73852b1256 in KDevelop::CorePrivate::~CorePrivate()
/home/kfunk/devel/src/kf5/kdevplatform-stable/shell/core.cpp:321:5
    #17 0x7f73852b4363 in KDevelop::Core::~Core()
/home/kfunk/devel/src/kf5/kdevplatform-stable/shell/core.cpp:395:5
    #18 0x7f73852b442d in KDevelop::Core::~Core()
/home/kfunk/devel/src/kf5/kdevplatform-stable/shell/core.cpp:391:1
    #19 0x7f737fd3f7cf in QObject::event(QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b67cf)
    #20 0x7f73806049db in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x15b9db)
    #21 0x7f7380609ea5 in QApplication::notify(QObject*, QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x160ea5)
    #22 0x7f737fd0fd7a in QCoreApplication::notifyInternal(QObject*, QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x286d7a)
    #23 0x7f737fd12175 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x289175)
    #24 0x7f737fd15628 in QCoreApplication::exec()
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x28c628)
    #25 0x504cc6 in main
/home/kfunk/devel/src/kf5/kdevelop-stable/app/main.cpp:674:12
    #26 0x7f737e814a3f in __libc_start_main
/build/buildd/glibc-2.21/csu/libc-start.c:289
    #27 0x43d948 in _start
(/home/kfunk/devel/install/kf5-stable/bin/kdevelop+0x43d948)

0x604000e66820 is located 16 bytes inside of 40-byte region
[0x604000e66810,0x604000e66838)
freed by thread T0 here:
    #0 0x4e43a2 in operator delete(void*)
(/home/kfunk/devel/install/kf5-stable/bin/kdevelop+0x4e43a2)
    #1 0x7f737c84538d in
KDevelop::BackgroundParserPrivate::~BackgroundParserPrivate()
/home/kfunk/devel/src/kf5/kdevplatform-stable/language/backgroundparser/backgroundparser.cpp:143:13
    #2 0x7f737c83fb66 in KDevelop::BackgroundParser::~BackgroundParser()
/home/kfunk/devel/src/kf5/kdevplatform-stable/language/backgroundparser/backgroundparser.cpp:486:5
    #3 0x7f737c83fb66 in KDevelop::BackgroundParser::~BackgroundParser()
/home/kfunk/devel/src/kf5/kdevplatform-stable/language/backgroundparser/backgroundparser.cpp:485
    #4 0x7f737fd3ce5a in QObjectPrivate::deleteChildren()
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b3e5a)

previously allocated by thread T0 here:
    #0 0x4e3de2 in operator new(unsigned long)
(/home/kfunk/devel/install/kf5-stable/bin/kdevelop+0x4e3de2)
    #1 0x7f737c856fd2 in
KDevelop::BackgroundParserPrivate::createParseJob(KDevelop::IndexedString
const&, KDevelop::TopDUContext::Features, QList<QPointer<QObject> > const&,
int)
/home/kfunk/devel/src/kf5/kdevplatform-stable/language/backgroundparser/backgroundparser.cpp:280:57
    #2 0x7f737c84afc2 in
KDevelop::BackgroundParserPrivate::parseDocumentsInternal()
/home/kfunk/devel/src/kf5/kdevplatform-stable/language/backgroundparser/backgroundparser.cpp:205:61
    #3 0x7f737c8428f3 in KDevelop::BackgroundParser::parseDocuments()
/home/kfunk/devel/src/kf5/kdevplatform-stable/language/backgroundparser/backgroundparser.cpp:596:5
    #4 0x7f737c8547cd in QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (KDevelop::BackgroundParser::*)()>::call(void
(KDevelop::BackgroundParser::*)(), KDevelop::BackgroundParser*, void**)
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:501:13
    #5 0x7f737c8547cd in void QtPrivate::FunctionPointer<void
(KDevelop::BackgroundParser::*)()>::call<QtPrivate::List<>, void>(void
(KDevelop::BackgroundParser::*)(), KDevelop::BackgroundParser*, void**)
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:520
    #6 0x7f737c8547cd in QtPrivate::QSlotObject<void
(KDevelop::BackgroundParser::*)(), QtPrivate::List<>, void>::impl(int,
QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:143
    #7 0x7f737fd3e776 in QMetaObject::activate(QObject*, int, int, void**)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b5776)
    #8 0x7f737fd4b197 in QTimer::timerEvent(QTimerEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2c2197)
    #9 0x7f73806049db in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x15b9db)

SUMMARY: AddressSanitizer: heap-use-after-free
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:189
QtSharedPointer::CustomDeleter<ThreadWeaver::JobInterface,
QtSharedPointer::NormalDeleter>::execute()
Shadow bytes around the buggy address:
  0x0c08801c4cb0: fa fa fa fa fa fa fa fa fa fa fd fd fd fd fd fd
  0x0c08801c4cc0: fa fa fa fa fa fa fa fa fa fa fd fd fd fd fd fd
  0x0c08801c4cd0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
  0x0c08801c4ce0: fa fa fd fd fd fd fd fa fa fa fa fa fa fa fa fa
  0x0c08801c4cf0: fa fa fd fd fd fd fd fa fa fa 00 00 00 00 00 fa
=>0x0c08801c4d00: fa fa fd fd[fd]fd fd fa fa fa fa fa fa fa fa fa
  0x0c08801c4d10: fa fa fd fd fd fd fd fd fa fa fa fa fa fa fa fa
  0x0c08801c4d20: fa fa fd fd fd fd fd fd fa fa fa fa fa fa fa fa
  0x0c08801c4d30: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
  0x0c08801c4d40: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
  0x0c08801c4d50: fa fa fa fa fa fa fa fa fa fa fd fd fd fd fd fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==12703==ABORTING

Reproducible: Sometimes

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to