Bug 329053

Summary: kwalletmanager crashed trying to delete a wallet
Product: [Applications] kwalletmanager Reporter: cocacooler
Component: generalAssignee: Valentin Rusu <valir>
Status: RESOLVED FIXED    
Severity: crash CC: arjunak234, ashishmadeti, bugsKDEorg, genjet, kde, kdebugs, maarten.bezemer, sskyman
Priority: NOR Keywords: drkonqi
Version: 1.10   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: A screenshot of the wallet listed in kwalletmanager after I deleted it
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description cocacooler 2013-12-20 22:51:05 UTC
Application: kwalletmanager (1.10)
KDE Platform Version: 4.11.2 (Compiled from sources)
Qt Version: 4.8.5
Operating System: Linux 3.10.17-gentoogg4 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:
1. Made sure there were no existing wallets in kwalletmanager
2. Created a new wallet with the name (it probably doesn't matter) main_wallet
3. Pressed "File -> Delete Wallet -> Ok"
4. Now the wallet was still visible in the list (i'll probably attach a screenshot of how it looks later)
5. Pressed "File -> Delete Wallet"
Every time I do that, I get a segfault.

The crash can be reproduced every time.

-- Backtrace:
Application: KDE Wallet Manager (kwalletmanager), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[KCrash Handler]
#5  0x000000000041cd77 in KWalletManager::deleteWallet() ()
#6  0x00007f142a5aeb04 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007f142b2213f2 in QAction::triggered(bool) () from /usr/lib64/qt4/libQtGui.so.4
#8  0x00007f142b222820 in QAction::activate(QAction::ActionEvent) () from /usr/lib64/qt4/libQtGui.so.4
#9  0x00007f142b63fb93 in QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) () from /usr/lib64/qt4/libQtGui.so.4
#10 0x00007f142b644f39 in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) () from /usr/lib64/qt4/libQtGui.so.4
#11 0x00007f142bfe5f69 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libkdeui.so.5
#12 0x00007f142b274d81 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#13 0x00007f142b6466fb in QMenu::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#14 0x00007f142b2278ec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#15 0x00007f142b22aaf9 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007f142bf2e8c6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#17 0x00007f142a59a82e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#18 0x00007f142b22d9db in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007f142b2a05bc in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib64/qt4/libQtGui.so.4
#20 0x00007f142b29f491 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#21 0x00007f142b2c834a in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007f1426cf9065 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#23 0x00007f1426cf93a8 in ?? () from /usr/lib64/libglib-2.0.so.0
#24 0x00007f1426cf9464 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#25 0x00007f142a5c8b86 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#26 0x00007f142b2c841e in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#27 0x00007f142a5994df in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#28 0x00007f142a599768 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#29 0x00007f142a59e9c8 in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#30 0x000000000041c37b in main ()

Possible duplicates by query: bug 326459.

Reported using DrKonqi
Comment 1 cocacooler 2013-12-20 22:53:43 UTC
Created attachment 84206 [details]
A screenshot of the wallet listed in kwalletmanager after I deleted it
Comment 2 Christoph Feck 2013-12-22 11:46:47 UTC
*** Bug 326459 has been marked as a duplicate of this bug. ***
Comment 3 Kai Uwe Broulik 2014-02-06 10:09:54 UTC
Created attachment 85021 [details]
New crash information added by DrKonqi

kwalletmanager (2.0) on KDE Platform 4.12.1 using Qt 4.8.6

- What I was doing when the application crashed:
I clicked on "Delete wallet" in the File menu.

-- Backtrace (Reduced):
#6  QString (other=..., this=0x7fff3a3862f0) at /usr/include/qt4/QtCore/qstring.h:725
#7  KWalletManager::deleteWallet (this=0x7fff3a387430) at ../../../src/manager/kwalletmanager.cpp:316
#8  0x000000000041d575 in KWalletManager::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at ./kwalletmanager.moc:81
[...]
#10 0x00007fa056c7cab2 in QAction::triggered (this=this@entry=0x1a44fe0, _t1=false) at .moc/release-shared/moc_qaction.cpp:276
#11 0x00007fa056c7e483 in QAction::activate (this=this@entry=0x1a44fe0, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1257
Comment 4 Ashish Madeti 2014-02-25 14:46:52 UTC
I too am experiencing a same and similar bug.

-- Information about the crash:
kwalletmanager (v1.10)
KDE Development Platform 4.11.5
 - What I was doing when the application crashed:
1. Make sure there are no wallets in the manager
2. Pressed "File -> Delete Wallet"
Application crashes with a Segmentation Fault.

The crash can be reproduced every time.
Comment 5 kdebugs 2014-04-15 02:33:42 UTC
Created attachment 86104 [details]
New crash information added by DrKonqi

kwalletmanager (1.10) on KDE Platform 4.11.5 using Qt 4.8.4

- What I was doing when the application crashed:
Same directions as comment 4:
Click "Delete Wallet..." when you don't have a wallet.
- Custom settings of the application:
I don't even have the KDE wallet subsystem enabled

-- Backtrace (Reduced):
#7  QString (other=..., this=0xbf8549ec) at /usr/include/qt4/QtCore/qstring.h:725
#8  KWalletManager::deleteWallet (this=0xbf8556f0) at ../../../src/manager/kwalletmanager.cpp:311
#9  0x0805fb38 in KWalletManager::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at ./kwalletmanager.moc:81
[...]
#11 0xb672267d in QAction::triggered (this=this@entry=0x94ea908, _t1=false) at .moc/release-shared/moc_qaction.cpp:277
#12 0xb6724274 in QAction::activate (this=this@entry=0x94ea908, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1257
Comment 6 Maarten Bezemer 2014-04-23 11:18:41 UTC
Created attachment 86229 [details]
New crash information added by DrKonqi

kwalletmanager (2.0) on KDE Platform 4.13.0 using Qt 4.8.6

- What I was doing when the application crashed:

Clicked 'File -> Delete Wallet...' when there was no wallet available

-- Backtrace (Reduced):
#5  QString (other=..., this=0x7fff5bd7ec90) at /usr/include/qt4/QtCore/qstring.h:725
#6  KWalletManager::deleteWallet (this=0x7fff5bd7fdc0) at ../../../src/manager/kwalletmanager.cpp:316
#7  0x000000000041d595 in KWalletManager::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at ./kwalletmanager.moc:80
[...]
#9  0x00007f60d30c3a62 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#10 0x00007f60d30c5433 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
Comment 7 Christoph Feck 2014-05-22 18:21:52 UTC
*** Bug 335210 has been marked as a duplicate of this bug. ***
Comment 8 Arjun AK 2014-08-08 19:39:13 UTC
Patch to fix this: https://git.reviewboard.kde.org/r/118956/
Comment 9 Valentin Rusu 2014-08-08 20:44:56 UTC
(In reply to Arjun Ak from comment #8)
> Patch to fix this: https://git.reviewboard.kde.org/r/118956/

Thanks for the patch and sorry for not noticing it early.
Comment 10 Arjun AK 2014-08-09 08:46:04 UTC
Git commit 371beba7da9df0a8bcf9a12aaa71c8801995f1a6 by Arjun AK.
Committed on 09/08/2014 at 08:29.
Pushed by arjunak into branch 'master'.

Fix null pointer dereference in KWalletManagerWidget::activeWalletName()
REVIEW: 118956

M  +6    -2    src/manager/kwalletmanagerwidget.cpp
M  +1    -1    src/manager/kwalletmanagerwidget.h

http://commits.kde.org/kwallet/371beba7da9df0a8bcf9a12aaa71c8801995f1a6
Comment 11 Arjun AK 2014-08-09 08:46:04 UTC
Git commit cae4e138dccc985914a7ced4666c08368bef8e6b by Arjun AK.
Committed on 09/08/2014 at 08:22.
Pushed by arjunak into branch 'master'.

Disable 'Delete wallet' action if no wallets exist
REVIEW: 118956

M  +22   -4    src/manager/kwalletmanager.cpp
M  +2    -0    src/manager/kwalletmanager.h

http://commits.kde.org/kwallet/cae4e138dccc985914a7ced4666c08368bef8e6b
Comment 12 Гарин 2015-01-30 10:46:51 UTC
Created attachment 90810 [details]
New crash information added by DrKonqi

kwalletmanager (2.0) on KDE Platform 4.14.2 using Qt 4.8.6

- What I was doing when the application crashed:
проводил удаление бумажника и пытался создать новый

-- Backtrace (Reduced):
#5  QString (other=..., this=0x7fffd87ec660) at /usr/include/qt4/QtCore/qstring.h:725
#6  KWalletManager::deleteWallet (this=0x7fffd87ed790) at ../../../src/manager/kwalletmanager.cpp:316
#7  0x000000000041d5f5 in KWalletManager::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at ./kwalletmanager.moc:80
[...]
#9  0x00007f47712e1a62 in QAction::triggered (this=this@entry=0x1124390, _t1=false) at .moc/release-shared/moc_qaction.cpp:276
#10 0x00007f47712e3433 in QAction::activate (this=this@entry=0x1124390, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1257