SUMMARY Not sure of the right categorisation. STEPS TO REPRODUCE 1. 2. 3. To make the app not responsive just start it up and leave it for a few hours. In the morning it does not respond. To see the issue shown below not sure as just noticed it. OBSERVED RESULT * app not responsive * logging from the app shows repeatedly. Digikam::DigikamApp::slotSolidDeviceChanged: slotSolidDeviceChanged: "/org/kde/fstab/a.b.c.d:/path/to/directory" Digikam::DigikamApp::slotSolidDeviceChanged: slotSolidDeviceChanged: "/org/kde/fstab/a.b.c.d:/path/to/directory" Digikam::DigikamApp::slotSolidDeviceChanged: slotSolidDeviceChanged: "/org/kde/fstab/a.b.c.d:/path/to/directory" Digikam::DigikamApp::slotSolidDeviceChanged: slotSolidDeviceChanged: "/org/kde/fstab/a.b.c.d:/path/to/directory" Digikam::DigikamApp::slotSolidDeviceChanged: slotSolidDeviceChanged: "/org/kde/fstab/a.b.c.d:/path/to/directory" Digikam::DigikamApp::slotSolidDeviceChanged: slotSolidDeviceChanged: "/org/kde/fstab/a.b.c.d:/path/to/directory" ^C [user@host ~]$ df -h Filesystem Size Used Avail Use% Mounted on ... a.b.c.d:/path/to/directory 20G 19G 1.2G 95% /net/a.b.c.d/path/to/directory This path is not one I had told digikam about. The external mount point I had told digikam about was host.example.com:/path/to/photos 1.2T 998G 155G 87% /path/to/other/directory EXPECTED RESULT The app to be responsive and not to log about changing devices as the NFS mount seemed to me to be stable and digikam should not care about it anyway. SOFTWARE/OS VERSIONS Windows: MacOS: Linux/KDE Plasma: CentOS 7 (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: Binary was appimage: digikam-6.0.0-x86-64.appimage ADDITIONAL INFORMATION I have seen the UI become unresponsive requiring me to interrupt the process several times now. Access to the backend database for storing information using the mysql external driver.
Observed the same. Hotpluging some storage can lead to an infinite loop where digikam get's unresponsive. I've seen this with NFS shares and CD/DVD drive. When this happens, I get the following log message: digikam.general: slotSolidDeviceChanged: "/org/freedesktop/UDisks2/block_devices/sr0" This repeats until I kill digikam. For now I can't reproduce this reliably.
The media notifications are relevant of KF5::Solid interface. In AppImage, we are frozen to KF5 v5.54 due to use Qt 5.9.7. NExt version of KF5 will require Qt 5.10 at least, so i will need to update the CentOS install with a more recent Qt5 version. This will take time to do... Gilles Caulier
Just for info, I have the bug with Gentoo: Qt5: 5.12.1 KF5: git master (>v5.55.0-rc1) Plasma: git master (>v5.15.0) Digikam: 6.0.0
Maik, That must mean that we need to filter the event send by Solid when a device contents is changed. But i thinking that we already do it somewhere... Or perhaps something has changed in the core Solid implementation. Gilles
I have a look in the code. This occurs when the signals deviceAdded() or deviceRemoved() are constantly sent by Solid, digiKam constantly rebuilds the device menu. In principle, Solid is not allowed to constantly send these signals for one and the same device. We could slow that down... Maik
Oh, I see we connect the signal with the slot again and again. Maik
Git commit 0f12c357bf574f6719779040574cb094bd5e18a1 by Maik Qualmann. Committed on 28/02/2019 at 19:31. Pushed by mqualmann into branch 'development/dplugins'. fix multiple new signal/slot connections from Solid device interface FIXED-IN: 6.1.0 M +2 -1 NEWS M +11 -1 core/app/main/digikamapp_camera.cpp M +0 -7 core/app/main/digikamapp_solid.cpp https://commits.kde.org/digikam/0f12c357bf574f6719779040574cb094bd5e18a1
*** Bug 405954 has been marked as a duplicate of this bug. ***