Bug 378723

Summary: Dolphin crashes while logging out.
Product: [Frameworks and Libraries] QtCurve Reporter: Tony <jodr666>
Component: qt5Assignee: Yichao Yu <yyc1992>
Status: RESOLVED DUPLICATE    
Severity: normal CC: elvis.angelaccio, hein
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Tony 2017-04-12 23:41:44 UTC
As the title says. Have a dolphin instance running then log out. You'll get a crash window instead of dolphin ending cleanly.

Here is the trace i managed to get:

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

Thread 3 (Thread 0x7fcfe4ff5700 (LWP 14139)):
#0  0x00007fd00b5f9b5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fd0001e938c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd0001e949c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd00632675b in QEventDispatcherGlib::processEvents (this=0x7fcfd80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007fd0062d10ba in QEventLoop::exec (this=this@entry=0x7fcfe4ff4d00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#5  0x00007fd006100f64 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:507
#6  0x00007fd006105b48 in QThreadPrivate::start (arg=0x2605290) at thread/qthread_unix.cpp:368
#7  0x00007fd00253e6ba in start_thread (arg=0x7fcfe4ff5700) at pthread_create.c:333
#8  0x00007fd00b60582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fcfe57f6700 (LWP 14138)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007fcfec77ae44 in ?? () from /usr/lib/nvidia-378/libGLX_nvidia.so.0
#2  0x00007fcfe65c2394 in ?? () from /usr/lib/nvidia-378/libnvidia-glcore.so.378.13
#3  0x00007fcfec77a12c in ?? () from /usr/lib/nvidia-378/libGLX_nvidia.so.0
#4  0x00007fd00253e6ba in start_thread (arg=0x7fcfe57f6700) at pthread_create.c:333
#5  0x00007fd00b60582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fd00bbff8c0 (LWP 14132)):
[KCrash Handler]
#6  std::__atomic_base<QMutexData*>::compare_exchange_strong (__m2=<optimized out>, __m1=std::memory_order_acquire, __p2=<optimized out>, __p1=@0x7ffef8903f88: 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=@0x7ffef8903f88: 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 0x00007fd00bce49af 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 0x00007fd00bce5a5a in QDBusConnection::sessionBus () at qdbusconnection.cpp:1177
#15 0x00007fcff515198d in QtCurve::Style::disconnectDBus (this=0x250b040) at /workspace/build/qt5/style/qtcurve.cpp:702
#16 0x00007fcff518db56 in QtCurve::runAllCleanups () at /workspace/build/qt5/style/qtcurve_plugin.cpp:86
#17 QtCurve::StylePlugin::~StylePlugin (this=0x200f510, __in_chrg=<optimized out>) at /workspace/build/qt5/style/qtcurve_plugin.cpp:167
#18 0x00007fcff518db89 in QtCurve::StylePlugin::~StylePlugin (this=0x200f510, __in_chrg=<optimized out>) at /workspace/build/qt5/style/qtcurve_plugin.cpp:170
#19 0x00007fd0062c8189 in QLibraryPrivate::unload (this=this@entry=0x1ff30f0, flag=flag@entry=QLibraryPrivate::UnloadSys) at plugin/qlibrary.cpp:562
#20 0x00007fd0062be1a2 in QFactoryLoaderPrivate::~QFactoryLoaderPrivate (this=0x1ff2e00, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:86
#21 0x00007fd0062be2c9 in QFactoryLoaderPrivate::~QFactoryLoaderPrivate (this=0x1ff2e00, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:89
#22 0x00007fd00630585c in QScopedPointerDeleter<QObjectData>::cleanup (pointer=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:60
#23 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer (this=0x7fd0070bccc8 <(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 0x00007fd0062bd73a in QFactoryLoader::~QFactoryLoader (this=0x7fd0070bccc0 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder>, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:205
#26 0x00007fd006c291c9 in (anonymous namespace)::Q_QGS_loader::Holder::~Holder (this=<optimized out>, __in_chrg=<optimized out>) at styles/qstylefactory.cpp:72
#27 0x00007fd00b538ff8 in __run_exit_handlers (status=0, listp=0x7fd00b8c25f8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#28 0x00007fd00b539045 in __GI_exit (status=<optimized out>) at exit.c:104
#29 0x00007fd00b51f837 in __libc_start_main (main=0x4006b0 <main(int, char**)>, argc=1, argv=0x7ffef89043a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffef8904398) at ../csu/libc-start.c:325
#30 0x00000000004006e9 in _start ()
Comment 1 Elvis Angelaccio 2017-04-13 13:53:58 UTC
Are you using QtCurve? Does it also crash if you run "dolphin --style fusion" ?
Comment 2 Tony 2017-04-14 01:02:33 UTC
(In reply to Elvis Angelaccio from comment #1)
> Are you using QtCurve? Does it also crash if you run "dolphin --style
> fusion" ?

Yes i am using Qtcurve.
Comment 3 Tony 2017-04-15 19:20:56 UTC
(In reply to Elvis Angelaccio from comment #1)
> Are you using QtCurve? Does it also crash if you run "dolphin --style
> fusion" ?

Running dolphin --style fusion does not causes the crash on logout.

Although i ran dolphin --fusion crashes dolphin.
Comment 4 Elvis Angelaccio 2017-04-15 19:38:51 UTC
Thanks. Moving to QtCurve for investigation.
Comment 5 Yichao Yu 2017-04-21 14:58:53 UTC

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