Bug 453876 - kf.plasma.core: findInCache with a lastModified timestamp of 0 is deprecated
Summary: kf.plasma.core: findInCache with a lastModified timestamp of 0 is deprecated
Status: REPORTED
Alias: None
Product: frameworks-ksvg
Classification: Frameworks and Libraries
Component: General (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-16 08:46 UTC by Timothée Ravier
Modified: 2024-05-03 20:36 UTC (History)
10 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 Timothée Ravier 2022-05-16 08:46:27 UTC
Clone to track the specific error message from https://api.kde.org/frameworks/plasma-framework/html/theme_8cpp_source.html#l00280

+++ This bug was initially created as a clone of Bug #442011 +++


SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. 
2. 
3. 

OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
SUMMARY

In some cases (exact reproducible steps not found yet), Plasma will fail to display any application icon on Fedora Kinoite.

On Fedora Kinoite, all files in /usr are set with the UNIX timestamp of 0.
Running plasmashell in a terminal will show that line repeatedly:

kf.plasma.core: findInCache with a lastModified timestamp of 0 is deprecated

Updating the timestamps on those files and running kbuildsyscoca5 temporarily fixes the issue.

This is most likely due to a confusion in: https://api.kde.org/frameworks/plasma-framework/html/theme_8cpp_source.html#l00280 where lastModified is here truly 0 and not left to the default value.

An option would be to use 1 instead when looking at a file with a 0 timestamp in the calling code but I have not found where this function is called yet.

STEPS TO REPRODUCE
1. Clean icon cache
2. Set an application icon file, desktop entry, etc. timestamp to UNIX time 0
3. plasma-shell --replace

OBSERVED RESULT

Lots of:
kf.plasma.core: findInCache with a lastModified timestamp of 0 is deprecated

Application has no icon.

EXPECTED RESULT

Applications has an icon.

SOFTWARE/OS VERSIONS
Fedora Linux 35 & Rawhide
Linux/KDE Plasma: 5.22.4
KDE Plasma Version: 5.22.4
KDE Frameworks Version: 5.85
Qt Version: 5.15.2

ADDITIONAL INFORMATION
This is similar to https://bugs.kde.org/show_bug.cgi?id=429196 but I could not get this working with the same workaround.
Comment 1 Timothée Ravier 2022-05-16 16:48:53 UTC
This is https://invent.kde.org/ravier/plasma-framework/-/blob/master/src/plasma/theme.cpp#L279.

Essentially we need to keep accepting 0 as a valid value. We can still make the lastModified argument non optional in KF6.
Comment 2 Stephane Travostino 2023-10-23 16:18:02 UTC
Copied from https://bugs.kde.org/show_bug.cgi?id=442011: 

My journal STILL is spammed by "kf.plasma.core: findInCache with a lastModified timestamp of 0 is deprecated" messages.

If it's benign, it has no business being logged. But right now it's being written 50+ times per second, judging from journal logs, which is a bug in and of itself, and makes using the journal an unnecessary pain in the butt.

```
~ % journalctl -b > out.txt
~ % uptime
 17:12:54 up 4 days,  1:04,  2 users,  load average: 4.16, 4.04, 4.00
~ % grep 'kf.plasma.core: findInCache with' out.txt | wc -l
553628
```

Right now it's being written 138,000 times PER DAY on my machine.
Comment 3 Robert Riemann 2024-05-02 19:34:04 UTC
I have the message also over and over in the log.

Operating System: Fedora Linux 40
KDE Plasma Version: 6.0.4
KDE Frameworks Version: 6.1.0
Qt Version: 6.7.0
Kernel Version: 6.8.7-300.fc40.x86_64 (64-bit)
Comment 4 Jordan Pryde 2024-05-03 20:36:05 UTC
There are now 2 (!) patches for this issue:
https://invent.kde.org/frameworks/ksvg/-/merge_requests/46 by Timothée
https://invent.kde.org/frameworks/ksvg/-/merge_requests/47 by myself

They were submitted within a few hours of each other, I didn't see theirs before submitting mine. They do take different approaches to solving this bug.