Bug 418262 - Plasma Vault crashes kded5 when unable to mount a Vault
Summary: Plasma Vault crashes kded5 when unable to mount a Vault
Status: RESOLVED FIXED
Alias: None
Product: Plasma Vault
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Ivan Čukić
URL:
Keywords:
: 419822 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-02-27 18:56 UTC by A. Wilcox (awilfox)
Modified: 2020-04-17 14:20 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description A. Wilcox (awilfox) 2020-02-27 18:56:10 UTC
SUMMARY
Plasma Vault 5.18.2 crashes when cancelling a failed Vault Mount.

STEPS TO REPRODUCE
1. Create a Vault.
2. Attempt to open the Vault.
3. It says it is unable to mount the Vault because of Bug 412450.
4. Cancel the Open Vault dialog.

OBSERVED RESULT
Application: kded5 (kded5), signal: Aborted
[KCrash Handler]
#9  0x00003fff85b92468 in __syscall4 (d=8, c=0, b=70367745869832, a=2, n=174) at ./arch/powerpc64/syscall_arch.h:54
#10 __restore_sigs (set=0x3fffc47f0808) at src/signal/block.c:43
#11 0x00003fff85b927b8 in raise (sig=<optimized out>) at src/signal/raise.c:11
#12 0x00003fff85b49c28 in abort () at src/exit/abort.c:13
#13 0x00003fff83e46f5c in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#14 0x00003fff83e431b8 in __cxxabiv1::__terminate(void (*)()) () from /usr/lib/libstdc++.so.6
#15 0x00003fff83e432a0 in std::terminate() () from /usr/lib/libstdc++.so.6
#16 0x00003fff83e43778 in __cxa_throw () from /usr/lib/libstdc++.so.6
#17 0x00003fff7c4f5680 in AsynQt::Expected<PlasmaVaultService::Private::NetworkingState, int>::get (this=0x141e71808) at /usr/include/QtCore/qarraydata.h:236
#18 AsynQt::Expected<PlasmaVaultService::Private::NetworkingState, int>::operator-> (this=0x141e71808) at /usr/src/packages/user/plasma-vault/src/plasma-vault-5.18.2/asynqt/utils/expected.h:161
#19 PlasmaVaultService::<lambda()>::operator() (__closure=0x141d7c870, __closure=0x141d7c870) at /usr/src/packages/user/plasma-vault/src/plasma-vault-5.18.2/kded/service.cpp:424
#20 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, PlasmaVaultService::openVaultInFileManager(const QString&)::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/QtCore/qobjectdefs_impl.h:146
#21 QtPrivate::Functor<PlasmaVaultService::openVaultInFileManager(const QString&)::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/QtCore/qobjectdefs_impl.h:256
#22 QtPrivate::QFunctorSlotObject<PlasmaVaultService::openVaultInFileManager(const QString&)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x141d7c860, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/QtCore/qobjectdefs_impl.h:439
#23 0x00003fff84375f08 in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=0x14246f680, this=0x141d7c860) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#24 QMetaObject::activate (sender=0x141f79140, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3783
#25 0x00003fff84376548 in QMetaObject::activate (sender=0x141f79140, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3656
#26 0x00003fff856cca14 in QDialog::rejected (this=<optimized out>) at .moc/moc_qdialog.cpp:241
#27 0x00003fff856cd274 in QDialogPrivate::finalize (this=<optimized out>, resultCode=<optimized out>, dialogCode=<optimized out>) at dialogs/qdialog.cpp:178
#28 0x00003fff856cd890 in QDialog::done (this=<optimized out>, r=<optimized out>) at dialogs/qdialog.cpp:639
#29 0x00003fff856cc694 in QDialog::reject (this=<optimized out>) at dialogs/qdialog.cpp:661
#30 0x00003fff856ce290 in QDialog::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qdialog.cpp:116
#31 0x00003fff84376134 in QMetaObject::activate (sender=0x14259da60, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3803
#32 0x00003fff84376548 in QMetaObject::activate (sender=0x14259da60, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3656
#33 0x00003fff856275c8 in QDialogButtonBox::rejected (this=<optimized out>) at .moc/moc_qdialogbuttonbox.cpp:298
#34 0x00003fff85627ebc in QDialogButtonBoxPrivate::_q_handleButtonClicked (this=<optimized out>) at widgets/qdialogbuttonbox.cpp:868
#35 0x00003fff85629bfc in QDialogButtonBox::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at widgets/qdialogbuttonbox.h:159
#36 0x00003fff84376134 in QMetaObject::activate (sender=0x1425fc7a0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=0x3fffc47f1048) at kernel/qobject.cpp:3803
#37 0x00003fff84376548 in QMetaObject::activate (sender=0x1425fc7a0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x3fffc47f1048) at kernel/qobject.cpp:3656
#38 0x00003fff8552a6f4 in QAbstractButton::clicked (this=<optimized out>, _t1=false) at .moc/moc_qabstractbutton.cpp:312
#39 0x00003fff8552aa48 in QAbstractButtonPrivate::emitClicked (this=this@entry=0x1424e8480) at widgets/qabstractbutton.cpp:414
#40 0x00003fff8552cd74 in QAbstractButtonPrivate::click (this=this@entry=0x1424e8480) at widgets/qabstractbutton.cpp:407
#41 0x00003fff8552d068 in QAbstractButton::mouseReleaseEvent (this=0x1425fc7a0, e=0x3fffc47f18f0) at widgets/qabstractbutton.cpp:1011
#42 0x00003fff8542f94c in QWidget::event (this=0x1425fc7a0, event=0x3fffc47f18f0) at kernel/qwidget.cpp:8946
#43 0x00003fff8552edd4 in QAbstractButton::event (this=<optimized out>, e=<optimized out>) at widgets/qabstractbutton.cpp:968
#44 0x00003fff856235b0 in QPushButton::event (this=0x1425fc7a0, e=0x3fffc47f18f0) at widgets/qpushbutton.cpp:684
#45 0x00003fff853c63ac in QApplicationPrivate::notify_helper (this=0x3fff83d9c280, receiver=0x1425fc7a0, e=0x3fffc47f18f0) at kernel/qapplication.cpp:3700
#46 0x00003fff853d19b8 in QApplication::notify (this=<optimized out>, receiver=0x1425fc7a0, e=0x3fffc47f18f0) at kernel/qapplication.cpp:3160
#47 0x00003fff8432be28 in QCoreApplication::notifyInternal2 (receiver=0x1425fc7a0, event=0x3fffc47f18f0) at kernel/qcoreapplication.cpp:1088
#48 0x00003fff8432c318 in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1488
#49 0x00003fff853cfeec in QApplicationPrivate::sendMouseEvent (receiver=0x1425fc7a0, event=0x3fffc47f18f0, alienWidget=0x1425fc7a0, nativeWidget=0x141f79140, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=<optimized out>, onlyDispatchEnterLeave=<optimized out>) at kernel/qapplication.cpp:2646
#50 0x00003fff85457f3c in QWidgetWindow::handleMouseEvent (this=this@entry=0x1425950a0, event=event@entry=0x3fffc47f1eb8) at /usr/include/c++/8.3.0/bits/atomic_base.h:390
#51 0x00003fff8545d51c in QWidgetWindow::event (this=0x1425950a0, event=0x3fffc47f1eb8) at kernel/qwidgetwindow.cpp:289
#52 0x00003fff853c63ac in QApplicationPrivate::notify_helper (this=0x3fff83d9c280, receiver=0x1425950a0, e=0x3fffc47f1eb8) at kernel/qapplication.cpp:3700
#53 0x00003fff853d167c in QApplication::notify (this=0x3fffc47f24f8, receiver=0x1425950a0, e=0x3fffc47f1eb8) at kernel/qapplication.cpp:3056
#54 0x00003fff8432be28 in QCoreApplication::notifyInternal2 (receiver=0x1425950a0, event=0x3fffc47f1eb8) at kernel/qcoreapplication.cpp:1088
#55 0x00003fff8432c318 in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1488
#56 0x00003fff84aab434 in QGuiApplicationPrivate::processMouseEvent (e=0x1425d6920) at kernel/qguiapplication.cpp:2107
#57 0x00003fff84aad01c in QGuiApplicationPrivate::processWindowSystemEvent (e=<optimized out>) at kernel/qguiapplication.cpp:1842
#58 0x00003fff84a6d960 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1151
#59 0x00003fff80d032f0 in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#60 0x00003fff82f1d9a0 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#61 0x00003fff82f1dd68 in ?? () from /usr/lib/libglib-2.0.so.0
#62 0x00003fff82f1de7c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#63 0x00003fff843bc860 in QEventDispatcherGlib::processEvents (this=0x141cb94a0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#64 0x00003fff80d03920 in QXcbGlibEventDispatcher::processEvents (this=<optimized out>, flags=...) at qxcbeventdispatcher.cpp:143
#65 0x00003fff84328778 in QEventLoop::processEvents (this=<optimized out>, flags=...) at /usr/include/c++/8.3.0/bits/atomic_base.h:707
#66 0x00003fff84328f74 in QEventLoop::exec (this=0x3fffc47f2418, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#67 0x00003fff843374a8 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#68 0x00003fff84a9f328 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1784
#69 0x00003fff853c630c in QApplication::exec () at kernel/qapplication.cpp:2856
#70 0x000000012f9cff80 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/packages/user/kded/src/kded-5.67.0/src/kded.cpp:804
[Inferior 1 (process 18383) detached]


EXPECTED RESULT
The dialog to be cancelled.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Adélie Linux 1.0-rc1
(available in About System)
KDE Plasma Version: 5.18.2
KDE Frameworks Version: 5.67.0
Qt Version: 5.12.6

ADDITIONAL INFORMATION
xsession-errors contains:

We've got an error "The mount point directory is not empty, refusing to open the vault"
terminate called after throwing an instance of 'std::logic_error'
  what():  expected<T, E> contains no value
Comment 1 A. Wilcox (awilfox) 2020-02-27 18:59:12 UTC
P.S. it may be nice to give Vault its own process, not only because of Bug 418011, but because when DrKonqi displayed itself for this crash:

> We are sorry, kded5 closed unexpected.
> You cannot report this error, because kded5 does not provide a bug reporting address.
> 
> Details:
> Executable: kded5 PID: 18,383 Signal: Aborted (6) Time: 27/02/2020 12:43:00
Comment 2 Ivan Čukić 2020-03-17 13:38:30 UTC
Git commit f6a924b37880b7340e796846a6e5474413ca6533 by Ivan Čukić.
Committed on 17/03/2020 at 13:37.
Pushed by ivan into branch 'master'.

Make sure we have saved network state before accessing it

M  +1    -1    kded/service.cpp

https://commits.kde.org/plasma-vault/f6a924b37880b7340e796846a6e5474413ca6533
Comment 3 Nate Graham 2020-04-17 13:35:30 UTC
*** Bug 419822 has been marked as a duplicate of this bug. ***
Comment 4 Ivan Čukić 2020-04-17 13:42:30 UTC
Git commit 5920e79ebc695b4ce2937cbdac435e30389db96a by Ivan Čukić.
Committed on 17/04/2020 at 13:42.
Pushed by ivan into branch 'Plasma/5.18'.

Make sure we have saved network state before accessing it

M  +1    -1    kded/service.cpp

https://commits.kde.org/plasma-vault/5920e79ebc695b4ce2937cbdac435e30389db96a
Comment 5 Nate Graham 2020-04-17 14:20:11 UTC
*** Bug 419822 has been marked as a duplicate of this bug. ***