Bug 355853

Summary: kiod5 aborts when a kpasswdserverclient connects
Product: [Frameworks and Libraries] frameworks-kio Reporter: Martin Flöser <mgraesslin>
Component: generalAssignee: David Faure <faure>
Status: RESOLVED FIXED    
Severity: crash CC: kdelibs-bugs
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Martin Flöser 2015-11-24 17:11:44 UTC
Backtrace of the kiod5 process. I run it manually through gdb as I got it quite reliable to crash.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffde66c700 (LWP 23324)]
0x00007ffff4dc1107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007ffff4dc1107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff4dc24e8 in __GI_abort () at abort.c:89
#2  0x00007ffff5ab10df in qt_message_fatal (context=..., message=...) at global/qlogging.cpp:1610
#3  0x00007ffff5aad7aa in QMessageLogger::fatal (this=0x7fffde66a6f0, msg=0x7ffff5dd9910 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:784
#4  0x00007ffff5aa68ca in qt_assert (assertion=0x7ffff6cf4da8 "thread() != QThread::currentThread()", file=0x7ffff6cf3f48 "qdbusintegrator.cpp", line=2055) at global/qglobal.cpp:3044
#5  0x00007ffff6ca50ae in QDBusConnectionPrivate::connectSignal (this=0x7fffd80030f0, service=..., path=..., interface=..., name=..., argumentMatch=..., signature=..., receiver=0x7fffd80185c0, 
    slot=0x7ffff6cfc590 "1_q_serviceOwnerChanged(QString,QString,QString)") at qdbusintegrator.cpp:2055
#6  0x00007ffff6ca670d in QDBusConnectionPrivate::watchService (this=0x7fffd80030f0, service=..., mode=..., obj=0x7fffd80185c0, member=0x7ffff6cfc590 "1_q_serviceOwnerChanged(QString,QString,QString)") at qdbusintegrator.cpp:2314
#7  0x00007ffff6cef096 in QDBusServiceWatcherPrivate::addService (this=0x7fffd8025a20, service=...) at qdbusservicewatcher.cpp:100
#8  0x00007ffff6ceefd1 in QDBusServiceWatcherPrivate::setConnection (this=0x7fffd8025a20, s=..., c=..., wm=...) at qdbusservicewatcher.cpp:92
#9  0x00007ffff6cef290 in QDBusServiceWatcher::QDBusServiceWatcher (this=0x7fffd80185c0, service=..., connection=..., watchMode=..., parent=0x7fffd8018890) at qdbusservicewatcher.cpp:234
#10 0x00007ffff6cb6f66 in QDBusAbstractInterfacePrivate::initOwnerTracking (this=0x7fffd8019140) at qdbusabstractinterface.cpp:130
#11 0x00007ffff6cb824c in QDBusAbstractInterface::QDBusAbstractInterface (this=0x7fffd8018890, service=..., path=..., interface=0x7fffdca1138a "org.kde.KWallet", con=..., parent=0x0) at qdbusabstractinterface.cpp:337
#12 0x00007fffdca0cc63 in OrgKdeKWalletInterface::OrgKdeKWalletInterface (this=0x7fffd8018890, service=..., path=..., connection=..., parent=0x0) at /opt/build/kf5/frameworks/kwallet/src/api/KWallet/kwallet_interface.cpp:19
#13 0x00007fffdca00954 in KWallet::KWalletDLauncher::KWalletDLauncher (this=0x7fffdcc1af00 <KWallet::(anonymous namespace)::Q_QGS_walletLauncher::innerFunction()::holder>)
    at /home/martin/src/kf5/frameworks/kwallet/src/api/KWallet/kwallet.cpp:1600
#14 0x00007fffdc9fc6b6 in KWallet::(anonymous namespace)::Q_QGS_walletLauncher::Holder::Holder (this=0x7fffdcc1af00 <KWallet::(anonymous namespace)::Q_QGS_walletLauncher::innerFunction()::holder>)
    at /home/martin/src/kf5/frameworks/kwallet/src/api/KWallet/kwallet.cpp:68
#15 0x00007fffdc9fc724 in KWallet::(anonymous namespace)::Q_QGS_walletLauncher::innerFunction () at /home/martin/src/kf5/frameworks/kwallet/src/api/KWallet/kwallet.cpp:68
#16 0x00007fffdca01362 in QGlobalStatic<KWallet::KWalletDLauncher, KWallet::(anonymous namespace)::Q_QGS_walletLauncher::innerFunction, KWallet::(anonymous namespace)::Q_QGS_walletLauncher::guard>::operator() (
    this=0x7fffdcc1aef0 <KWallet::walletLauncher>) at /opt/qt5/include/QtCore/qglobalstatic.h:129
#17 0x00007fffdca0064d in KWallet::Wallet::keyDoesNotExist (wallet=..., folder=..., key=...) at /home/martin/src/kf5/frameworks/kwallet/src/api/KWallet/kwallet.cpp:1573
#18 0x00007fffdcc22ac6 in KPasswdServer::checkAuthInfoAsync (this=0x7fffd80154b0, info=..., windowId=0, usertime=85968916) at /home/martin/src/kf5/frameworks/kio/src/kpasswdserver/kpasswdserver.cpp:326
#19 0x00007fffdcc30a26 in KPasswdServerAdaptor::checkAuthInfoAsync (this=0x7fffd80036e0, info=..., windowId=0, usertime=85968916) at /opt/build/kf5/frameworks/kio/src/kpasswdserver/kpasswdserveradaptor.cpp:57
#20 0x00007fffdcc30df7 in KPasswdServerAdaptor::qt_static_metacall (_o=0x7fffd80036e0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffde66b160) at /opt/build/kf5/frameworks/kio/src/kpasswdserver/kpasswdserveradaptor.moc:171
#21 0x00007fffdcc31174 in KPasswdServerAdaptor::qt_metacall (this=0x7fffd80036e0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffde66b160) at /opt/build/kf5/frameworks/kio/src/kpasswdserver/kpasswdserveradaptor.moc:224
#22 0x00007ffff6c9e558 in QDBusConnectionPrivate::deliverCall (this=0x7fffd80030f0, object=0x7fffd80036e0, msg=..., metaTypes=..., slotIdx=10) at qdbusintegrator.cpp:918
#23 0x00007ffff6c9dd48 in QDBusConnectionPrivate::activateCall (this=0x7fffd80030f0, object=0x7fffd80036e0, flags=497, msg=...) at qdbusintegrator.cpp:820
#24 0x00007ffff6ca157a in QDBusConnectionPrivate::activateObject (this=0x7fffd80030f0, node=..., msg=..., pathStartPos=22) at qdbusintegrator.cpp:1357
#25 0x00007ffff6ca1dd2 in QDBusActivateObjectEvent::placeMetaCall (this=0x7fffd8018600) at qdbusintegrator.cpp:1475
#26 0x00007ffff5d2e0f6 in QObject::event (this=0x7fffd80154b0, e=0x7fffd8018600) at kernel/qobject.cpp:1256
#27 0x00007ffff5cf4372 in QCoreApplicationPrivate::notify_helper (receiver=0x7fffd80154b0, event=0x7fffd8018600) at kernel/qcoreapplication.cpp:1136
#28 0x00007ffff5cf3ff5 in doNotify (receiver=0x7fffd80154b0, event=0x7fffd8018600) at kernel/qcoreapplication.cpp:1077
#29 0x00007ffff5cf3ec9 in QCoreApplication::notifyInternal2 (receiver=0x7fffd80154b0, event=0x7fffd8018600) at kernel/qcoreapplication.cpp:1001
#30 0x00007ffff5cf7f2e in QCoreApplication::sendEvent (receiver=0x7fffd80154b0, event=0x7fffd8018600) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:227
#31 0x00007ffff5cf52e0 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x69c2a0) at kernel/qcoreapplication.cpp:1636
#32 0x00007ffff5cf4c60 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1494
#33 0x00007ffff5d6cda4 in postEventSourceDispatch (s=0x7fffd80012d0) at kernel/qeventdispatcher_glib.cpp:270
#34 0x00007ffff0b72fe7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff0b73240 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007ffff0b732ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007ffff5d6d57d in QEventDispatcherGlib::processEvents (this=0x7fffd80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#38 0x00007ffff5cf079c in QEventLoop::processEvents (this=0x7fffde66bc70, flags=...) at kernel/qeventloop.cpp:128
---Type <return> to continue, or q <return> to quit---
#39 0x00007ffff5cf0a98 in QEventLoop::exec (this=0x7fffde66bc70, flags=...) at kernel/qeventloop.cpp:204
#40 0x00007ffff5abde6e in QThread::exec (this=0x7ffff6d27920 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:503
#41 0x00007ffff6c913da in QDBusConnectionManager::run (this=0x7ffff6d27920 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:152
#42 0x00007ffff5ac5c65 in QThreadPrivate::start (arg=0x7ffff6d27920 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#43 0x00007ffff44ab0a4 in start_thread (arg=0x7fffde66c700) at pthread_create.c:309
#44 0x00007ffff4e7206d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111


The kioslave which tried to connect is now rather dead:
Thread 1 (Thread 0x7f2b86cd3900 (LWP 23326)):
#0  0x00007f2b83eda52d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f2b7f5c11dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f2b7f5c12ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f2b84d9e57d in QEventDispatcherGlib::processEvents (this=0x1391f20, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f2b84d2179c in QEventLoop::processEvents (this=0x7ffe4e841670, flags=...) at kernel/qeventloop.cpp:128
#5  0x00007f2b84d21a98 in QEventLoop::exec (this=0x7ffe4e841670, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f2b7b2af1a5 in KIO::KPasswdServerLoop::waitForResult (this=0x7ffe4e841670, requestId=0) at /home/martin/src/kf5/frameworks/kio/src/core/kpasswdserverloop.cpp:47
#7  0x00007f2b7b2afab2 in KIO::KPasswdServerClient::checkAuthInfo (this=0x15a3310, info=..., windowId=0, usertime=85968916) at /home/martin/src/kf5/frameworks/kio/src/core/kpasswdserverclient.cpp:69
#8  0x00007f2b7b2b72a8 in KIO::SlaveBase::checkCachedAuthentication (this=0x7ffe4e842c50, info=...) at /home/martin/src/kf5/frameworks/kio/src/core/slavebase.cpp:1285
#9  0x00007f2b73612443 in HTTPProtocol::authenticationHeader (this=0x7ffe4e842c40) at /home/martin/src/kf5/frameworks/kio/src/ioslaves/http/http.cpp:5137
#10 0x00007f2b73600f46 in HTTPProtocol::sendQuery (this=0x7ffe4e842c40) at /home/martin/src/kf5/frameworks/kio/src/ioslaves/http/http.cpp:2619
#11 0x00007f2b735f352d in HTTPProtocol::proceedUntilResponseHeader (this=0x7ffe4e842c40) at /home/martin/src/kf5/frameworks/kio/src/ioslaves/http/http.cpp:659
#12 0x00007f2b735f3350 in HTTPProtocol::proceedUntilResponseContent (this=0x7ffe4e842c40, dataInternal=false) at /home/martin/src/kf5/frameworks/kio/src/ioslaves/http/http.cpp:629
#13 0x00007f2b735f5116 in HTTPProtocol::davGeneric (this=0x7ffe4e842c40, url=..., method=KIO::DAV_PROPFIND, size=239) at /home/martin/src/kf5/frameworks/kio/src/ioslaves/http/http.cpp:923
#14 0x00007f2b7360cced in HTTPProtocol::special (this=0x7ffe4e842c40, data=...) at /home/martin/src/kf5/frameworks/kio/src/ioslaves/http/http.cpp:4105
#15 0x00007f2b7b2b6f14 in KIO::SlaveBase::dispatch (this=0x7ffe4e842c50, command=77, data=...) at /home/martin/src/kf5/frameworks/kio/src/core/slavebase.cpp:1239
#16 0x00007f2b7b2b2d84 in KIO::SlaveBase::dispatchLoop (this=0x7ffe4e842c50) at /home/martin/src/kf5/frameworks/kio/src/core/slavebase.cpp:299
#17 0x00007f2b735efd4d in kdemain (argc=4, argv=0x13ddd30) at /home/martin/src/kf5/frameworks/kio/src/ioslaves/http/http.cpp:127
#18 0x000000000040c459 in launch (argc=4, _name=0x13de118 "/opt/kf5/lib/x86_64-linux-gnu/plugins/kf5/kio/http.so", args=0x13de1d2 "", cwd=0x0, envc=0, envs=0x13de1da "", reset_env=false, tty=0x0, avoid_loops=false, 
    startup_id_str=0x4135cf "0") at /home/martin/src/kf5/frameworks/kinit/src/kdeinit/kinit.cpp:745
#19 0x000000000040d5d4 in handle_launcher_request (sock=8, who=0x413864 "launcher") at /home/martin/src/kf5/frameworks/kinit/src/kdeinit/kinit.cpp:1185
#20 0x000000000040defa in handle_requests (waitForPid=0) at /home/martin/src/kf5/frameworks/kinit/src/kdeinit/kinit.cpp:1374
#21 0x000000000040f5cf in main (argc=5, argv=0x7ffe4e8438a8) at /home/martin/src/kf5/frameworks/kinit/src/kdeinit/kinit.cpp:1865

Reproducible: Always

Steps to Reproduce:
1. try to connect to my owncloud instance from korganizer
Comment 1 David Faure 2015-11-25 07:42:13 UTC
What's the stderr message of the assert?
Comment 2 Martin Flöser 2015-11-25 08:20:54 UTC
Complete output from another run:
/opt/kf5/lib/x86_64-linux-gnu/libexec/kf5/kiod5 
kiod5(18552)/(org.kde.kwindowsystem) loadPlugin: Loaded plugin "/opt/kf5/lib/x86_64-linux-gnu/plugins/kf5/org.kde.kwindowsystem.platforms/KF5WindowSystemX11Plugin.so" for platform "xcb"
kiod5(18552)/(org.kde.kio.kpasswdserver) KPasswdServer::checkAuthInfoAsync: User = "" , WindowId = 0
kiod5(18552)/(default) qt_assert: ASSERT: "thread() != QThread::currentThread()" in file qdbusintegrator.cpp, line 2055
Aborted
Comment 4 Martin Flöser 2015-12-07 14:22:54 UTC
Thanks, I can confirm that after recompiling kio it works again.