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

            Bug ID: 357630
           Summary: crash when exiting with parser running
           Product: kdevelop
           Version: 4.90.90
          Platform: Compiled Sources
                OS: OS X
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: Language Support: CPP (Clang-based)
          Assignee: kdevelop-bugs-n...@kde.org
          Reporter: rjvber...@gmail.com

My first crash report for KDevelop5 ...

The IDE was parsing its own source tree (git working copy) after I had run
cmake on the project externally (an editor for cmake options is still lacking
in the project config).
I quit the application with the parser still running, and got the backtrace
copied below

Reproducible: Didn't try

Steps to Reproduce:
1. open a project, say kdevelop itself
2. rerun cmake in the build directory, from a terminal
3. wait until the parser is working and quit KDevelop

Actual Results:  
Process:         kdevelop [75487]
Path:            /Applications/MacPorts/*/kdevelop.app/Contents/MacOS/kdevelop
Identifier:      org.kde.KDevelop
Version:         4.90 (4.90)
Code Type:       X86-64 (Native)
Parent Process:  tcsh [37199]
Responsible:     X11.bin [36815]
User ID:         505

Date/Time:       2016-01-06 21:34:40.587 +0100
OS Version:      Mac OS X 10.9.5 (13F1134)

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
abort() called
*** error for object 0x7fe89e707ce0: pointer being freed was not allocated


Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib            0x00007fff91dbc866 __pthread_kill + 10
1   libsystem_pthread.dylib           0x00007fff8ee4035c pthread_kill + 92
2   libsystem_c.dylib                 0x00007fff89e5cb1a abort + 125
3   libsystem_malloc.dylib            0x00007fff9434207f free + 411
4   libKF5ThreadWeaver.5.dylib        0x00000001123ae38a
ThreadWeaver::Private::Job_Private::~Job_Private() + 74 (job_p.cpp:44)
5   libKF5ThreadWeaver.5.dylib        0x00000001123ad929
ThreadWeaver::Job::~Job() + 105 (job.cpp:68)
6   libKF5ThreadWeaver.5.dylib        0x00000001123ae6a9
ThreadWeaver::IdDecorator::~IdDecorator() + 41 (iddecorator.cpp:52)
7   libKF5ThreadWeaver.5.dylib        0x00000001123ac337
QtMetaTypePrivate::QMetaTypeFunctionHelper<QSharedPointer<ThreadWeaver::JobInterface>,
true>::Destruct(void*) + 39 (qatomic_x86.h:214)
8   org.qt-project.QtCore             0x0000000110adc8bf
QMetaType::destroy(int, void*) + 127 (qmetatype.cpp:1726)
9   org.qt-project.QtCore             0x0000000110af1c89
QMetaCallEvent::~QMetaCallEvent() + 73 (qobject.cpp:463)
10  org.qt-project.QtCore             0x0000000110af1d2e
QMetaCallEvent::~QMetaCallEvent() + 14 (qobject.cpp:461)
11  org.qt-project.QtCore             0x0000000110acba36
QCoreApplication::removePostedEvents(QObject*, int) + 1622
(qvarlengtharray.h:108)
12  org.qt-project.QtCore             0x0000000110af0fd4
QObjectPrivate::~QObjectPrivate() + 228 (qobject.cpp:237)
13  org.qt-project.QtCore             0x0000000110af10fe
QObjectPrivate::~QObjectPrivate() + 14 (qobject.cpp:219)
14  org.qt-project.QtCore             0x0000000110af2b71 QObject::~QObject() +
1841 (qscopedpointer.h:54)
15  libKDevPlatformLanguage.10.dylib    0x00000001111cbad2
KDevelop::BackgroundParser::~BackgroundParser() + 82 (backgroundparser.cpp:485)
16  org.qt-project.QtCore             0x0000000110af2d75
QObjectPrivate::deleteChildren() + 245 (qobject.cpp:1943)
17  org.qt-project.QtCore             0x0000000110af2b40 QObject::~QObject() +
1792 (qobject.cpp:1027)
18  libKDevPlatformShell.10.dylib     0x000000010d5b9525
KDevelop::LanguageController::~LanguageController() + 53
(languagecontroller.cpp:154)
19  libKDevPlatformShell.10.dylib     0x000000010d5854e4
KDevelop::CorePrivate::~CorePrivate() + 116 (qsharedpointer_impl.h:588)
20  libKDevPlatformShell.10.dylib     0x000000010d586444
KDevelop::Core::~Core() + 116 (core.cpp:384)
21  libKDevPlatformShell.10.dylib     0x000000010d58648e
KDevelop::Core::~Core() + 14 (core.cpp:380)
22  org.qt-project.QtCore             0x0000000110af3748
QObject::event(QEvent*) + 776 (qobject.cpp:4455)
23  org.qt-project.QtWidgets          0x000000010f80a53b
QApplicationPrivate::notify_helper(QObject*, QEvent*) + 251
(qapplication.cpp:3716)
24  org.qt-project.QtWidgets          0x000000010f80d8f4
QApplication::notify(QObject*, QEvent*) + 8212 (qapplication.cpp:3681)
25  org.qt-project.QtCore             0x0000000110acb0db
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 971
(qthread_p.h:291)
26  org.qt-project.QtCore             0x0000000110acaa2c
QCoreApplication::exec() + 412 (qcoreapplication.cpp:1240)
27  kdevelop.bin                      0x000000010d53132a main + 54426
(main.cpp:677)
28  libdyld.dylib                     0x00007fff8e8b05fd start + 1


Expected Results:  
no crash, no abort, no double/illegal free?

This has nothing to do with unloading plugins, correct?
FWIW, Qt5 will stop doing that at exit in a future release to avoid certain
types of crashes at exit, and I have observed that this approach also prevents
crashes in certain KF5 applications like Kate.

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

Reply via email to