Bug 388499 - dolphin crashed on un-mount of nfs mount
Summary: dolphin crashed on un-mount of nfs mount
Status: RESOLVED WORKSFORME
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 17.04.1
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2018-01-03 17:23 UTC by Ian
Modified: 2020-11-09 21:32 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 Ian 2018-01-03 17:23:35 UTC
Application: dolphin (17.04.1)

Qt Version: 5.9.2
Frameworks Version: 5.40.0
Operating System: Linux 4.14.8-200.fc26.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- What I was doing when the application crashed:
I have two nfs mounts (on a qnap NAS box). Both are configured for 'user' mount,

/etc/fstab
tree:/share/CACHEDEV1_DATA/testshare /opt/nas/testshare  nfs nfsvers=3,rw,noauto,user,hard 0 0
tree:/share/CACHEDEV1_DATA/wavs /opt/nas/wavs  nfs nfsvers=3,rw,noauto,user,hard 0 0

I context-clicked for pop-up menu and hit Unmount for each in turn, say 2 seconds apart.
After 10-15 seconds the second disk had not yet unmounted,
so I repeated menu pop-up for second disk. Crash then occurred.

It usually takes about 4-5 seconds to un-mount disk, to perhaps this is a timing or resource locking issue,
having issued the second un-mount before the 1st have completed.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa6bb95e940 (LWP 1395))]

Thread 4 (Thread 0x7fa6a22a3700 (LWP 2275)):
#0  0x00007fa6c7b7ad2d in poll () from /lib64/libc.so.6
#1  0x00007fa6c08a8579 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fa6c08a868c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fa6c89a249b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#4  0x00007fa6c895022a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007fa6c87a199a in QThread::exec() () from /lib64/libQt5Core.so.5
#6  0x00007fa6c87a5c72 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#7  0x00007fa6c546c36d in start_thread () from /lib64/libpthread.so.0
#8  0x00007fa6c7b86e1f in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fa6b120f700 (LWP 1407)):
#0  0x00007fa6c7b7ad2d in poll () from /lib64/libc.so.6
#1  0x00007fa6c08a8579 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fa6c08a868c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fa6c89a249b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#4  0x00007fa6c895022a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007fa6c87a199a in QThread::exec() () from /lib64/libQt5Core.so.5
#6  0x00007fa6c8bbe689 in QDBusConnectionManager::run() () from /lib64/libQt5DBus.so.5
#7  0x00007fa6c87a5c72 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#8  0x00007fa6c546c36d in start_thread () from /lib64/libpthread.so.0
#9  0x00007fa6c7b86e1f in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fa6b2c2f700 (LWP 1405)):
#0  0x00007fa6c7b7ad2d in poll () from /lib64/libc.so.6
#1  0x00007fa6c0231c97 in _xcb_conn_wait () from /lib64/libxcb.so.1
#2  0x00007fa6c0233a8a in xcb_wait_for_event () from /lib64/libxcb.so.1
#3  0x00007fa6b4d94379 in QXcbEventReader::run() () from /lib64/libQt5XcbQpa.so.5
#4  0x00007fa6c87a5c72 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#5  0x00007fa6c546c36d in start_thread () from /lib64/libpthread.so.0
#6  0x00007fa6c7b86e1f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fa6bb95e940 (LWP 1395)):
[KCrash Handler]
#6  0x00007fa6c88de784 in QProcess::setProcessState(QProcess::ProcessState) () from /lib64/libQt5Core.so.5
#7  0x00007fa6c88de7c4 in QProcessPrivate::cleanup() () from /lib64/libQt5Core.so.5
#8  0x00007fa6c88dec3b in QProcess::~QProcess() () from /lib64/libQt5Core.so.5
#9  0x00007fa6c88dee79 in QProcess::~QProcess() () from /lib64/libQt5Core.so.5
#10 0x00007fa6cca77487 in Solid::Backends::Fstab::FstabStorageAccess::slotTeardownFinished(int, QProcess::ExitStatus) () from /lib64/libKF5Solid.so.5
#11 0x00007fa6cca80a71 in Solid::Backends::Fstab::FstabStorageAccess::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /lib64/libKF5Solid.so.5
#12 0x00007fa6c8979d03 in QMetaObject::activate(QObject*, int, int, void**) () from /lib64/libQt5Core.so.5
#13 0x00007fa6c88ddc8f in QProcess::finished(int, QProcess::ExitStatus) () from /lib64/libQt5Core.so.5
#14 0x00007fa6c88e2a82 in QProcessPrivate::_q_processDied() () from /lib64/libQt5Core.so.5
#15 0x00007fa6c88e2b89 in QProcess::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /lib64/libQt5Core.so.5
#16 0x00007fa6c8979d03 in QMetaObject::activate(QObject*, int, int, void**) () from /lib64/libQt5Core.so.5
#17 0x00007fa6c8985b08 in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) () from /lib64/libQt5Core.so.5
#18 0x00007fa6c8985ed2 in QSocketNotifier::event(QEvent*) () from /lib64/libQt5Core.so.5
#19 0x00007fa6c9492c9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#20 0x00007fa6c949a4e4 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#21 0x00007fa6c89514a7 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#22 0x00007fa6c89a2dff in socketNotifierSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#23 0x00007fa6c08a8257 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#24 0x00007fa6c08a85f8 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#25 0x00007fa6c08a868c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#26 0x00007fa6c89a247f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#27 0x00007fa6c895022a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#28 0x00007fa6c8958884 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#29 0x00007fa6cf02919a in kdemain () from /lib64/libkdeinit5_dolphin.so
#30 0x00007fa6c7a9688a in __libc_start_main () from /lib64/libc.so.6
#31 0x0000558d6b01cada in _start ()

Reported using DrKonqi
Comment 1 Kai Uwe Broulik 2018-05-16 12:38:17 UTC
Git commit 967dc53dc9a5d1c7ba0c9f57fcb9bc640cd9663b by Kai Uwe Broulik.
Committed on 16/05/2018 at 12:37.
Pushed by broulik into branch 'master'.

[FStab Handling] Clean up process running by using lambdas

Encapsulates the QProcess* into the job it's supposed to be doing without storing it as a member and polluting state when multiple
actions are requested simultaneously.

Differential Revision: https://phabricator.kde.org/D9653

M  +13   -16   src/solid/devices/backends/fstab/fstabhandling.cpp
M  +3    -6    src/solid/devices/backends/fstab/fstabhandling.h
M  +14   -28   src/solid/devices/backends/fstab/fstabstorageaccess.cpp
M  +0    -3    src/solid/devices/backends/fstab/fstabstorageaccess.h

https://commits.kde.org/solid/967dc53dc9a5d1c7ba0c9f57fcb9bc640cd9663b
Comment 2 Justin Zobel 2020-10-25 07:16:06 UTC
Ian can you please confirm that the issue is now resolved when using a newer KDE Frameworks version as Kai has submitted a patch that may have solved this issue.
Comment 3 Bug Janitor Service 2020-11-09 04:33:47 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 4 Ian 2020-11-09 17:47:09 UTC
I have repeated the sequential mount and unmount, and repeated mounts and repeated numounts and see no issues. The bug appears fixed for me.