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

            Bug ID: 427386
           Summary: Segfault in
                    ProjectController::reparseProject()=>...=>RunControlle
                    r::checkState() when exiting KDevelop right after a
                    large project is opened
           Product: kdevelop
           Version: git master
          Platform: Compiled Sources
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: kdevelop-bugs-n...@kde.org
          Reporter: igor...@gmail.com
  Target Milestone: ---

SUMMARY
When a user exits KDevelop right after a large project is opened, before
ParseProjectJob::start() returns, RunController may be destroyed in the time
between `job->start();` and `checkState();` statements in
RunController::registerJob(). The result is a segmentation fault in
RunController::checkState().

SOFTWARE/OS VERSIONS
Manjaro GNU/Linux, Xfce
KDE Frameworks Version: 5.74.0
Qt Version: 5.15.1

ADDITIONAL INFORMATION
I am going to create a Merge Request with a fix soon.

BACKTRACE (Release)
Application: KDevelop (kdevelop), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f8b392eebc0 (LWP 120878))]

Thread 1 (Thread 0x7f8b392eebc0 (LWP 120878)):
[KCrash Handler]
#6  0x00007f8b51b43089 in KDevelop::RunController::checkState() () at
/usr/lib/libKDevPlatformShell.so.55
#7  0x00007f8b51b442b9 in KDevelop::RunController::registerJob(KJob*) () at
/usr/lib/libKDevPlatformShell.so.55
#8  0x00007f8b51b0c09a in
KDevelop::ProjectController::reparseProject(KDevelop::IProject*, bool, bool) ()
at /usr/lib/libKDevPlatformShell.so.55
#9  0x00007f8b51b0f0ab in
KDevelop::ProjectController::projectImportingFinished(KDevelop::IProject*) ()
at /usr/lib/libKDevPlatformShell.so.55
#10 0x00007f8b5029250e in  () at /usr/lib/libQt5Core.so.5
#11 0x00007f8b5058ce4d in KJob::result(KJob*, KJob::QPrivateSignal) () at
/usr/lib/libKF5CoreAddons.so.5
#12 0x00007f8b5058d93c in KJob::finishJob(bool) () at
/usr/lib/libKF5CoreAddons.so.5
#13 0x00007f8b51a29945 in KDevelop::ExecuteCompositeJob::slotResult(KJob*) ()
at /usr/lib/libKDevPlatformUtil.so.55
#14 0x00007f8b5029250e in  () at /usr/lib/libQt5Core.so.5
#15 0x00007f8b5058ce4d in KJob::result(KJob*, KJob::QPrivateSignal) () at
/usr/lib/libKF5CoreAddons.so.5
#16 0x00007f8b5058d93c in KJob::finishJob(bool) () at
/usr/lib/libKF5CoreAddons.so.5
#17 0x00007f8b4eacb5a1 in  () at /usr/lib/libKDevPlatformProject.so.55
#18 0x00007f8b5028a30a in QObject::event(QEvent*) () at
/usr/lib/libQt5Core.so.5
#19 0x00007f8b50f00362 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /usr/lib/libQt5Widgets.so.5
#20 0x00007f8b50f09819 in QApplication::notify(QObject*, QEvent*) () at
/usr/lib/libQt5Widgets.so.5
#21 0x00007f8b5025ca12 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /usr/lib/libQt5Core.so.5
#22 0x00007f8b5025f276 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#23 0x00007f8b502b5a84 in  () at /usr/lib/libQt5Core.so.5
#24 0x00007f8b4c48b9be in g_main_context_dispatch () at
/usr/lib/libglib-2.0.so.0
#25 0x00007f8b4c48d831 in  () at /usr/lib/libglib-2.0.so.0
#26 0x00007f8b4c48d871 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#27 0x00007f8b502b50d0 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib/libQt5Core.so.5
#28 0x00007f8b5025b57c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/usr/lib/libQt5Core.so.5
#29 0x00007f8b50263586 in QCoreApplication::exec() () at
/usr/lib/libQt5Core.so.5
#30 0x00005650c1032bd5 in  ()
#31 0x00007f8b4fc2d023 in __libc_start_main () at /usr/lib/libc.so.6
#32 0x00005650c10337ee in _start ()
[Inferior 1 (process 120878) detached]

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

Reply via email to