Summary: | opening muon Descover crash | ||
---|---|---|---|
Product: | [Applications] Discover | Reporter: | Anthony <anthonyc968> |
Component: | Updates (interactive) | Assignee: | Aleix Pol <aleixpol> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | aleixpol, chesap.uerta, jerrypam5855, lclemens, mastroragno, mgolden, sitter, stasnel, stlouiemoe |
Priority: | NOR | Keywords: | drkonqi |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/muon/70cc5d6532829d8bf1a95cd46ca5403eb195e6ec | Version Fixed In: | |
Sentry Crash Report: |
Description
Anthony
2014-04-18 21:00:06 UTC
*** Bug 332038 has been marked as a duplicate of this bug. *** This is the cause of any and all KConfig crashes in muon applications. The bug is ultimately caused by the Application backend which does the following out of the future'd init thread: > KConfigGroup group = m_data->group("Desktop Entry"); m_data is: > KSharedConfigPtr m_data; from KSharedConfig::openConfig: > const QList<KSharedConfig*> *list = globalSharedConfigList; and the list is: > K_GLOBAL_STATIC(QList<KSharedConfig*>, globalSharedConfigList) since KSharedConfig is not thread safe what happens is that if a sharedconfig is accessed while the future init thread is running the globalSharedConfigList gets busted and crashes at a random later point in time. the solution is to either not use a sharedconfig or move the config access out of the future thread and into a queued access via the mainloop. furtheremore I am not actually sure the sharedconfig makes sense there since the application instance itself is a shared object, so there's probably nothing to be gained from using a sharedconfig there. Git commit 70cc5d6532829d8bf1a95cd46ca5403eb195e6ec by Aleix Pol. Committed on 07/05/2014 at 16:16. Pushed by apol into branch '2.2'. Fix threading problem involving KSharedConfig Stop using it in favor of QSharedPointer<KConfig>, so that we don't access the shared database, which is not thread-safe. M +1 -6 libmuon/backends/ApplicationBackend/Application.cpp M +1 -2 libmuon/backends/ApplicationBackend/Application.h http://commits.kde.org/muon/70cc5d6532829d8bf1a95cd46ca5403eb195e6ec *** Bug 320575 has been marked as a duplicate of this bug. *** *** Bug 334790 has been marked as a duplicate of this bug. *** *** Bug 320822 has been marked as a duplicate of this bug. *** |