Bug 333327

Summary: kwalletd crashes when wallet closes
Product: [Frameworks and Libraries] kdelibs Reporter: Graeme Hewson <bugs>
Component: kwalletAssignee: Michael Leupold <lemma>
Status: RESOLVED DOWNSTREAM    
Severity: crash CC: bugs
Priority: NOR Keywords: drkonqi
Version: 0.2   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: New crash information added by DrKonqi

Description Graeme Hewson 2014-04-11 16:06:40 UTC
Application: kwalletd (0.2)
KDE Platform Version: 4.12.97
Qt Version: 4.8.6
Operating System: Linux 3.11.0-19-generic x86_64
Distribution: Ubuntu 13.10

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

Simply waited for the screensaver to start.

kwalletmanager is configured to close the wallet when the screensaver starts. The crash happens only when the wallet is open.

The crash can be reproduced every time.

-- Backtrace:
Application: KDE Wallet Service (kwalletd), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f9526b5c7c0 (LWP 7728))]

Thread 2 (Thread 0x7f9513df1700 (LWP 7733)):
#0  0x00007f95209a10ed in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f95209a1399 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f95209607f0 in g_main_context_acquire () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9520961565 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f95209617ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f9524c40af6 in QEventDispatcherGlib::processEvents (this=0x7f950c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#6  0x00007f9524c1230f in QEventLoop::processEvents (this=this@entry=0x7f9513df0d70, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f9524c12605 in QEventLoop::exec (this=this@entry=0x7f9513df0d70, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f9524b0ec4f in QThread::exec (this=this@entry=0x29b8960) at thread/qthread.cpp:537
#9  0x00007f9524bf3a33 in QInotifyFileSystemWatcherEngine::run (this=0x29b8960) at io/qfilesystemwatcher_inotify.cpp:265
#10 0x00007f9524b1131f in QThreadPrivate::start (arg=0x29b8960) at thread/qthread_unix.cpp:349
#11 0x00007f95256bff6e in start_thread (arg=0x7f9513df1700) at pthread_create.c:311
#12 0x00007f952647e9cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f9526b5c7c0 (LWP 7728)):
[KCrash Handler]
#6  0x00007f95263baf77 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#7  0x00007f95263be5e8 in __GI_abort () at abort.c:90
#8  0x00007f95263f84fb in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7f952650c240 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:199
#9  0x00007f9526404996 in malloc_printerr (ptr=0x2713aa0, str=0x7f952650c3e0 "free(): invalid next size (fast)", action=3) at malloc.c:4923
#10 _int_free (av=<optimized out>, p=0x2713a90, have_lock=0) at malloc.c:3779
#11 0x00007f952675fb45 in KWalletD::internalClose (this=this@entry=0x7fff65eba790, w=0x2713aa0, handle=1099272075, force=force@entry=true) at ../../kwalletd/kwalletd.cpp:901
#12 0x00007f9526760024 in KWalletD::closeAllWallets (this=0x7fff65eba790) at ../../kwalletd/kwalletd.cpp:1583
#13 0x00007f9526766dae in screenSaverChanged (s=<optimized out>, this=<optimized out>) at ../../kwalletd/kwalletd.cpp:1605
#14 KWalletD::qt_static_metacall (_o=0x1e30, _id=7728, _a=0x7fff65eb9f90, _c=<optimized out>) at ./kwalletd.moc:256
#15 0x00007f9524c27ae8 in QMetaObject::activate (sender=sender@entry=0x24e0ce0, m=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff65eb9f90) at kernel/qobject.cpp:3539
#16 0x00007f9524fb1ae2 in QDBusInterfacePrivate::metacall (this=0x2641950, c=<optimized out>, id=0, argv=0x7fff65eb9f90) at qdbusinterface.cpp:278
#17 0x00007f9524f9f226 in QDBusConnectionPrivate::deliverCall (this=0x24de820, object=0x24e0ce0, msg=..., metaTypes=..., slotIdx=5) at qdbusintegrator.cpp:951
#18 0x00007f9524c2be9e in QObject::event (this=0x24e0ce0, e=<optimized out>) at kernel/qobject.cpp:1194
#19 0x00007f9523face7c in QApplicationPrivate::notify_helper (this=this@entry=0x24f43f0, receiver=receiver@entry=0x24e0ce0, e=e@entry=0x29be840) at kernel/qapplication.cpp:4567
#20 0x00007f9523fb34f0 in QApplication::notify (this=this@entry=0x7fff65eba770, receiver=receiver@entry=0x24e0ce0, e=e@entry=0x29be840) at kernel/qapplication.cpp:4353
#21 0x00007f9525f5ed5a in KApplication::notify (this=0x7fff65eba770, receiver=0x24e0ce0, event=0x29be840) at ../../kdeui/kernel/kapplication.cpp:311
#22 0x00007f9524c1373d in QCoreApplication::notifyInternal (this=0x7fff65eba770, receiver=receiver@entry=0x24e0ce0, event=event@entry=0x29be840) at kernel/qcoreapplication.cpp:953
#23 0x00007f9524c16daf in sendEvent (event=0x29be840, receiver=0x24e0ce0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#24 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x24b21d0) at kernel/qcoreapplication.cpp:1577
#25 0x00007f9524c17253 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#26 0x00007f9524c41213 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#27 postEventSourceDispatch (s=0x24e5430) at kernel/qeventdispatcher_glib.cpp:280
#28 0x00007f95209613b6 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f9520961708 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f95209617ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f9524c40ad5 in QEventDispatcherGlib::processEvents (this=0x24b36b0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#32 0x00007f952404ecb6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#33 0x00007f9524c1230f in QEventLoop::processEvents (this=this@entry=0x7fff65eba640, flags=...) at kernel/qeventloop.cpp:149
#34 0x00007f9524c12605 in QEventLoop::exec (this=this@entry=0x7fff65eba640, flags=...) at kernel/qeventloop.cpp:204
#35 0x00007f9524c17deb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#36 0x00007f9523fab3cc in QApplication::exec () at kernel/qapplication.cpp:3828
#37 0x00007f952675c486 in kdemain (argc=1, argv=0x7fff65eba968) at ../../kwalletd/main.cpp:191
#38 0x00007f95263a5de5 in __libc_start_main (main=0x4006d0 <main(int, char**)>, argc=1, ubp_av=0x7fff65eba968, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff65eba958) at libc-start.c:260
#39 0x00000000004006fe in _start ()

Possible duplicates by query: bug 333253, bug 328917, bug 322518, bug 321465, bug 320526.

Reported using DrKonqi
Comment 1 Graeme Hewson 2014-04-11 18:12:15 UTC
Created attachment 86046 [details]
New crash information added by DrKonqi

kwalletd (0.2) on KDE Platform 4.12.97 using Qt 4.8.6

- What I was doing when the application crashed:

Configured wallet to close when unused for 1 minute. Waited 1 minute.

-- Backtrace (Reduced):
#6  0x00007f8480728f77 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#7  0x00007f848072c5e8 in __GI_abort () at abort.c:90
[...]
#9  0x00007f8480772996 in malloc_printerr (ptr=0x1d74270, str=0x7f848087a3e0 "free(): invalid next size (fast)", action=3) at malloc.c:4923
#10 _int_free (av=<optimized out>, p=0x1d74260, have_lock=0) at malloc.c:3779
#11 0x00007f8480acdb45 in KWalletD::internalClose (this=0x7fff44757070, w=0x1d74270, handle=676416724, force=<optimized out>) at ../../kwalletd/kwalletd.cpp:901
Comment 2 Graeme Hewson 2014-04-11 18:15:54 UTC
Changing bug title as kwalletd crashes whenever wallet closes, not just when closed by screensaver.

I can also reproduce the bug by clicking on Close and Force Closure (force needed because kwalletmanager is connected to the wallet).
Comment 3 Graeme Hewson 2014-04-20 11:24:54 UTC
After upgrading to Kubuntu 14.04 with KDE 4.13.0, the crash no longer occurs.
Comment 4 Christoph Feck 2014-04-20 12:32:27 UTC
Issue was caused by a downstream patch.