qt5/qt6: applications seem to spam access() on icons
if you strace a qt6 application (like qbittorrent, or mkvtoolnix), you see a spam of access() calls trying to access icons in /usr/local and ~/.local , over and over and over again. in fact it happens so much, the ui of the former sometimes takes 3 seconds to render 1 frame.
some light backtraces:
(lldb) bt
* thread #1, name = 'mkvtoolnix-gui', stop reason = breakpoint 1.1
* frame #0: 0x00007ffff7fbee7d ld-musl-x86_64.so.1`access(filename="/home/demon/.config/bunkus.org/mkvtoolnix-gui/mkvtoolnix-gui.ini", amode=0) at access.c:6:1
frame #1: 0x00007ffff653394c libQt6Core.so.6`QFileSystemEngine::fillMetaData(QFileSystemEntry const&, QFileSystemMetaData&, QFlags<QFileSystemMetaData::MetaDataFlag>) at qfilesystemengine_unix.cpp:1012:26
frame #2: 0x00007ffff6361c64 libQt6Core.so.6`QFileInfo::exists() const at qfileinfo.cpp:704:44
frame #3: 0x00007ffff6388390 libQt6Core.so.6`QSaveFile::open(QFlags<QIODeviceBase::OpenModeFlag>) at qsavefile.cpp:213:28
frame #4: 0x00007ffff65d7e82 libQt6Core.so.6`QConfFileSettingsPrivate::syncConfFile(QConfFile*) at qsettings.cpp:1431:21
frame #5: 0x00007ffff65d873f libQt6Core.so.6`QConfFileSettingsPrivate::sync() at qsettings.cpp:1294:21
frame #6: 0x00007ffff65c4de5 libQt6Core.so.6`QSettings::~QSettings() at qsettings.cpp:1300:9
frame #7: 0x00007ffff65c4e19 libQt6Core.so.6`QSettings::~QSettings() at qsettings.cpp:2699:1
frame #8: 0x000055555582637d mkvtoolnix-gui`___lldb_unnamed_symbol10520 + 1567
frame #9: 0x00007ffff6408c86 libQt6Core.so.6`void doActivate<false>(QObject*, int, void**) [inlined] QtPrivate::QSlotObjectBase::call(QObject*, void**) at qobjectdefs_impl.h:399:57
frame #10: 0x00007ffff6408c69 libQt6Core.so.6`void doActivate<false>(QObject*, int, void**) at qobject.cpp:3921:30
frame #11: 0x00007ffff64180aa libQt6Core.so.6`QTimer::timeout(QTimer::QPrivateSignal) at moc_qtimer.cpp:210:26
frame #12: 0x00007ffff63f926d libQt6Core.so.6`QObject::event(QEvent*) at qobject.cpp:1378:24
frame #13: 0x00007ffff746adf1 libQt6Widgets.so.6`QApplicationPrivate::notify_helper(QObject*, QEvent*) at qapplication.cpp:3350:31
frame #14: 0x00007ffff63a78e8 libQt6Core.so.6`QCoreApplication::notifyInternal2(QObject*, QEvent*) at qcoreapplication.cpp:1067:24
frame #15: 0x00007ffff6542249 libQt6Core.so.6`QTimerInfoList::activateTimers() at qtimerinfo_unix.cpp:646:40
frame #16: 0x00007ffff665adc4 libQt6Core.so.6`::timerSourceDispatch() at qeventdispatcher_glib.cpp:185:49
frame #17: 0x00007ffff60e200b libglib-2.0.so.0`g_main_context_dispatch + 312
frame #18: 0x00007ffff60e226e libglib-2.0.so.0`___lldb_unnamed_symbol2470 + 397
frame #19: 0x00007ffff60e2320 libglib-2.0.so.0`g_main_context_iteration + 55
frame #20: 0x00007ffff665b17c libQt6Core.so.6`QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at qeventdispatcher_glib.cpp:429:43
frame #21: 0x00007ffff63b429b libQt6Core.so.6`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) at qeventloop.cpp:218:22
frame #22: 0x00007ffff63af898 libQt6Core.so.6`QCoreApplication::exec() at qcoreapplication.cpp:1388:36
frame #23: 0x00005555556d7bd4 mkvtoolnix-gui`___lldb_unnamed_symbol5362 + 190
frame #24: 0x00005555556bc176 mkvtoolnix-gui`main + 1082
frame #25: 0x00007ffff7f83a22 ld-musl-x86_64.so.1`libc_start_main_stage2(main=(mkvtoolnix-gui`main), argc=1, argv=0x00007fffffffde18) at __libc_start_main.c:95:2
(lldb) bt
* thread #1, name = 'qbittorrent', stop reason = breakpoint 1.1
* frame #0: 0x00007ffff7fbee7d ld-musl-x86_64.so.1`access(filename="/usr/local/share/icons/hicolor/22x22@2/intl/inode.png", amode=0) at access.c:6:1
frame #1: 0x00007ffff625694c libQt6Core.so.6`QFileSystemEngine::fillMetaData(QFileSystemEntry const&, QFileSystemMetaData&, QFlags<QFileSystemMetaData::MetaDataFlag>) at qfilesystemengine_unix.cpp:1012:26
frame #2: 0x00007ffff6086a50 libQt6Core.so.6`QFileInfo::exists(QString const&) at qfileinfo.cpp:733:36
frame #3: 0x00007ffff67bcae0 libQt6Gui.so.6`QIconLoader::findIconHelper(QString const&, QString const&, QList<QString>&) const at qiconloader.cpp:483:34
frame #4: 0x00007ffff67be742 libQt6Gui.so.6`QIconLoader::loadIcon(QString const&) const at qiconloader.cpp:574:76
frame #5: 0x00007ffff67be8f3 libQt6Gui.so.6`QIconLoaderEngine::ensureLoaded() at qiconloader.cpp:627:51
frame #6: 0x00007ffff67beaa8 libQt6Gui.so.6`QIconLoaderEngine::isNull() [inlined] QIconLoaderEngine::ensureLoaded() at qiconloader.cpp:626:5
frame #7: 0x00007ffff67bea94 libQt6Gui.so.6`QIconLoaderEngine::isNull() at qiconloader.cpp:829:17
frame #8: 0x00007ffff67b1b71 libQt6Gui.so.6`QIcon::fromTheme(QString const&) at qicon.cpp:1325:25
frame #9: 0x0000555555cdba2d qbittorrent`UIThemeManager::getIcon(this=0x00007ffff492be40, iconId=0x00007fffffffa448, fallback=0x00007fffffffa460) const at uithememanager.cpp:207:22
frame #10: 0x0000555555c8e2c0 qbittorrent`TagFilterModel::data(this=<unavailable>, index=<unavailable>, role=<unavailable>) const at tagfiltermodel.cpp:127:44
frame #11: 0x00007ffff634e2fa libQt6Core.so.6`QSortFilterProxyModel::data(QModelIndex const&, int) const at qsortfilterproxymodel.cpp:2285:45
frame #12: 0x00007ffff630dd44 libQt6Core.so.6`QAbstractItemModel::multiData(QModelIndex const&, QModelRoleDataSpan) const at qabstractitemmodel.cpp:3704:23
frame #13: 0x00007ffff7397cef libQt6Widgets.so.6`QStyledItemDelegate::initStyleOption(QStyleOptionViewItem*, QModelIndex const&) const [inlined] QModelIndex::multiData(QModelRoleDataSpan) const at qabstractitemmodel.h:532:22
frame #14: 0x00007ffff7397cd6 libQt6Widgets.so.6`QStyledItemDelegate::initStyleOption(QStyleOptionViewItem*, QModelIndex const&) const at qstyleditemdelegate.cpp:295:20
frame #15: 0x00007ffff7396d51 libQt6Widgets.so.6`QStyledItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const at qstyleditemdelegate.cpp:402:20
frame #16: 0x00007ffff73e985d libQt6Widgets.so.6`QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const at qtreeview.cpp:1807:48
frame #17: 0x00007ffff73e78a9 libQt6Widgets.so.6`QTreeView::drawTree(QPainter*, QRegion const&) const at qtreeview.cpp:1543:24
frame #18: 0x00007ffff73e7987 libQt6Widgets.so.6`QTreeView::paintEvent(QPaintEvent*) at qtreeview.cpp:1349:17
frame #19: 0x00007ffff70f7e28 libQt6Widgets.so.6`QWidget::event(QEvent*) at qwidget.cpp:9201:20
frame #20: 0x00007ffff718cef2 libQt6Widgets.so.6`QFrame::event(QEvent*) at qframe.cpp:550:33
frame #21: 0x00007ffff60ca67e libQt6Core.so.6`QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) at qcoreapplication.cpp:1199:33
frame #22: 0x00007ffff709fde1 libQt6Widgets.so.6`QApplicationPrivate::notify_helper(QObject*, QEvent*) at qapplication.cpp:3344:38
frame #23: 0x00007ffff60ca8e8 libQt6Core.so.6`QCoreApplication::notifyInternal2(QObject*, QEvent*) at qcoreapplication.cpp:1067:24
frame #24: 0x00007ffff70efd35 libQt6Widgets.so.6`QWidgetPrivate::sendPaintEvent(QRegion const&) at qwidget.cpp:5651:43
frame #25: 0x00007ffff70f0649 libQt6Widgets.so.6`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5601:31
frame #26: 0x00007ffff70f1946 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5782:23
frame #27: 0x00007ffff70f02cd libQt6Widgets.so.6`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5642:31
frame #28: 0x00007ffff70f1946 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5782:23
frame #29: 0x00007ffff70f17a9 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5768:31
frame #30: 0x00007ffff70f17a9 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5768:31
frame #31: 0x00007ffff70f02cd libQt6Widgets.so.6`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5642:31
frame #32: 0x00007ffff70f1946 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5782:23
frame #33: 0x00007ffff70f02cd libQt6Widgets.so.6`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5642:31
frame #34: 0x00007ffff70f1946 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5782:23
frame #35: 0x00007ffff70f02cd libQt6Widgets.so.6`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5642:31
frame #36: 0x00007ffff70f1946 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5782:23
frame #37: 0x00007ffff70f02cd libQt6Widgets.so.6`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5642:31
frame #38: 0x00007ffff70f1946 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5782:23
frame #39: 0x00007ffff70f17a9 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5768:31
frame #40: 0x00007ffff70f02cd libQt6Widgets.so.6`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5642:31
frame #41: 0x00007ffff70f1946 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5782:23
frame #42: 0x00007ffff70f02cd libQt6Widgets.so.6`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5642:31
frame #43: 0x00007ffff70f1946 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5782:23
frame #44: 0x00007ffff70f02cd libQt6Widgets.so.6`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5642:31
frame #45: 0x00007ffff70f1946 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5782:23
frame #46: 0x00007ffff70f02cd libQt6Widgets.so.6`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5642:31
frame #47: 0x00007ffff70f1946 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5782:23
frame #48: 0x00007ffff70f17a9 libQt6Widgets.so.6`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5768:31
frame #49: 0x00007ffff70f02cd libQt6Widgets.so.6`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) at qwidget.cpp:5642:31
frame #50: 0x00007ffff71030a5 libQt6Widgets.so.6`QWidgetRepaintManager::paintAndFlush() at qwidgetrepaintmanager.cpp:970:34
frame #51: 0x00007ffff7103a3a libQt6Widgets.so.6`QWidgetRepaintManager::sync(QWidget*, QRegion const&) at qwidgetrepaintmanager.cpp:690:22
frame #52: 0x00007ffff710cc42 libQt6Widgets.so.6`QWidgetWindow::event(QEvent*) at qwidgetwindow.cpp:332:26
frame #53: 0x00007ffff709fdf1 libQt6Widgets.so.6`QApplicationPrivate::notify_helper(QObject*, QEvent*) at qapplication.cpp:3350:31
frame #54: 0x00007ffff60ca8e8 libQt6Core.so.6`QCoreApplication::notifyInternal2(QObject*, QEvent*) at qcoreapplication.cpp:1067:24
frame #55: 0x00007ffff683cdb6 libQt6Gui.so.6`QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) at qguiapplication.cpp:3197:43
frame #56: 0x00007ffff68911fc libQt6Gui.so.6`QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) at qwindowsysteminterface.cpp:1137:61
frame #57: 0x00007ffff68913b7 libQt6Gui.so.6`QWindowSystemInterface::flushWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) at qwindowsysteminterface.cpp:1106:31
frame #58: 0x00007ffff611c480 libQt6Core.so.6`QObject::event(QEvent*) at qobject.cpp:1356:31
frame #59: 0x00007ffff709fdf1 libQt6Widgets.so.6`QApplicationPrivate::notify_helper(QObject*, QEvent*) at qapplication.cpp:3350:31
frame #60: 0x00007ffff60ca8e8 libQt6Core.so.6`QCoreApplication::notifyInternal2(QObject*, QEvent*) at qcoreapplication.cpp:1067:24
frame #61: 0x00007ffff60cd585 libQt6Core.so.6`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) at qcoreapplication.cpp:1845:36
frame #62: 0x00007ffff637e793 libQt6Core.so.6`::postEventSourceDispatch() at qeventdispatcher_glib.cpp:279:39
frame #63: 0x00007ffff59fc00b libglib-2.0.so.0`g_main_context_dispatch + 312
frame #64: 0x00007ffff59fc26e libglib-2.0.so.0`___lldb_unnamed_symbol2470 + 397
frame #65: 0x00007ffff59fc320 libglib-2.0.so.0`g_main_context_iteration + 55
frame #66: 0x00007ffff637e17c libQt6Core.so.6`QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at qeventdispatcher_glib.cpp:429:43
frame #67: 0x00007ffff60d729b libQt6Core.so.6`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) at qeventloop.cpp:218:22
frame #68: 0x00007ffff60d2898 libQt6Core.so.6`QCoreApplication::exec() at qcoreapplication.cpp:1388:36
frame #69: 0x0000555555a3179a qbittorrent`Application::exec(this=0x00007ffff4ec8c90, params=<unavailable>) at application.cpp:703:12
frame #70: 0x0000555555a3b3a9 qbittorrent`main(argc=<unavailable>, argv=0x00007fffffffde48) at main.cpp:312:21
frame #71: 0x00007ffff7f83a22 ld-musl-x86_64.so.1`libc_start_main_stage2(main=(qbittorrent`main at main.cpp:130), argc=1, argv=0x00007fffffffde48) at __libc_start_main.c:95:2
frame #72: 0x0000555555a2a216 qbittorrent`_start + 22
as it seems to be, the issue is in the exists->fillMetaData part. for some reason they keep getting called over and over again.. and strace is full of that only
part of strace (it scrolls 10's of thousands of lines..):
access("/home/demon/.local/share/icons/hicolor/72x72@2/stock/table/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/72x72@2/stock/table/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/72x72@2/stock/text/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/72x72@2/stock/text/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/actions/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/actions/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/animations/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/animations/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/apps/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/apps/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/categories/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/categories/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/devices/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/devices/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/emblems/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/emblems/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/emotes/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/emotes/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/filesystems/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/filesystems/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/intl/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/intl/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/mimetypes/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/mimetypes/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/places/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/places/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/status/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/status/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/stock/chart/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/stock/chart/speedometer.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/home/demon/.local/share/icons/hicolor/96x96/stock/code/speedometer.png", F_OK) = -1 ENOENT (No such file or directory)