Bug 386089

Summary: [Wayland] System settings crash
Product: [Applications] systemsettings Reporter: Tony <jodr666>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: jagannathante, mgraesslin
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New trace

Description Tony 2017-10-23 02:38:29 UTC
Application: systemsettings5 (5.11.90)

Qt Version: 5.10.0
Frameworks Version: 5.39.0
Operating System: Linux 4.13.6-1-default x86_64
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:
Clicked on "Printers", gave my root password and closed system settings right after without touching anything else.
I had no printer install when it happen.

The crash can be reproduced sometimes.

-- Backtrace:
Application: System Settings (systemsettings5), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7ff855202900 (LWP 19207))]

Thread 11 (Thread 0x7ff7ecf28700 (LWP 19395)):
[KCrash Handler]
#6  0x00007ff850d690d0 in raise () from /lib64/libc.so.6
#7  0x00007ff850d6a6b1 in abort () from /lib64/libc.so.6
#8  0x00007ff85151b5f1 in QMessageLogger::fatal(char const*, ...) const () from /usr/lib64/libQt5Core.so.5
#9  0x00007ff852b8e36f in QPixmap::QPixmap() () from /usr/lib64/libQt5Gui.so.5
#10 0x00007ff852b9f2c4 in QPixmapIconEngine::read(QDataStream&) () from /usr/lib64/libQt5Gui.so.5
#11 0x00007ff852ba0e06 in operator>>(QDataStream&, QIcon&) () from /usr/lib64/libQt5Gui.so.5
#12 0x00007ff842c63aa9 in KWayland::Client::PlasmaWindow::Private::<lambda()>::operator() (__closure=0x55f3c327ca38) at /usr/src/debug/kwayland-5.39.0git.20171020T154518~1203580/src/client/plasmawindowmanagement.cpp:538
#13 QtConcurrent::StoredFunctorCall0<QIcon, KWayland::Client::PlasmaWindow::Private::iconChangedCallback(void*, org_kde_plasma_window*)::<lambda()> >::runFunctor (this=0x55f3c327ca10) at /usr/include/qt5/QtConcurrent/qtconcurrentstoredfunctioncall.h:60
#14 QtConcurrent::RunFunctionTask<QIcon>::run (this=0x55f3c327ca10) at /usr/include/qt5/QtConcurrent/qtconcurrentrunbase.h:108
#15 0x00007ff85152afa1 in QThreadPoolThread::run() () from /usr/lib64/libQt5Core.so.5
#16 0x00007ff85152ebc0 in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5
#17 0x00007ff84cb6a558 in start_thread () from /lib64/libpthread.so.0
#18 0x00007ff850e2b45f in clone () from /lib64/libc.so.6

Thread 10 (Thread 0x7ff7ee3aa700 (LWP 19392)):
#0  0x00007ffe7d4ae977 in ?? ()
#1  0x00007ffe7d4aec30 in clock_gettime ()
#2  0x00007ff850e38d46 in clock_gettime () from /lib64/libc.so.6
#3  0x00007ff85175c241 in qt_gettime() () from /usr/lib64/libQt5Core.so.5
#4  0x00007ff85175ab19 in QTimerInfoList::updateCurrentTime() () from /usr/lib64/libQt5Core.so.5
#5  0x00007ff85175b095 in QTimerInfoList::timerWait(timespec&) () from /usr/lib64/libQt5Core.so.5
#6  0x00007ff85175cb7c in idleTimerSourcePrepare(_GSource*, int*) () from /usr/lib64/libQt5Core.so.5
#7  0x00007ff84abb0688 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#8  0x00007ff84abb107b in ?? () from /usr/lib64/libglib-2.0.so.0
#9  0x00007ff84abb125c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#10 0x00007ff85175c82b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#11 0x00007ff85170375a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#12 0x00007ff851529daa in QThread::exec() () from /usr/lib64/libQt5Core.so.5
#13 0x00007ff7fcdfbf67 in KCupsConnection::run() () from /usr/lib64/libkcupslib.so
#14 0x00007ff85152ebc0 in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5
#15 0x00007ff84cb6a558 in start_thread () from /lib64/libpthread.so.0
#16 0x00007ff850e2b45f in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7ff8267fc700 (LWP 19216)):
#0  0x00007ff84cb7082d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff832066b1b in cnd_wait (mtx=0x55f3c281f260, cond=0x55f3c281f288) at ../../include/c11/threads_posix.h:159
#2  util_queue_thread_func (input=input@entry=0x55f3c27e5740) at u_queue.c:158
#3  0x00007ff832066a37 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#4  0x00007ff84cb6a558 in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff850e2b45f in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7ff826ffd700 (LWP 19215)):
#0  0x00007ff84cb7082d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff832066b1b in cnd_wait (mtx=0x55f3c281f260, cond=0x55f3c281f288) at ../../include/c11/threads_posix.h:159
#2  util_queue_thread_func (input=input@entry=0x55f3c27b6b20) at u_queue.c:158
#3  0x00007ff832066a37 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#4  0x00007ff84cb6a558 in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff850e2b45f in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7ff8277fe700 (LWP 19214)):
#0  0x00007ff84cb7082d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff832066b1b in cnd_wait (mtx=0x55f3c281f178, cond=0x55f3c281f1a0) at ../../include/c11/threads_posix.h:159
#2  util_queue_thread_func (input=input@entry=0x55f3c27b6b00) at u_queue.c:158
#3  0x00007ff832066a37 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#4  0x00007ff84cb6a558 in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff850e2b45f in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7ff827fff700 (LWP 19213)):
#0  0x00007ff84cb7082d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff832066b1b in cnd_wait (mtx=0x55f3c281f178, cond=0x55f3c281f1a0) at ../../include/c11/threads_posix.h:159
#2  util_queue_thread_func (input=input@entry=0x55f3c27b68f0) at u_queue.c:158
#3  0x00007ff832066a37 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#4  0x00007ff84cb6a558 in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff850e2b45f in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7ff82cfb2700 (LWP 19212)):
#0  0x00007ff84cb7082d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff832066b1b in cnd_wait (mtx=0x55f3c281f178, cond=0x55f3c281f1a0) at ../../include/c11/threads_posix.h:159
#2  util_queue_thread_func (input=input@entry=0x55f3c2822c30) at u_queue.c:158
#3  0x00007ff832066a37 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#4  0x00007ff84cb6a558 in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff850e2b45f in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7ff82d9ba700 (LWP 19211)):
#0  0x00007ff84cb7082d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff832066b1b in cnd_wait (mtx=0x55f3c27d9200, cond=0x55f3c27d9228) at ../../include/c11/threads_posix.h:159
#2  util_queue_thread_func (input=input@entry=0x55f3c26fccd0) at u_queue.c:158
#3  0x00007ff832066a37 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#4  0x00007ff84cb6a558 in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff850e2b45f in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7ff82e302700 (LWP 19210)):
#0  0x00007ff84cb7082d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff832066b1b in cnd_wait (mtx=0x55f3c2784f40, cond=0x55f3c2784f68) at ../../include/c11/threads_posix.h:159
#2  util_queue_thread_func (input=input@entry=0x55f3c27c08c0) at u_queue.c:158
#3  0x00007ff832066a37 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#4  0x00007ff84cb6a558 in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff850e2b45f in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7ff839f22700 (LWP 19209)):
#0  0x00007ff84abf66f9 in g_mutex_lock () from /usr/lib64/libglib-2.0.so.0
#1  0x00007ff84abb0144 in g_main_context_release () from /usr/lib64/libglib-2.0.so.0
#2  0x00007ff84abb1106 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007ff84abb125c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007ff85175c82b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#5  0x00007ff85170375a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#6  0x00007ff851529daa in QThread::exec() () from /usr/lib64/libQt5Core.so.5
#7  0x00007ff851b82bd5 in QDBusConnectionManager::run() () from /usr/lib64/libQt5DBus.so.5
#8  0x00007ff85152ebc0 in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5
#9  0x00007ff84cb6a558 in start_thread () from /lib64/libpthread.so.0
#10 0x00007ff850e2b45f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7ff855202900 (LWP 19207)):
#0  0x00007ff84cb7082d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff85152ff1b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQt5Core.so.5
#2  0x00007ff85152a572 in QThreadPoolPrivate::waitForDone(int) () from /usr/lib64/libQt5Core.so.5
#3  0x00007ff85152aa11 in QThreadPool::waitForDone(int) () from /usr/lib64/libQt5Core.so.5
#4  0x00007ff851707255 in QCoreApplication::~QCoreApplication() () from /usr/lib64/libQt5Core.so.5
#5  0x00007ff85331b6b9 in QApplication::~QApplication() () from /usr/lib64/libQt5Widgets.so.5
#6  0x000055f3c17ec844 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/systemsettings-5.11.90git.20171018T212230~bd26719/app/main.cpp:32

Reported using DrKonqi
Comment 1 Christoph Feck 2017-11-24 00:09:35 UTC
Unsure why KWayland is run in non-GUI thread, or why it references QPixmap, which can only be used from main thread.
Comment 2 Tony 2018-03-30 05:53:28 UTC
Can't reproduced anymore with recent updates. Marking as "Works for me" since i have no idea if it is properly fixed.
Comment 3 Tony 2018-03-30 06:08:47 UTC
Created attachment 111731 [details]
New trace

To reproduce always:
Open system settings, click on "Printers".
Fill the root password prompt and then close the window.
Comment 4 Tony 2018-03-30 06:09:45 UTC
(In reply to Tony from comment #3)
> Created attachment 111731 [details]
> New trace
> 
> To reproduce always:
> Open system settings, click on "Printers".
> Fill the root password prompt and then close the window.

Don't mind comment #2
Comment 5 Christoph Feck 2018-03-30 19:39:52 UTC
*** Bug 391809 has been marked as a duplicate of this bug. ***
Comment 6 Christoph Feck 2018-09-05 00:50:08 UTC

*** This bug has been marked as a duplicate of bug 396591 ***