[Bug 1317431] Re: /usr/bin/muon-updater:11:QString:KConfig::name:KSharedConfig::openConfig:KSharedConfig::openConfig:Application::desktopContents
Bug Watch Updater
1317431 at bugs.launchpad.net
Thu May 8 10:38:17 UTC 2014
Launchpad has imported 4 comments from the remote bug at
https://bugs.kde.org/show_bug.cgi?id=333599.
If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.
------------------------------------------------------------------------
On 2014-04-18T21:00:06+00:00 anthony wrote:
Application: muon-updater (2.2.0)
KDE Platform Version: 4.13.0
Qt Version: 4.8.6
Operating System: Linux 3.13.0-24-generic x86_64
Distribution: Ubuntu 14.04 LTS
-- Information about the crash:
- What I was doing when the application crashed:
i opened muon Descover update when the application crashed unexpectedly
-- Backtrace:
Application: Muon Update Manager (muon-updater), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fe5367f17c0 (LWP 7645))]
Thread 5 (Thread 0x7fe522dc0700 (LWP 7646)):
#0 __libc_enable_asynccancel () at ../nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S:61
#1 0x00007fe533e436b2 in read () at ../sysdeps/unix/syscall-template.S:81
#2 0x00007fe530d52c20 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fe530d11b14 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007fe530d11f7b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007fe530d120ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007fe5345cb7be in QEventDispatcherGlib::processEvents (this=0x7fe51c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#7 0x00007fe53459d0af in QEventLoop::processEvents (this=this at entry=0x7fe522dbfde0, flags=...) at kernel/qeventloop.cpp:149
#8 0x00007fe53459d3a5 in QEventLoop::exec (this=this at entry=0x7fe522dbfde0, flags=...) at kernel/qeventloop.cpp:204
#9 0x00007fe534499c5f in QThread::exec (this=this at entry=0x10359c0) at thread/qthread.cpp:537
#10 0x00007fe53457e823 in QInotifyFileSystemWatcherEngine::run (this=0x10359c0) at io/qfilesystemwatcher_inotify.cpp:265
#11 0x00007fe53449c32f in QThreadPrivate::start (arg=0x10359c0) at thread/qthread_unix.cpp:349
#12 0x00007fe5311f1182 in start_thread (arg=0x7fe522dc0700) at pthread_create.c:312
#13 0x00007fe533e5230d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 4 (Thread 0x7fe521f88700 (LWP 7647)):
#0 0x00007fe533e49c33 in select () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fe53457b171 in QProcessManager::run (this=0x7fe534905540 <processManager()::processManager>) at io/qprocess_unix.cpp:270
#2 0x00007fe53449c32f in QThreadPrivate::start (arg=0x7fe534905540 <processManager()::processManager>) at thread/qthread_unix.cpp:349
#3 0x00007fe5311f1182 in start_thread (arg=0x7fe521f88700) at pthread_create.c:312
#4 0x00007fe533e5230d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 3 (Thread 0x7fe518998700 (LWP 7658)):
[KCrash Handler]
#6 QString (other=<error reading variable: Cannot access memory at address 0x4318>, this=this at entry=0x7fe518997b40) at /usr/include/qt4/QtCore/qstring.h:725
#7 KConfig::name (this=0x4310) at ../../kdecore/config/kconfig.cpp:532
#8 0x00007fe5349b99b6 in KSharedConfig::openConfig (componentData=..., fileName=..., flags=..., resType=resType at entry=0x7fe521137640 "config") at ../../kdecore/config/ksharedconfig.cpp:46
#9 0x00007fe5349b9b5f in KSharedConfig::openConfig (fileName=..., flags=..., resType=resType at entry=0x7fe521137640 "config") at ../../kdecore/config/ksharedconfig.cpp:35
#10 0x00007fe521124a21 in Application::desktopContents (this=this at entry=0x7fe510863170, filename=...) at /build/buildd/muon-2.2.0/libmuon/backends/ApplicationBackend/Application.cpp:440
#11 0x00007fe5211286d0 in Application::Application (this=0x7fe510863170, fileName=..., backend=<optimized out>) at /build/buildd/muon-2.2.0/libmuon/backends/ApplicationBackend/Application.cpp:63
#12 0x00007fe52111de30 in init (backend=0x132bc20, thread=0xdec040) at /build/buildd/muon-2.2.0/libmuon/backends/ApplicationBackend/ApplicationBackend.cpp:101
#13 0x00007fe521122a76 in QtConcurrent::StoredFunctorCall2<QVector<Application*>, QVector<Application*> (*)(QApt::Backend*, QThread*), QApt::Backend*, QThread*>::runFunctor (this=0x1de44c0) at /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h:470
#14 0x00007fe521123665 in QtConcurrent::RunFunctionTask<QVector<Application*> >::run (this=0x1de44c0) at /usr/include/qt4/QtCore/qtconcurrentrunbase.h:106
#15 0x00007fe53448ffee in QThreadPoolThread::run (this=0x1de4f50) at concurrent/qthreadpool.cpp:108
#16 0x00007fe53449c32f in QThreadPrivate::start (arg=0x1de4f50) at thread/qthread_unix.cpp:349
#17 0x00007fe5311f1182 in start_thread (arg=0x7fe518998700) at pthread_create.c:312
#18 0x00007fe533e5230d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 2 (Thread 0x7fe50f34f700 (LWP 7662)):
#0 0x00007fe533e44fbd in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fe530d11fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fe530d120ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fe5345cb7be in QEventDispatcherGlib::processEvents (this=0x7fe5080008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#4 0x00007fe53459d0af in QEventLoop::processEvents (this=this at entry=0x7fe50f34ede0, flags=...) at kernel/qeventloop.cpp:149
#5 0x00007fe53459d3a5 in QEventLoop::exec (this=this at entry=0x7fe50f34ede0, flags=...) at kernel/qeventloop.cpp:204
#6 0x00007fe534499c5f in QThread::exec (this=this at entry=0x1fcce90) at thread/qthread.cpp:537
#7 0x00007fe53457e823 in QInotifyFileSystemWatcherEngine::run (this=0x1fcce90) at io/qfilesystemwatcher_inotify.cpp:265
#8 0x00007fe53449c32f in QThreadPrivate::start (arg=0x1fcce90) at thread/qthread_unix.cpp:349
#9 0x00007fe5311f1182 in start_thread (arg=0x7fe50f34f700) at pthread_create.c:312
#10 0x00007fe533e5230d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 1 (Thread 0x7fe5367f17c0 (LWP 7645)):
#0 0x00007fe533e49c33 in select () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fe5345c92c7 in qt_safe_select (nfds=15, fdread=0x7fff9e95da10, fdwrite=0x7fff9e95da90, fdexcept=fdexcept at entry=0x0, orig_timeout=orig_timeout at entry=0x0) at kernel/qcore_unix.cpp:79
#2 0x00007fe534577c52 in select_msecs (nfds=<optimized out>, fdread=<optimized out>, fdwrite=<optimized out>, timeout=<optimized out>) at io/qprocess_unix.cpp:1041
#3 0x00007fe53457944a in QProcessPrivate::waitForFinished (this=this at entry=0x1f0d420, msecs=msecs at entry=-1) at io/qprocess_unix.cpp:1262
#4 0x00007fe53452f652 in QProcess::waitForFinished (this=this at entry=0x7fff9e95dba0, msecs=msecs at entry=-1) at io/qprocess.cpp:1780
#5 0x00007fe53453601f in QProcess::execute (program=..., arguments=...) at io/qprocess.cpp:2180
#6 0x00007fe534a5107f in KToolInvocation::startKdeinit () at ../../kdecore/kernel/ktoolinvocation.cpp:391
#7 0x00007fe534a51218 in KToolInvocation::klauncher () at ../../kdecore/kernel/ktoolinvocation.cpp:62
#8 0x00007fe533574e95 in KIO::Slave::createSlave (protocol=..., url=..., error=@0x7fff9e95de5c: 0, error_text=...) at ../../kio/kio/slave.cpp:428
#9 0x00007fe533568b29 in KIO::ProtoQueue::createSlave (this=this at entry=0x204dca0, protocol=..., job=job at entry=0xe96160, url=...) at ../../kio/kio/scheduler.cpp:537
#10 0x00007fe53356e3ea in KIO::ProtoQueue::startAJob (this=0x204dca0) at ../../kio/kio/scheduler.cpp:624
#11 0x00007fe5345b287a in QMetaObject::activate (sender=0x204dcf8, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3539
#12 0x00007fe5345b6a31 in QObject::event (this=0x204dcf8, e=<optimized out>) at kernel/qobject.cpp:1156
#13 0x00007fe534f90e2c in QApplicationPrivate::notify_helper (this=this at entry=0xe1e240, receiver=receiver at entry=0x204dcf8, e=e at entry=0x7fff9e95e450) at kernel/qapplication.cpp:4567
#14 0x00007fe534f974a0 in QApplication::notify (this=this at entry=0x7fff9e95e7c0, receiver=receiver at entry=0x204dcf8, e=e at entry=0x7fff9e95e450) at kernel/qapplication.cpp:4353
#15 0x00007fe535c9bbaa in KApplication::notify (this=0x7fff9e95e7c0, receiver=0x204dcf8, event=0x7fff9e95e450) at ../../kdeui/kernel/kapplication.cpp:311
#16 0x00007fe53459e4dd in QCoreApplication::notifyInternal (this=0x7fff9e95e7c0, receiver=0x204dcf8, event=0x7fff9e95e450) at kernel/qcoreapplication.cpp:953
#17 0x00007fe5345ce323 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#18 QTimerInfoList::activateTimers (this=0xe1e170) at kernel/qeventdispatcher_unix.cpp:621
#19 0x00007fe5345cb5f1 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:193
#20 0x00007fe530d11e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007fe530d12048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007fe530d120ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007fe5345cb7a1 in QEventDispatcherGlib::processEvents (this=0xded900, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#24 0x00007fe535032bb6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#25 0x00007fe53459d0af in QEventLoop::processEvents (this=this at entry=0x7fff9e95e6c0, flags=...) at kernel/qeventloop.cpp:149
#26 0x00007fe53459d3a5 in QEventLoop::exec (this=this at entry=0x7fff9e95e6c0, flags=...) at kernel/qeventloop.cpp:204
#27 0x00007fe5345a2b79 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#28 0x00007fe534f8f37c in QApplication::exec () at kernel/qapplication.cpp:3828
#29 0x000000000040ce11 in main (argc=1, argv=0x7fff9e95e8f8) at /build/buildd/muon-2.2.0/updater/main.cpp:57
Possible duplicates by query: bug 332038, bug 326143, bug 320575.
Reported using DrKonqi
Reply at:
https://bugs.launchpad.net/ubuntu/+source/muon/+bug/1317431/comments/0
------------------------------------------------------------------------
On 2014-05-07T13:15:04+00:00 Harald Sitter wrote:
*** Bug 332038 has been marked as a duplicate of this bug. ***
Reply at:
https://bugs.launchpad.net/ubuntu/+source/muon/+bug/1317431/comments/1
------------------------------------------------------------------------
On 2014-05-07T13:20:11+00:00 Harald Sitter wrote:
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.
Reply at:
https://bugs.launchpad.net/ubuntu/+source/muon/+bug/1317431/comments/2
------------------------------------------------------------------------
On 2014-05-07T16:17:16+00:00 Aleix Pol wrote:
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
Reply at:
https://bugs.launchpad.net/ubuntu/+source/muon/+bug/1317431/comments/3
** Changed in: muon
Status: Unknown => Fix Released
** Changed in: muon
Importance: Unknown => High
--
You received this bug notification because you are a member of Kubuntu
Bugs, which is subscribed to muon in Ubuntu.
https://bugs.launchpad.net/bugs/1317431
Title:
/usr/bin/muon-
updater:11:QString:KConfig::name:KSharedConfig::openConfig:KSharedConfig::openConfig:Application::desktopContents
To manage notifications about this bug go to:
https://bugs.launchpad.net/muon/+bug/1317431/+subscriptions
More information about the kubuntu-bugs
mailing list