Bug 287896

Summary: kwalletd has crashed when kdesvn tried to access it
Product: [Unmaintained] kdelibs Reporter: Thomas Dreibholz <dreibh>
Component: kwalletAssignee: Michael Leupold <lemma>
Status: RESOLVED WORKSFORME    
Severity: crash CC: blagozlatev, dreibh, myriam
Priority: NOR    
Version First Reported In: 0.2   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description Thomas Dreibholz 2011-11-30 08:47:12 UTC
Application: kwalletd (0.2)
KDE Platform Version: 4.7.3 (4.7.3)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-13-generic x86_64
Distribution: Ubuntu 11.10

-- Information about the crash:
- What I was doing when the application crashed:

kwalletd (KDE 4.7.3, Kubuntu 11.10, 64 bit) has crashed when kdesvn tried to access it.

-- Backtrace:
Application: KDE-Dienst für digitale Brieftasche (kwalletd), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f5a3de90780 (LWP 2062))]

Thread 2 (Thread 0x7f5a2cce9700 (LWP 2205)):
#0  0x00007f5a3d7c2773 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f5a38282f68 in g_main_context_poll (n_fds=1, fds=0x8ffa10, timeout=-1, context=0x8e22d0, priority=<optimized out>) at /build/buildd/glib2.0-2.30.0/./glib/gmain.c:3402
#2  g_main_context_iterate (context=0x8e22d0, block=<optimized out>, dispatch=1, self=<optimized out>) at /build/buildd/glib2.0-2.30.0/./glib/gmain.c:3084
#3  0x00007f5a38283429 in g_main_context_iteration (context=0x8e22d0, may_block=1) at /build/buildd/glib2.0-2.30.0/./glib/gmain.c:3152
#4  0x00007f5a3c426f3e in QEventDispatcherGlib::processEvents (this=0x8284b0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f5a3c3facf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f5a3c3faef7 in QEventLoop::exec (this=0x7f5a2cce8dd0, flags=...) at kernel/qeventloop.cpp:201
#7  0x00007f5a3c31227f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#8  0x00007f5a3c3ddcbf in QInotifyFileSystemWatcherEngine::run (this=0xbbbfc0) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007f5a3c314d05 in QThreadPrivate::start (arg=0xbbbfc0) at thread/qthread_unix.cpp:331
#10 0x00007f5a391a9efc in start_thread (arg=0x7f5a2cce9700) at pthread_create.c:304
#11 0x00007f5a3d7ce89d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f5a3de90780 (LWP 2062)):
[KCrash Handler]
#6  at (this=0x6d5890, i=6) at ../../include/QtCore/../../src/corelib/tools/qlist.h:96
#7  removeAt (i=6, this=0x6d5890) at ../../include/QtCore/../../src/corelib/tools/qlist.h:469
#8  QList<QString>::removeOne (this=0x6d5890, _t=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qlist.h:781
#9  0x00007f5a3daa2b52 in KWalletD::slotServiceOwnerChanged (this=0x7fff0e410300, name=<optimized out>, oldOwner=..., newOwner=<optimized out>) at ../../kwalletd/kwalletd.cpp:1204
#10 0x00007f5a3daa41b0 in KWalletD::qt_metacall (this=0x7fff0e410300, _c=QMetaObject::InvokeMetaMethod, _id=53, _a=0x7fff0e40f860) at ./kwalletd.moc:283
#11 0x00007f5a3c40eeba in QMetaObject::activate (sender=0x7fff0e4103a8, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff0e40f860) at kernel/qobject.cpp:3278
#12 0x00007f5a3c78cfbf in QDBusServiceWatcher::serviceOwnerChanged (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>) at .moc/release-shared/moc_qdbusservicewatcher.cpp:146
#13 0x00007f5a3c78cffd in QDBusServiceWatcherPrivate::_q_serviceOwnerChanged (this=<optimized out>, service=..., oldOwner=..., newOwner=...) at qdbusservicewatcher.cpp:82
#14 0x00007f5a3c78da14 in QDBusServiceWatcher::qt_metacall (this=0x7fff0e4103a8, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fff0e40fa70) at .moc/release-shared/moc_qdbusservicewatcher.cpp:91
#15 0x00007f5a3c7530e9 in QDBusConnectionPrivate::deliverCall (this=0x6d84c0, object=0x7fff0e4103a8, msg=..., metaTypes=..., slotIdx=7) at qdbusintegrator.cpp:942
#16 0x00007f5a3c75c38f in QDBusCallDeliveryEvent::placeMetaCall (this=<optimized out>, object=<optimized out>) at qdbusintegrator_p.h:103
#17 0x00007f5a3c412a5e in QObject::event (this=0x7fff0e4103a8, e=<optimized out>) at kernel/qobject.cpp:1217
#18 0x00007f5a3b7ac424 in notify_helper (e=0x901200, receiver=0x7fff0e4103a8, this=0x6e9690) at kernel/qapplication.cpp:4486
#19 QApplicationPrivate::notify_helper (this=0x6e9690, receiver=0x7fff0e4103a8, e=0x901200) at kernel/qapplication.cpp:4458
#20 0x00007f5a3b7b1291 in QApplication::notify (this=0x7fff0e4103c0, receiver=0x7fff0e4103a8, e=0x901200) at kernel/qapplication.cpp:4365
#21 0x00007f5a3d2bc126 in KApplication::notify (this=0x7fff0e4103c0, receiver=0x7fff0e4103a8, event=0x901200) at ../../kdeui/kernel/kapplication.cpp:311
#22 0x00007f5a3c3fbafc in QCoreApplication::notifyInternal (this=0x7fff0e4103c0, receiver=0x7fff0e4103a8, event=0x901200) at kernel/qcoreapplication.cpp:787
#23 0x00007f5a3c3ff51f in sendEvent (event=0x901200, receiver=0x7fff0e4103a8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#24 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x6b15e0) at kernel/qcoreapplication.cpp:1428
#25 0x00007f5a3c426a73 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#26 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:277
#27 0x00007f5a38282a5d in g_main_dispatch (context=0x6df5e0) at /build/buildd/glib2.0-2.30.0/./glib/gmain.c:2441
#28 g_main_context_dispatch (context=0x6df5e0) at /build/buildd/glib2.0-2.30.0/./glib/gmain.c:3011
#29 0x00007f5a38283258 in g_main_context_iterate (context=0x6df5e0, block=<optimized out>, dispatch=1, self=<optimized out>) at /build/buildd/glib2.0-2.30.0/./glib/gmain.c:3089
#30 0x00007f5a38283429 in g_main_context_iteration (context=0x6df5e0, may_block=1) at /build/buildd/glib2.0-2.30.0/./glib/gmain.c:3152
#31 0x00007f5a3c426ed6 in QEventDispatcherGlib::processEvents (this=0x6b2cd0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#32 0x00007f5a3b85407e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#33 0x00007f5a3c3facf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#34 0x00007f5a3c3faef7 in QEventLoop::exec (this=0x7fff0e410290, flags=...) at kernel/qeventloop.cpp:201
#35 0x00007f5a3c3ff789 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#36 0x00007f5a3da98c7f in kdemain (argc=1, argv=0x7fff0e4106f8) at ../../kwalletd/main.cpp:68
#37 0x00007f5a3d70e30d in __libc_start_main (main=0x400640 <main(int, char**)>, argc=1, ubp_av=0x7fff0e4106f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff0e4106e8) at libc-start.c:226
#38 0x0000000000400671 in _start ()

Reported using DrKonqi
Comment 1 Thomas Dreibholz 2011-11-30 08:48:20 UTC
Created attachment 66214 [details]
New crash information added by DrKonqi

kwalletd (0.2) on KDE Platform 4.7.3 (4.7.3) using Qt 4.7.4

- What I was doing when the application crashed:

kwalletd (KDE 4.7.3, Kubuntu 11.10, 64 bit) has crashed again.

-- Backtrace (Reduced):
#6  at (this=0x1bb5600, i=0) at ../../include/QtCore/../../src/corelib/tools/qlist.h:96
#7  removeAt (i=0, this=0x1bb5600) at ../../include/QtCore/../../src/corelib/tools/qlist.h:469
#8  QList<QString>::removeOne (this=0x1bb5600, _t=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qlist.h:781
#9  0x00007fcb9d0a5b52 in KWalletD::slotServiceOwnerChanged (this=0x7fff35bd4280, name=<optimized out>, oldOwner=..., newOwner=<optimized out>) at ../../kwalletd/kwalletd.cpp:1204
#10 0x00007fcb9d0a71b0 in KWalletD::qt_metacall (this=0x7fff35bd4280, _c=QMetaObject::InvokeMetaMethod, _id=53, _a=0x7fff35bd37e0) at ./kwalletd.moc:283
Comment 2 Thomas Dreibholz 2011-11-30 08:49:17 UTC
Created attachment 66215 [details]
New crash information added by DrKonqi

kwalletd (0.2) on KDE Platform 4.7.3 (4.7.3) using Qt 4.7.4

- What I was doing when the application crashed:

Another crash of kwalletd (KDE 4.7.3, Kubuntu 11.10, 64 bit).

-- Backtrace (Reduced):
#6  at (this=0x1d679c0, i=0) at ../../include/QtCore/../../src/corelib/tools/qlist.h:96
#7  removeAt (i=0, this=0x1d679c0) at ../../include/QtCore/../../src/corelib/tools/qlist.h:469
#8  QList<QString>::removeOne (this=0x1d679c0, _t=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qlist.h:781
#9  0x00007fb6c3379b52 in KWalletD::slotServiceOwnerChanged (this=0x7fff13254e70, name=<optimized out>, oldOwner=..., newOwner=<optimized out>) at ../../kwalletd/kwalletd.cpp:1204
#10 0x00007fb6c337b1b0 in KWalletD::qt_metacall (this=0x7fff13254e70, _c=QMetaObject::InvokeMetaMethod, _id=53, _a=0x7fff13252fd0) at ./kwalletd.moc:283
Comment 3 Thomas Dreibholz 2011-11-30 08:50:44 UTC
Created attachment 66216 [details]
New crash information added by DrKonqi

kwalletd (0.2) on KDE Platform 4.7.3 (4.7.3) using Qt 4.7.4

- What I was doing when the application crashed:

Another crash of kwalletd (KDE 4.7.3, Kubuntu 11.10, 64 bit) when using svn (console command).

-- Backtrace (Reduced):
#6  at (this=0xe26340, i=0) at ../../include/QtCore/../../src/corelib/tools/qlist.h:96
#7  removeAt (i=0, this=0xe26340) at ../../include/QtCore/../../src/corelib/tools/qlist.h:469
#8  QList<QString>::removeOne (this=0xe26340, _t=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qlist.h:781
#9  0x00007ff49a14fb52 in KWalletD::slotServiceOwnerChanged (this=0x7ffffce2b8e0, name=<optimized out>, oldOwner=..., newOwner=<optimized out>) at ../../kwalletd/kwalletd.cpp:1204
#10 0x00007ff49a1511b0 in KWalletD::qt_metacall (this=0x7ffffce2b8e0, _c=QMetaObject::InvokeMetaMethod, _id=53, _a=0x7ffffce2ae40) at ./kwalletd.moc:283
Comment 4 Michael Leupold 2011-11-30 10:04:48 UTC
Very strange crash. Does it happen every time? Does it happen only using kdesvn? You could alternatively try killing an application that has opened a wallet.

Possible short-time solution: Configure kwallet to not close the wallet after the last application has stopped using it.


Looking at the source I don't see what kwalletd might do wrong. It's almost as if it was a bug in Qt, but then again I don't see a bug.

Short analysis:
Looks as if a string should be deleted from a QStringList inside QDBusServiceWatcher using QList::removeOne(). This should work, no matter if this string exists inside the list or not. Possibly some memory corruption?
I fear this bug requires someone with debugging skills who's able to reproduce it.
Comment 5 Blagovest Zlatev 2011-12-01 12:02:46 UTC
I couldn't find any duplicates or reproduce the bug.
Comment 6 Andrew Crouthamel 2018-10-29 22:45:19 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 7 Bug Janitor Service 2018-11-13 14:35:33 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 8 Bug Janitor Service 2018-11-29 04:54:54 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!