shutter-project / shutter

Screenshot tool for Linux
https://shutter-project.org/
GNU General Public License v3.0
530 stars 35 forks source link

Shutter on start scan full disk including remote mounts and take ages for start #269

Open Photon89 opened 4 years ago

Photon89 commented 4 years ago

$ rpm -q shutter shutter-0.94.3-1.fc31.noarch Fedora 31 desktop.

When I start shutter to appear main window and became functional it takes up to 10 minutes!

I've try understand why and run: strace 2>&1 shutter | ts | ts -i | tee shutter.strace

Some interesting founds: $ fgrep -v '00:00:0' shutter.strace 00:00:39.977627 18:11:30.208967 futex(0x7ffde3f2ffe0, FUTEX_WAIT_PRIVATE, 2, NULL) = 0 00:02:07.909194 18:13:40.782562 stat("/mnt/remote/rlh.app.node1/home/pavel.alexeev/temp/portal-api##10.8.11.war", 0x7ffde3f2fe80) = -1 ENXIO (No such device or address) 00:02:08.637653 18:15:49.420294 stat("/mnt/remote/rlh.app.node1/home/pavel.alexeev/temp/portal##10.8.11.war", 0x7ffde3f2fe80) = -1 ENXIO (No such device or address)

/mnt/remote/* is my remote sshfs automounts!! For what shutter go to that??

$ fgrep 'stat("/' shutter.strace | wc -l 4023

I see it walk from root and go to /tmp, /var, /usr, /home, /mnt, /opt.... It looks like it look everything!

Please stop doing that. Or at-least provide settings which directories needs to be scanned on start.

Launchpad Details: #LP1858445 Hubbitus - 2020-01-06 15:23:08 +0000

michalroxorpl commented 3 years ago

Same happens on my Arch installation, my systemd automounted disks are queried at shutter's startup and for each path located on an unavailable mountable share a timeout occurs. It looks however, like shutter is querying for "known" locations, like it uses some previously built list of known files, how else could we explain querying for exact filenames on unmounted and unavailable shares?

michalroxorpl commented 3 years ago

I think I have found out something interesting. From the strace file:

00:00:00 Feb 03 10:49:55 access("/home/michal/.recently-used.xbel", F_OK) = -1 ENOENT (No such file or directory)
00:00:00 Feb 03 10:49:55 openat(AT_FDCWD, "/home/michal/.local/share/recently-used.xbel", O_RDONLY) = 11

So, after removing this file I have found out, that shutter starts again within a second or two. Like normally, and strace doesn't show anymore any attempts to open all these recently used files and directories. In other words: cleaning recently used file deletes the list of files and / or directories shutter visits / checks on startup. @Photon89 could you please try that and confirm if it works same for you?

Photon89 commented 3 years ago

Unfortunately, I'm not the original bug reporter, the bug has been imported from Launchpad (https://bugs.launchpad.net/shutter/+bug/1858445) and posted by my Github account. Therefore, I don't have the suiting setup where the bug appears.