Need suggestion on how to fix the common crash in plasma-desktop (kdelibs related)

Lamarque V. Souza lamarque at kde.org
Wed Mar 21 02:26:56 GMT 2012


Em Tuesday 20 March 2012, Thomas Lübking escreveu:
> Tried to connect to QCoreApplication::aboutToQuit()?

	It is already done but that does not cover the case where WeatherEngine 
is unloaded without plasma-{desktop,device} exiting. The Ions must be unloaded 
in that case or we will have a memory leak.
 
> Am 21.03.2012, 02:31 Uhr, schrieb Lamarque V. Souza <lamarque at kde.org>:
> > 	Hi,
> > 	
> > 	There is a crash in WeatherEngine (kde-workspace) triggered by the fact
> > 
> > that Plasma::DataEngineManager::self() (kdelib) is invalid when
> > plasma-{desktop,device} are exiting. WeatherEngine::~WeatherEngine()
> > calls
> > WeatherEngine::unloadIons(), which tries to use the invalid
> > Plasma::DataEngineManager::self(). The crash only happens if there is
> > something using WeatherEngine when plasma-{desktop,device} exit, of
> > course.
> > There are several bug report about this crash:
> > 
> > https://bugs.kde.org/show_bug.cgi?id=223622
> > https://bugs.kde.org/show_bug.cgi?id=241509
> > https://bugs.kde.org/show_bug.cgi?id=261610
> > 
> > 	And counting. The reports were closed as upstrem but think we can
> > 
> > prevent the crash by adding a method to Plasma::DataEngineManager to
> > check if
> > it is still valid. Using "if (Plasma::DataEngineManager::self()) {}" also
> > triggers the crash because of the way Plasma::DataEngineManager::self()
> > is
> > implemented.
> > 
> > 	What do you think about adding a Plasma::DataEngineManager::valid()
> > 
> > method?
> > 
> > 
> > OBS: That crash is in WeatherEngine since it entered kde-workspace in
> > 2009.


-- 
Lamarque V. Souza
KDE's Network Management maintainer
http://planetkde.org/pt-br
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20120320/ee800967/attachment.htm>


More information about the kde-core-devel mailing list