Application: plasmashell () Qt Version: 5.4.0 Operating System: Linux 3.18.1-1-desktop x86_64 Distribution: "openSUSE 20141102 (Harlequin) (x86_64)" -- Information about the crash: - What I was doing when the application crashed: I clicked on the kmix status icon with right mouse button, after that kmix crashed, and then also plasmashell. -- Backtrace: Application: plasmashell (plasmashell), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f70b4eea7c0 (LWP 24848))] Thread 27 (Thread 0x7f709ce03700 (LWP 24850)): #0 0x00007f70aec5b4ad in poll () at /lib64/libc.so.6 #1 0x00007f70ab14cbe4 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 26 (Thread 0x7f708bcef700 (LWP 24851)): #0 0x00007f70af4fd055 in () at /usr/lib64/libQt5Core.so.5 #1 0x00007f70ab14c28d in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14cb03 in () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #4 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #7 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #8 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #9 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #10 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 25 (Thread 0x7f7089ca1700 (LWP 24855)): #0 0x00007f70aec5b4ad in poll () at /lib64/libc.so.6 #1 0x00007f70ab14cbe4 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 24 (Thread 0x7f7088c40700 (LWP 24856)): #0 0x00007f70aec5b4ad in poll () at /lib64/libc.so.6 #1 0x00007f70ab14cbe4 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 23 (Thread 0x7f707b7ff700 (LWP 24857)): #0 0x00007f70ab14bcb0 in g_main_context_acquire () at /usr/lib64/libglib-2.0.so.0 #1 0x00007f70ab14caa5 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 22 (Thread 0x7f707a7fe700 (LWP 24858)): #0 0x00007f70ab14c280 in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0 #1 0x00007f70ab14cb03 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 21 (Thread 0x7f70797fd700 (LWP 24859)): #0 0x00007f70ab18e8e9 in g_mutex_lock () at /usr/lib64/libglib-2.0.so.0 #1 0x00007f70ab14c66c in g_main_context_check () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14cb7b in () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #4 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #7 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #8 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #9 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #10 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 20 (Thread 0x7f7067fff700 (LWP 24860)): #0 0x00007fffafdfeb26 in clock_gettime () #1 0x00007f70aec7046d in clock_gettime () at /lib64/libc.so.6 #2 0x00007f70af37daa6 in () at /usr/lib64/libQt5Core.so.5 #3 0x00007f70af4fb749 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4fbcd5 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af4fceee in () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70ab14c28d in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0 #7 0x00007f70ab14cb03 in () at /usr/lib64/libglib-2.0.so.0 #8 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #9 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #10 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #11 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #12 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #13 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #14 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #15 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 19 (Thread 0x7f7066df6700 (LWP 24861)): #0 0x00007f70ab18e8e9 in g_mutex_lock () at /usr/lib64/libglib-2.0.so.0 #1 0x00007f70ab14cad5 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 18 (Thread 0x7f7065df5700 (LWP 24862)): #0 0x00007f70aec5b4ad in poll () at /lib64/libc.so.6 #1 0x00007f70ab14cbe4 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 17 (Thread 0x7f7064d64700 (LWP 24863)): #0 0x00007f70aec5757d in read () at /lib64/libc.so.6 #1 0x00007f70ab18d750 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14c714 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70ab14cb7b in () at /usr/lib64/libglib-2.0.so.0 #4 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #5 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #7 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #9 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #10 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #11 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 16 (Thread 0x7f70577ff700 (LWP 24864)): #0 0x00007f70ae26585f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007f70b461f47b in () at /usr/lib64/libQt5Script.so.5 #2 0x00007f70b461f4a9 in () at /usr/lib64/libQt5Script.so.5 #3 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #4 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 15 (Thread 0x7f7056ffe700 (LWP 24865)): #0 0x00007f70aec5b4ad in poll () at /lib64/libc.so.6 #1 0x00007f70ab14cbe4 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 14 (Thread 0x7f7054d0e700 (LWP 24866)): #0 0x00007f70aec5757d in read () at /lib64/libc.so.6 #1 0x00007f70ab18d750 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14c714 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70ab14cb7b in () at /usr/lib64/libglib-2.0.so.0 #4 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #5 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #7 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #9 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #10 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #11 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 13 (Thread 0x7f6fcb152700 (LWP 24868)): #0 0x00007f70ab14c66c in g_main_context_check () at /usr/lib64/libglib-2.0.so.0 #1 0x00007f70ab14cb7b in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b2972e12 in () at /usr/lib64/libQt5Quick.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 12 (Thread 0x7f6fc9d51700 (LWP 24869)): #0 0x00007fffafdfeb26 in clock_gettime () #1 0x00007f70aec7046d in clock_gettime () at /lib64/libc.so.6 #2 0x00007f70af37daa6 in () at /usr/lib64/libQt5Core.so.5 #3 0x00007f70af4fb749 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4fbcd5 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af4fceee in () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70ab14c28d in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0 #7 0x00007f70ab14cb03 in () at /usr/lib64/libglib-2.0.so.0 #8 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #9 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #10 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #11 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #12 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #13 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #14 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #15 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 11 (Thread 0x7f6fc3257700 (LWP 24871)): #0 0x00007fffafdfeb26 in clock_gettime () #1 0x00007f70aec7046d in clock_gettime () at /lib64/libc.so.6 #2 0x00007f70af37daa6 in () at /usr/lib64/libQt5Core.so.5 #3 0x00007f70af4fb749 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4fbcd5 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af4fceee in () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70ab14c28d in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0 #7 0x00007f70ab14cb03 in () at /usr/lib64/libglib-2.0.so.0 #8 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #9 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #10 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #11 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #12 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #13 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #14 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #15 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 10 (Thread 0x7f6fc2164700 (LWP 24872)): #0 0x00007fffafdfeb26 in clock_gettime () #1 0x00007f70aec7046d in clock_gettime () at /lib64/libc.so.6 #2 0x00007f70af37daa6 in () at /usr/lib64/libQt5Core.so.5 #3 0x00007f70af4fb749 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4fbcd5 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af4fceee in () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70ab14c28d in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0 #7 0x00007f70ab14cb03 in () at /usr/lib64/libglib-2.0.so.0 #8 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #9 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #10 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #11 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #12 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #13 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #14 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #15 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 9 (Thread 0x7f6fc1071700 (LWP 24873)): #0 0x00007f70aec5b4ad in poll () at /lib64/libc.so.6 #1 0x00007f70ab14cbe4 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 8 (Thread 0x7f6fbff7e700 (LWP 24874)): #0 0x00007f70aec5b4ad in poll () at /lib64/libc.so.6 #1 0x00007f70ab14cbe4 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 7 (Thread 0x7f6fbee8b700 (LWP 24875)): #0 0x00007fffafdfeb26 in clock_gettime () #1 0x00007f70aec7046d in clock_gettime () at /lib64/libc.so.6 #2 0x00007f70af37daa6 in () at /usr/lib64/libQt5Core.so.5 #3 0x00007f70af4fb749 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4fbcd5 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af4fceee in () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70ab14c28d in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0 #7 0x00007f70ab14cb03 in () at /usr/lib64/libglib-2.0.so.0 #8 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #9 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #10 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #11 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #12 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #13 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #14 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #15 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 6 (Thread 0x7f6fbdd98700 (LWP 24876)): #0 0x00007f70ab14c7ce in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #1 0x00007f70ab14cc48 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 5 (Thread 0x7f6fbcca5700 (LWP 24877)): #0 0x00007f70aec5b4ad in poll () at /lib64/libc.so.6 #1 0x00007f70ab14cbe4 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 4 (Thread 0x7f6fbbbb2700 (LWP 24878)): #0 0x00007f70ab18e8e9 in g_mutex_lock () at /usr/lib64/libglib-2.0.so.0 #1 0x00007f70ab14c66c in g_main_context_check () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14cb7b in () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #4 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #7 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #8 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #9 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #10 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 3 (Thread 0x7f6fb8f3b700 (LWP 24880)): #0 0x00007f70aec5b4ad in poll () at /lib64/libc.so.6 #1 0x00007f70ab14cbe4 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #7 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 2 (Thread 0x7f6fb7e48700 (LWP 24881)): #0 0x00007f70ab18e904 in g_mutex_unlock () at /usr/lib64/libglib-2.0.so.0 #1 0x00007f70ab14c280 in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f70ab14cb03 in () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #4 0x00007f70af4fd11b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007f70af2c6cea in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #7 0x00007f70b251ecc8 in () at /usr/lib64/libQt5Qml.so.5 #8 0x00007f70af2cb91f in () at /usr/lib64/libQt5Core.so.5 #9 0x00007f70ae2613a4 in start_thread () at /lib64/libpthread.so.0 #10 0x00007f70aec63a4d in clone () at /lib64/libc.so.6 Thread 1 (Thread 0x7f70b4eea7c0 (LWP 24848)): [KCrash Handler] #5 0x00007f70b082294c in QWidgetPrivate::nearestGraphicsProxyWidget(QWidget const*) () at /usr/lib64/libQt5Widgets.so.5 #6 0x00007f70b084b7c5 in QDesktopWidget::screenGeometry(QWidget const*) const () at /usr/lib64/libQt5Widgets.so.5 #7 0x00007f70b09641c0 in () at /usr/lib64/libQt5Widgets.so.5 #8 0x00007f70b09673d1 in () at /usr/lib64/libQt5Widgets.so.5 #9 0x00007f70b096817d in QMenu::popup(QPoint const&, QAction*) () at /usr/lib64/libQt5Widgets.so.5 #10 0x00007f6fc359a5e2 in () at /usr/lib64/qt5/qml/org/kde/private/systemtray/libsystemtrayplugin.so #11 0x00007f6fc35a667c in () at /usr/lib64/qt5/qml/org/kde/private/systemtray/libsystemtrayplugin.so #12 0x00007f70af4d5641 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5 #13 0x00007f70b16eba52 in KJob::result(KJob*, KJob::QPrivateSignal) () at /usr/lib64/libKF5CoreAddons.so.5 #14 0x00007f70b16ec28c in KJob::emitResult() () at /usr/lib64/libKF5CoreAddons.so.5 #15 0x00007f6fc326a8e5 in () at /usr/lib64/qt5/plugins/plasma/dataengine/plasma_engine_statusnotifieritem.so #16 0x00007f6fc326f95c in () at /usr/lib64/qt5/plugins/plasma/dataengine/plasma_engine_statusnotifieritem.so #17 0x00007f70af4d5641 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5 #18 0x00007f6fc326f86f in () at /usr/lib64/qt5/plugins/plasma/dataengine/plasma_engine_statusnotifieritem.so #19 0x00007f6fc326fbdd in () at /usr/lib64/qt5/plugins/plasma/dataengine/plasma_engine_statusnotifieritem.so #20 0x00007f70af4d5641 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5 #21 0x00007f70a8468104 in DBusMenuImporter::slotMenuAboutToShow() () at /usr/lib64/libdbusmenu-qt5.so.2 #22 0x00007f70af4d5641 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5 #23 0x00007f70af4afcbc in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const () at /usr/lib64/libQt5Core.so.5 #24 0x00007f70af4b45a0 in QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) () at /usr/lib64/libQt5Core.so.5 #25 0x00007f70a8463419 in DBusMenuImporter::updateMenu() () at /usr/lib64/libdbusmenu-qt5.so.2 #26 0x00007f6fc3262c82 in () at /usr/lib64/qt5/plugins/plasma/dataengine/plasma_engine_statusnotifieritem.so #27 0x00007f6fc326b423 in () at /usr/lib64/qt5/plugins/plasma/dataengine/plasma_engine_statusnotifieritem.so #28 0x00007f70af4d6446 in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5 #29 0x00007f70b07f81dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #30 0x00007f70b07fd1f0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #31 0x00007f70af4a5dc5 in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #32 0x00007f70af4a7c5f in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5 #33 0x00007f70af4fdc83 in () at /usr/lib64/libQt5Core.so.5 #34 0x00007f70ab14ca04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #35 0x00007f70ab14cc48 in () at /usr/lib64/libglib-2.0.so.0 #36 0x00007f70ab14ccec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #37 0x00007f70af4fd0fc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #38 0x00007f70af4a3d1b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #39 0x00007f70af4ab3a6 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5 #40 0x0000000000432144 in main () Reported using DrKonqi
*** Bug 343622 has been marked as a duplicate of this bug. ***
*** Bug 343593 has been marked as a duplicate of this bug. ***
*** Bug 346812 has been marked as a duplicate of this bug. ***
Important comment from a duplicate >Seems that is could be easily reproduced with clicking steam tray icon after exiting steam while icon is still there for a couple of seconds. Several clicks with left and right mouse buttons gives almost 100% reproducibility chance. After steam ended closing procedures and icons disapears from tray it causes either crash or complete hang of on-desktop widgets (taskbar, tray, kickoff menu and so on).
BT with better symbols Thread 1 (Thread 0x7fb05f371800 (LWP 584)): [KCrash Handler] #6 0x00007fb06d9295f1 in QWidgetPrivate::nearestGraphicsProxyWidget (origin=0x99c8600) at /home/david/projects/kde5/qt5/qtbase/src/widgets/kernel/qwidget.cpp:5833 #7 0x00007fb06d95577f in QWidgetPrivate::screenGeometry (widget=0x99c8600) at ../../include/QtWidgets/5.4.2/QtWidgets/private/../../../../../../../qt5/qtbase/src/widgets/kernel/qwidget_p.h:527 #8 0x00007fb06d9544ba in QDesktopWidget::screenGeometry (this=0x7bfe470, widget=0x99c8600) at /home/david/projects/kde5/qt5/qtbase/src/widgets/kernel/qdesktopwidget.cpp:56 #9 0x00007fb06dacc9cb in QMenuPrivate::popupGeometry (this=0x95ad9c0, widget=0x99c8600) at /home/david/projects/kde5/qt5/qtbase/src/widgets/widgets/qmenu.cpp:203 #10 0x00007fb06daccbb7 in QMenuPrivate::updateActionRects (this=0x95ad9c0) at /home/david/projects/kde5/qt5/qtbase/src/widgets/widgets/qmenu.cpp:238 #11 0x00007fb06dad253b in QMenu::popup (this=0xa8943c0, p=..., atAction=0x0) at /home/david/projects/kde5/qt5/qtbase/src/widgets/widgets/qmenu.cpp:1900 #12 0x00007faf6aa5b3c5 in SystemTray::DBusSystemTrayTask::_onContextMenu(KJob*) () from /opt/kde5/lib64/qml/org/kde/private/systemtray/libsystemtrayplugin.so #13 0x00007faf6aa693cd in SystemTray::DBusSystemTrayTask::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /opt/kde5/lib64/qml/org/kde/private/systemtray/libsystemtrayplugin.so #14 0x00007fb06cad4f43 in QMetaObject::activate (sender=0x9fe3790, signalOffset=3, local_signal_index=3, argv=0x7fff763179b0) at /home/david/projects/kde5/qt5/qtbase/src/corelib/kernel/qobject.cpp:3717 #15 0x00007fb06cad4750 in QMetaObject::activate (sender=0x9fe3790, m=0x7fb06ea6ea20 <KJob::staticMetaObject>, local_signal_index=3, argv=0x7fff763179b0) at /home/david/projects/kde5/qt5/qtbase/src/corelib/kernel/qobject.cpp:3582 #16 0x00007fb06e81130b in KJob::result (this=0x9fe3790, _t1=0x9fe3790) at src/lib/moc_kjob.cpp:552 ...
Valgrind trace ==27719== Invalid read of size 8 ==27719== at 0x7EC0246: QWeakPointer<QObject>::data() const (in /opt/qt5/lib/libQt5Widgets.so.5.4.2) ==27719== by 0x7ED6441: QPointer<QWidget>::data() const (qpointer.h:70) ==27719== by 0x7ED4061: QPointer<QWidget>::operator QWidget*() const (qpointer.h:76) ==27719== by 0x80BF560: QMenu::popup(QPoint const&, QAction*) (qmenu.cpp:1902) ==27719== by 0x2C4C0410: SystemTray::DBusSystemTrayTask::_onContextMenu(KJob*) (in /opt/kde5/lib64/qml/org/kde/private/systemtray/libsystemtrayplugin.so) ==27719== by 0x2C4CE418: SystemTray::DBusSystemTrayTask::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (in /opt/kde5/lib64/qml/org/kde/private/systemtray/libsystemtrayplugin.so) ==27719== by 0x8F76F42: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3717) ==27719== by 0x8F7674F: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3582) ==27719== by 0x776230A: KJob::result(KJob*, KJob::QPrivateSignal) (moc_kjob.cpp:552) ==27719== by 0x7760CB8: KJob::emitResult() (kjob.cpp:294) ==27719== by 0x50FA304: Plasma::ServiceJob::setResult(QVariant const&) (servicejob.cpp:94) ==27719== by 0x2CCC2E08: StatusNotifierItemJob::contextMenuReady(QMenu*) (in /opt/kde5/lib64/plugins/plasma/dataengine/plasma_engine_statusnotifieritem.so) ==27719== Address 0x2ffa7278 is 584 bytes inside a block of size 752 free'd ==27719== at 0x4C2B6D0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==27719== by 0x80C6BA5: QMenuPrivate::~QMenuPrivate() (qmenu_p.h:101) ==27719== by 0x8F7C63B: QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) (qscopedpointer.h:54) ==27719== by 0x8F7AC26: QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() (qscopedpointer.h:101) ==27719== by 0x8F701AC: QObject::~QObject() (qobject.cpp:882) ==27719== by 0x7F0B143: QWidget::~QWidget() (qwidget.cpp:1518) ==27719== by 0x80BE5CE: QMenu::~QMenu() (qmenu.cpp:1367) ==27719== by 0x80BE607: QMenu::~QMenu() (qmenu.cpp:1384) ==27719== by 0x8F78A81: qDeleteInEventHandler(QObject*) (qobject.cpp:4391) ==27719== by 0x8F7049D: QObject::event(QEvent*) (qobject.cpp:1236) ==27719== by 0x7F1F12B: QWidget::event(QEvent*) (qwidget.cpp:9084) ==27719== by 0x80C25F5: QMenu::event(QEvent*) (qmenu.cpp:2516)
*** Bug 347655 has been marked as a duplicate of this bug. ***
*** Bug 345933 has been marked as a duplicate of this bug. ***
*** Bug 349144 has been marked as a duplicate of this bug. ***
*** Bug 349262 has been marked as a duplicate of this bug. ***
*** Bug 349293 has been marked as a duplicate of this bug. ***
*** Bug 349419 has been marked as a duplicate of this bug. ***
*** Bug 349510 has been marked as a duplicate of this bug. ***
Git commit 3d0a9cd462a7ab256b65dec7ed2035e0d7658818 by David Edmundson. Committed on 06/07/2015 at 08:53. Pushed by davidedmundson into branch 'master'. Use upcoming version of libdbusmenu-qt This contains a temporary fork of the importer, with the main paths fixed. The old code spawned a new event loop in the signal QMenu::aboutToShow() This refetched the menu, even though we had already fetched it, before calling show. Spawning new event loops from a QML function, leads to all sorts of crashes. This fixes that, and saves some pointless DBus traffic Related: bug 345838, bug 345933 REVIEW: 123992 M +5 -2 dataengines/statusnotifieritem/CMakeLists.txt A +2 -0 dataengines/statusnotifieritem/libdbusmenuqt/README A +532 -0 dataengines/statusnotifieritem/libdbusmenuqt/dbusmenuimporter.cpp [License: LGPL (v2+)] A +109 -0 dataengines/statusnotifieritem/libdbusmenuqt/dbusmenuimporter.h [License: LGPL (v2+)] A +82 -0 dataengines/statusnotifieritem/libdbusmenuqt/dbusmenushortcut_p.cpp [License: LGPL (v2+)] A +39 -0 dataengines/statusnotifieritem/libdbusmenuqt/dbusmenushortcut_p.h [License: LGPL (v2+)] A +111 -0 dataengines/statusnotifieritem/libdbusmenuqt/dbusmenutypes_p.cpp [License: LGPL (v2+)] A +93 -0 dataengines/statusnotifieritem/libdbusmenuqt/dbusmenutypes_p.h [License: LGPL (v2+)] A +64 -0 dataengines/statusnotifieritem/libdbusmenuqt/utils.cpp [License: LGPL (v2+)] A +31 -0 dataengines/statusnotifieritem/libdbusmenuqt/utils_p.h [License: LGPL (v2+)] http://commits.kde.org/plasma-workspace/3d0a9cd462a7ab256b65dec7ed2035e0d7658818
*** Bug 350149 has been marked as a duplicate of this bug. ***
*** Bug 350977 has been marked as a duplicate of this bug. ***
*** Bug 357124 has been marked as a duplicate of this bug. ***