Bug 377353

Summary: Crash on login while using "QtCurve".
Product: [Frameworks and Libraries] QtCurve Reporter: Tony <jodr666>
Component: qt5Assignee: Yichao Yu <yyc1992>
Status: RESOLVED DUPLICATE    
Severity: normal CC: beojan, hein, plasma-bugs
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Tony 2017-03-07 19:23:11 UTC
"Segmentation fault (11)", started after i installed:
"indicator-multiload".

As soon as log out and back in i get this crash, although "indicator-multiload" is running.
Also not sure if related but "indicator-multiload" can't open "systemmoitor", i can run it from a terminal, krunner no problem.

Backtrace:

Application: kactivitymanagerd (kactivitymanagerd), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f5b7bd3e8c0 (LWP 10303))]

Thread 2 (Thread 0x7f5b700f8700 (LWP 10306)):
#0  0x00007f5b79d2bb5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5b796d2c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f5b796d48d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f5b72cc4d79 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f5b7a437b48 in QThreadPrivate::start (arg=0x2665da0) at thread/qthread_unix.cpp:368
#5  0x00007f5b78d686ba in start_thread (arg=0x7f5b700f8700) at pthread_create.c:333
#6  0x00007f5b79d3782d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f5b7bd3e8c0 (LWP 10303)):
[KCrash Handler]
#6  std::__atomic_base<QMutexData*>::compare_exchange_strong (__m2=<optimized out>, __m1=std::memory_order_acquire, __p2=<optimized out>, __p1=@0x7ffd8712d168: 0x0, this=0x20) at /usr/include/c++/5/bits/atomic_base.h:752
#7  std::atomic<QMutexData*>::compare_exchange_strong (__m=std::memory_order_acquire, __p2=<optimized out>, __p1=@0x7ffd8712d168: 0x0, this=0x20) at /usr/include/c++/5/atomic:475
#8  QAtomicOps<QMutexData*>::testAndSetAcquire<QMutexData*> (currentValue=<synthetic pointer>, newValue=<optimized out>, expectedValue=0x0, _q_value=...) at ../../include/QtCore/../../src/corelib/arch/qatomic_cxx11.h:290
#9  QBasicAtomicPointer<QMutexData>::testAndSetAcquire (currentValue=<synthetic pointer>, newValue=<optimized out>, expectedValue=0x0, this=0x20) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:259
#10 QBasicMutex::fastTryLock (current=<synthetic pointer>, this=0x20) at thread/qmutex.h:89
#11 QMutex::lock (this=this@entry=0x20) at thread/qmutex.cpp:225
#12 0x00007f5b7bde69af in QMutexLocker::QMutexLocker (m=0x20, this=<synthetic pointer>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:137
#13 QDBusConnectionManager::busConnection (this=0x0, type=type@entry=QDBusConnection::SessionBus) at qdbusconnection.cpp:109
#14 0x00007f5b7bde7a5a in QDBusConnection::sessionBus () at qdbusconnection.cpp:1177
#15 0x00007f5b63cfb8bd in QtCurve::Style::disconnectDBus (this=0x26d75e0) at /workspace/build/qt5/style/qtcurve.cpp:695
#16 0x00007f5b63d37726 in QtCurve::runAllCleanups () at /workspace/build/qt5/style/qtcurve_plugin.cpp:86
#17 QtCurve::StylePlugin::~StylePlugin (this=0x26a6e00, __in_chrg=<optimized out>) at /workspace/build/qt5/style/qtcurve_plugin.cpp:167
#18 0x00007f5b63d37759 in QtCurve::StylePlugin::~StylePlugin (this=0x26a6e00, __in_chrg=<optimized out>) at /workspace/build/qt5/style/qtcurve_plugin.cpp:170
#19 0x00007f5b7a5fa189 in QLibraryPrivate::unload (this=this@entry=0x26a6c30, flag=flag@entry=QLibraryPrivate::UnloadSys) at plugin/qlibrary.cpp:562
#20 0x00007f5b7a5f01a2 in QFactoryLoaderPrivate::~QFactoryLoaderPrivate (this=0x26a6140, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:86
#21 0x00007f5b7a5f02c9 in QFactoryLoaderPrivate::~QFactoryLoaderPrivate (this=0x26a6140, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:89
#22 0x00007f5b7a63785c in QScopedPointerDeleter<QObjectData>::cleanup (pointer=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:60
#23 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer (this=0x7f5b7b3a6cc8 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder+8>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107
#24 QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:900
#25 0x00007f5b7a5ef73a in QFactoryLoader::~QFactoryLoader (this=0x7f5b7b3a6cc0 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder>, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:205
#26 0x00007f5b7af131c9 in (anonymous namespace)::Q_QGS_loader::Holder::~Holder (this=<optimized out>, __in_chrg=<optimized out>) at styles/qstylefactory.cpp:72
#27 0x00007f5b79c6aff8 in __run_exit_handlers (status=0, listp=0x7f5b79ff45f8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#28 0x00007f5b79c6b045 in __GI_exit (status=<optimized out>) at exit.c:104
#29 0x00007f5b7ba5a27a in KDBusService::KDBusService (this=0x7ffd8712d740, options=..., parent=<optimized out>) at /workspace/build/src/kdbusservice.cpp:120
#30 0x0000000000408dc9 in main (argc=2, argv=0x7ffd8712d888) at /workspace/build/src/service/Application.cpp:404
Comment 1 Ivan Čukić 2017-03-08 14:12:51 UTC
Does it crash if you do not use QtCurve (since the crash is in the deinit process of QtCurve)?

(p.s. this is a crash on exit - something asks kamd to quit and QtCurve crashes)
Comment 2 Tony 2017-03-08 16:32:34 UTC
(In reply to Ivan Čukić from comment #1)
> Does it crash if you do not use QtCurve (since the crash is in the deinit
> process of QtCurve)?
> 
> (p.s. this is a crash on exit - something asks kamd to quit and QtCurve
> crashes)

Qtcurve is the culprit! Setting "Breeze" back does not trigger the crash.

I'll edit the title.
Comment 3 beojan 2017-04-20 08:57:29 UTC
Similar crash. Here's my backtrace

Application: kactivitymanagerd (kactivitymanagerd), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa8eef344c0 (LWP 1833))]

Thread 2 (Thread 0x7fa8e20bb700 (LWP 1837)):
#0  0x00007fa8ec7de67d in poll () from /usr/lib/libc.so.6
#1  0x00007fa8ebf9c8e0 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007fa8ebf9e679 in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007fa8e4c519e9 in QXcbEventReader::run (this=0x1cae2f0) at qxcbconnection.cpp:1345
#4  0x00007fa8eced76b8 in QThreadPrivate::start (arg=0x1cae2f0) at thread/qthread_unix.cpp:368
#5  0x00007fa8eb4392e7 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007fa8ec7e854f in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7fa8eef344c0 (LWP 1833)):
[KCrash Handler]
#6  std::__atomic_base<QMutexData*>::compare_exchange_strong (__m2=std::memory_order_acquire, __m1=std::memory_order_acquire, __p2=<optimized out>, __p1=@0x7ffd9e5e1d08: 0x0, this=0x20) at /usr/include/c++/6.3.1/bits/atomic_base.h:752
#7  std::atomic<QMutexData*>::compare_exchange_strong (__m2=std::memory_order_acquire, __m1=std::memory_order_acquire, __p2=<optimized out>, __p1=@0x7ffd9e5e1d08: 0x0, this=0x20) at /usr/include/c++/6.3.1/atomic:466
#8  QAtomicOps<QMutexData*>::testAndSetAcquire<QMutexData*> (currentValue=<synthetic pointer>, newValue=<optimized out>, expectedValue=0x0, _q_value=...) at ../../include/QtCore/../../src/corelib/arch/qatomic_cxx11.h:290
#9  QBasicAtomicPointer<QMutexData>::testAndSetAcquire (currentValue=<synthetic pointer>: <optimized out>, newValue=<optimized out>, expectedValue=0x0, this=0x20) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:262
#10 QBasicMutex::fastTryLock (current=<synthetic pointer>: <optimized out>, this=0x20) at thread/qmutex.h:101
#11 QMutex::lock (this=this@entry=0x20) at thread/qmutex.cpp:224
#12 0x00007fa8eda1cab7 in QMutexLocker::QMutexLocker (m=0x20, this=<synthetic pointer>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:199
#13 QDBusConnectionManager::busConnection (this=0x0, type=type@entry=QDBusConnection::SessionBus) at qdbusconnection.cpp:105
#14 0x00007fa8eda1db7c in QDBusConnection::sessionBus () at qdbusconnection.cpp:1169
#15 0x00007fa8d5097956 in QtCurve::Style::disconnectDBus() () from /usr/lib/qt/plugins/styles/qtcurve.so
#16 0x00007fa8d50d5236 in QtCurve::StylePlugin::~StylePlugin() () from /usr/lib/qt/plugins/styles/qtcurve.so
#17 0x00007fa8ed0a65b9 in QLibraryPrivate::unload (this=this@entry=0x1d081a0, flag=flag@entry=QLibraryPrivate::UnloadSys) at plugin/qlibrary.cpp:562
#18 0x00007fa8ed09c252 in QFactoryLoaderPrivate::~QFactoryLoaderPrivate (this=0x1d012d0, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:86
#19 0x00007fa8ed09c379 in QFactoryLoaderPrivate::~QFactoryLoaderPrivate (this=0x1d012d0, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:89
#20 0x00007fa8ed0e4fd7 in QScopedPointerDeleter<QObjectData>::cleanup (pointer=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:60
#21 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer (this=0x7fa8ee4ef858 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder+8>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107
#22 QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:900
#23 0x00007fa8ed09b7ae in QFactoryLoader::~QFactoryLoader (this=0x7fa8ee4ef850 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder>, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:211
#24 0x00007fa8ede5b389 in (anonymous namespace)::Q_QGS_loader::Holder::~Holder (this=<optimized out>, __in_chrg=<optimized out>) at styles/qstylefactory.cpp:66
#25 0x00007fa8ec7326c0 in __run_exit_handlers () from /usr/lib/libc.so.6
#26 0x00007fa8ec73271a in exit () from /usr/lib/libc.so.6
#27 0x00007fa8eeba485f in KDBusService::KDBusService(QFlags<KDBusService::StartupOption>, QObject*) () from /usr/lib/libKF5DBusAddons.so.5
#28 0x0000000000408e54 in ?? ()
#29 0x00007fa8ec71c511 in __libc_start_main () from /usr/lib/libc.so.6
#30 0x00000000004090ea in _start ()
Comment 4 Yichao Yu 2017-04-21 15:00:23 UTC

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