Summary: | Freeze after losing connection to mounted remote filesystem | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Oleg Solovyov <mcpain> |
Component: | generic-crash | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | nate, shout |
Priority: | NOR | ||
Version: | 5.12.6 | ||
Target Milestone: | 1.0 | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://commits.kde.org/plasma-workspace/be3b80e78017cc6668f9227529ad429150c27faa | Version Fixed In: | 5.14.0 |
Sentry Crash Report: |
Description
Oleg Solovyov
2018-08-17 07:22:52 UTC
Created a revision: https://phabricator.kde.org/D14895 Git commit e1c19ce4daf92a14dee44b44d199672034a346c0 by Nathaniel Graham, on behalf of Oleg Solovyov. Committed on 12/09/2018 at 23:12. Pushed by ngraham into branch 'master'. Plasmashell freezes when trying to get free space info from mounted remote filesystem after losing connection to it Summary: Earlier plasmashell assumed that you'll get free space info immediately (which is not true in case of losing connection to server containing a mounted filesystem - statfs will wait for response forever and freeze everything since it's happening in main thread) I moved obtaining that info into different thread so that case won't freeze anything anymore. It creates exactly one thread per one path. If a path is already being processed, new thread won't be created. Also I implemented a timer used to notify about broken connection after 15 seconds. Reviewers: broulik, ngraham, davidedmundson Reviewed By: broulik Subscribers: ngraham, anthonyfieroni, davidedmundson, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D14895 M +1 -0 dataengines/soliddevice/CMakeLists.txt M +36 -7 dataengines/soliddevice/soliddeviceengine.cpp M +3 -0 dataengines/soliddevice/soliddeviceengine.h https://commits.kde.org/plasma-workspace/e1c19ce4daf92a14dee44b44d199672034a346c0 Git commit be3b80e78017cc6668f9227529ad429150c27faa by Kai Uwe Broulik, on behalf of Oleg Solovyov. Committed on 19/10/2018 at 13:29. Pushed by broulik into branch 'Plasma/5.12'. Plasmashell freezes when trying to get free space info from mounted remote filesystem after losing connection to it Summary: Related: bug 399945 Earlier plasmashell assumed that you'll get free space info immediately (which is not true in case of losing connection to server containing a mounted filesystem - statfs will wait for response forever and freeze everything since it's happening in main thread) I moved obtaining that info into different thread so that case won't freeze anything anymore. It creates exactly one thread per one path. If a path is already being processed, new thread won't be created. Also I implemented a timer used to notify about broken connection after 15 seconds. Reviewers: broulik, ngraham, davidedmundson Reviewed By: broulik Subscribers: ngraham, anthonyfieroni, davidedmundson, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D14895 Backported to 5.12 LTS (sans notification due to new strings) for impact to corporate setups (cherry picked from commit e1c19ce4daf92a14dee44b44d199672034a346c0) M +22 -7 dataengines/soliddevice/soliddeviceengine.cpp M +2 -0 dataengines/soliddevice/soliddeviceengine.h https://commits.kde.org/plasma-workspace/be3b80e78017cc6668f9227529ad429150c27faa *** Bug 399945 has been marked as a duplicate of this bug. *** |