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

Thomas Schöps <tom.scho...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tom.scho...@gmail.com

--- Comment #36 from Thomas Schöps <tom.scho...@gmail.com> ---
Contrary to a previous comment, I have the impression that the language plugins
may be unloaded before the final DUChain cleanup: see
https://invent.kde.org/kde/kdevelop/blob/master/kdevplatform/shell/core.cpp#L429
, where I think that d->pluginController->cleanup(); will cause the plugins to
be unloaded, while the DUChain shutdown only happens a few lines below.

Thus I currently test the following change in an attempt to fix the bug
reported here:

index 19146ba42d..417b4f7e7f 100644
@@ -428,2 +428,6 @@ void Core::cleanup()
         d->languageController->backgroundParser()->waitForIdle();
+
+        DUChain::self()->shutdown();
+
+        // Only unload plugins after the DUChain shutdown to prevent issues
with non-loaded factories for types
         d->pluginController->cleanup();
@@ -436,4 +440,2 @@ void Core::cleanup()
         d->languageController->cleanup();
-
-        DUChain::self()->shutdown();
     }


So far, I didn't encounter the bug with this change applied, but since it only
happened occasionally, this doesn't necessarily mean that it is fixed. Also,
since I am not familiar with the overall KDevelop architecture, I don't know
whether this change in shutdown order may introduce subtle issues that I am not
aware of. So far, I haven't noticed issues.

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

Reply via email to