plasmashell freezes when connection to mounted remote FS is lost for any reason. It always freezes right after startup or sometimes at XX:01:01 How to reproduce: 1. Mount any remote filesystem (nfs, samba, sshfs, etc) 2. Down the connection 3. Restart plasmashell OR 3. Set time to XX:01:00 4. Enjoy freezing
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. ***