Bug 404893 - Digikam::DigikamApp::slotSolidDeviceChanged: slotSolidDeviceChanged: messages referring to directory that digikam should not care about
Summary: Digikam::DigikamApp::slotSolidDeviceChanged: slotSolidDeviceChanged: messages...
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Database-Media (other bugs)
Version First Reported In: 6.0.0
Platform: Appimage Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-02-28 07:47 UTC by Simon J Mudd
Modified: 2019-03-28 06:56 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.1.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon J Mudd 2019-02-28 07:47:29 UTC
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.
Comment 1 Johannes Hirte 2019-02-28 14:27:46 UTC
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.
Comment 2 caulier.gilles 2019-02-28 15:52:27 UTC
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
Comment 3 Johannes Hirte 2019-02-28 17:41:30 UTC
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
Comment 4 caulier.gilles 2019-02-28 18:54:41 UTC
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
Comment 5 Maik Qualmann 2019-02-28 19:11:26 UTC
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
Comment 6 Maik Qualmann 2019-02-28 19:18:05 UTC
Oh, I see we connect the signal with the slot again and again.

Maik
Comment 7 Maik Qualmann 2019-02-28 19:32:14 UTC
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
Comment 8 Maik Qualmann 2019-03-28 06:56:13 UTC
*** Bug 405954 has been marked as a duplicate of this bug. ***