non-existent temporary desktop file appears on desktop

Bug #1825587 reported by Walter Lapchynski on 2019-04-19
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
LXQt
Fix Released
Unknown
libfm-qt (Ubuntu)
High
Unassigned
Disco
High
Simon Quigley

Bug Description

[Summary]

Due to an error in how additions and deletions are processed in desktop management handled by pcmanfm-qt/libfm-qt, the desktop shows the remnants of temporary desktop files. They are non-existent files and are both ugly and infuriating to users.

Upstream issued a fix:
https://github.com/lxqt/libfm-qt/commit/f944be7d2447d5c579a57fb5519ee5e2dece5871

[Test Case]

 1. Boot to a freshly installed system (Lubuntu is ideal)
 2. Note that desktop shortcuts for Home, Trash, Computer, and Network are all displayed, with no additional files
 3. All paths are clickable both on the desktop and in the file manager
 4. Right click on the desktop
 5. Click on "Desktop Preferences"
 6. Click on the "Advanced" tab
 7. Uncheck "Home"
 8. Click OK
 9. No additional files should show on the desktop
10. Repeat steps above, but check "Home" again
11. No additional files should show on the desktop
12. Log out and back in again
13. No additional files should show on the desktop
14. Repeat 4-13 with the other shortcuts

When the bug would occur, any change to the desktop shortcuts would result in a new temporary file remnant. Additionally, logging out and back in again would further affect it.

[Regression Potential]

The immediate concern is that pcmanfm-qt could require a no-change rebuild, since it is closely tied to libfm-qt.

Otherwise the amount of changes are relatively small. There should really be no cause for regression. One part of the change moves the process of changes to a later point in the logic, to allow for all changes to accumulate. Another part is more careful with removing deletions from the queue and and only does so if the file has been removed. The most important part for our bug is that a deleted file is not removed from the addition queue and then ignored in the deletion queue. If anything this code seeks to take more edge cases into account.

---

[Original Description]

STEPS TO REPRODUCE
 1. Boot to installed system
 2. Note that desktop shortcuts for Home, Trash, Computer, and Network are all displayed, along with a user-home.desktop with a 6 digit alphanumeric string appended to it
 3. Note that the file does not exist (e.g. with the file manager)
 4. Right click on the desktop
 5. Click on "Desktop Preferences"
 6. Click on the "Advanced" tab
 7. Uncheck "Home"
 8. Click OK
 9. Note that the desktop shortcut for Home and the extra non-existent file disappears but nothing else changes
10. Repeat steps above, but check "Home" again
11. Note that all of the desktop shortcuts are displayed, but also a new file, most likely computer.deskop, but with a 6 digit alphanumeric string appended to it.
12. Note that the file does not exist (e.g. with the file manager)
13. Log out and back in again
14. Note that now there's a user.desktop instead of a computer.desktop

EXPECTED RESULTS
 * non-existent files should not be displayed on the desktop
 * if shortcuts files are temporarily renamed with the random string appended, they should be recycled when finished

ACTUAL RESULTS
The shortcuts display correctly, but the additional non-existent file sometimes shows. There is an unambiguous way to reproduce (see below), but it's not consistent:
 * Lubuntu 19.04 live does not have the problem
 * Lubuntu 19.04 install boots to the problem
 * When pcmanfm-qt is restarted in Lubuntu, the errant file goes away, but logging out and back in again returns the problem

NOTES
Also occurs in Debian testing, though it doesn't initially have the problem and only affects the Home shortcut.

WORKAROUND
 1. Open pcmanfm-qt
 2. Go to the Desktop folder
 3. Refresh the folder (F5)
Now the errant file will not return, no matter whether or not you check shortcuts on or off. It will return when you log in again, though.

We're tracking the ultimate resolution of this in Lubuntu here:
https://phab.lubuntu.me/T70

ProblemType: Bug
DistroRelease: Ubuntu 19.04
Package: pcmanfm-qt 0.14.1-0ubuntu1
ProcVersionSignature: Ubuntu 5.0.0-13.14-generic 5.0.6
Uname: Linux 5.0.0-13-generic x86_64
ApportVersion: 2.20.10-0ubuntu27
Architecture: amd64
CurrentDesktop: LXQt
Date: Fri Apr 19 15:18:20 2019
InstallationDate: Installed on 2019-04-18 (0 days ago)
InstallationMedia: Lubuntu 19.04 "Disco Dingo" - Release amd64 (20190416)
SourcePackage: pcmanfm-qt
UpgradeStatus: No upgrade log present (probably fresh install)

Walter Lapchynski (wxl) wrote :
Changed in pcmanfm-qt (Ubuntu):
status: New → Triaged
importance: Undecided → Low
tags: added: lubuntu
Changed in lxqt:
status: Unknown → New
Walter Lapchynski (wxl) on 2019-04-20
description: updated
Changed in lxqt:
status: New → Fix Released

On Sun, Apr 21, 2019 at 5:35 PM Bug Watch Updater <
<email address hidden>> wrote:

> ** Changed in: lxqt
> Status: New => Fix Released
>
> Problem does seem to have been resolved, even before running an
upgrade??? Thanks for the rapid response on this issue . . . minor
annoyance . . . .

F

Walter Lapchynski (wxl) wrote :

@Fritz the key to understanding what that means is that it's changed in *lxqt* rather than in *libfm-qt*. The LXQt project is a catch-all that allows us to link bugs on Launchpad (our bug tracker) with those upstream in LXQt (in GitHub, to be exact). It will auto update when changes have been made. libfm-qt, you'll see refers to the Ubuntu package, or the Ubuntu version of libfm-qt. That version does not include this fix.

Instead, upstream have provided a fix, though technically not one that has been released in a new version of libfm-qt (it's a little confusing that it says "fix released" as it should be "fix committed" instead). Generally, we provide new packages as new releases become available. There's generally not a lot of good justification to managing individual patches during a development period. But that depends on how upstream's release schedule coincides with ours. In any case, it will be in Eoan one way or another.

We could work on ensuring it's in Disco, as we should be able to pull in just the patch that fixes it, but it will require testing and a bunch of paperwork. Since it has a relatively small impact, I'm a little disinclined to go through all that, but we're discussing it. We'll update the bug if we go this route.

affects: pcmanfm-qt (Ubuntu) → libfm-qt (Ubuntu)
Fritz Hudnut (este-el-paz) wrote :

> We could work on ensuring it's in Disco, as we should be able to pull in
> just the patch that fixes it, but it will require testing and a bunch of
> paperwork. Since it has a relatively small impact, I'm a little
> disinclined to go through all that, but we're discussing it. We'll
> update the bug if we go this route.
>
> ** Package changed: pcmanfm-qt (Ubuntu) => libfm-qt (Ubuntu)
>
>
>
@Walter:

No worries on it, I'm even amazed that there is a "fix committed" . . .
coming from the olde PPC linux days, etc. But, it appears that I spoke too
soon; yesterday I logged in and out of Lubuntu D a couple times and the
"non-existent" file was just that . . . this morning, booted back into Lu
and there it is in all its "existent" desktop glory . . . .

It's not a show-stopper, so if it requires bureaucratic nightmare to "fix"
it in Disco, don't do it . . . . I did run update/upgrade yesterday, and
there were only a few packages to upgrade . . . it seemed like somehow
**before** I ran the upgrade the "fix had been . . . in" . . . but, back on
the planet . . . it remains.

Can't remember if you mentioned it here . . . is this something that can be
"trashed" . . . OR, better to just drag a window over it if I don't want to
see it???

F

Walter Lapchynski (wxl) wrote :

Fritz, the reason you see quick fixes is because LXQt is actively being
developed, unlike LXDE, which hasn't been in a long, long time. There's
a reason why every new release of Lubuntu was essentially a maintenance
release.

Anyways, it sounds like the consensus is that though this has a
relatively small impact, it's ugly and offensive enough that we should
do a SRU. That means that we should see it in Disco relatively soon.
Part of that process will involve some editing of this bug report. Then
when the fix is uploaded, it will go to "Fix Committed." Finally, when
the package with the fix is available in the repositories, it will go to
"Fix Released." At this point, running an update on libfm-qt and
pcmanfm-qt (since it's built based on libfm-qt) will resolve the issue.

Until then, you cannot really do anything with the file since it doesn't
exist. The work around is in the description:
 1. Open pcmanfm-qt
 2. Go to the Desktop folder
 3. Refresh the folder (F5)
Now the errant file will not return, no matter whether or not you check
shortcuts on or off. It will return when you log in again, though.

One other thing: the issue here is a timing issue, and it will be made
worse with less resources. That means that sometimes you might have the
issue and sometimes you might not. It's bizarre. Kudos to the upstream
developers for finding it so quickly.

Download full text (4.5 KiB)

Walter:

Thanks for the clarifications and the reminder on how to "refresh the
desktop" . . . . I will stay tuned, etc.

F

On Tue, Apr 23, 2019 at 10:51 AM Walter Lapchynski <email address hidden> wrote:

> Fritz, the reason you see quick fixes is because LXQt is actively being
> developed, unlike LXDE, which hasn't been in a long, long time. There's
> a reason why every new release of Lubuntu was essentially a maintenance
> release.
>
> Anyways, it sounds like the consensus is that though this has a
> relatively small impact, it's ugly and offensive enough that we should
> do a SRU. That means that we should see it in Disco relatively soon.
> Part of that process will involve some editing of this bug report. Then
> when the fix is uploaded, it will go to "Fix Committed." Finally, when
> the package with the fix is available in the repositories, it will go to
> "Fix Released." At this point, running an update on libfm-qt and
> pcmanfm-qt (since it's built based on libfm-qt) will resolve the issue.
>
> Until then, you cannot really do anything with the file since it doesn't
> exist. The work around is in the description:
> 1. Open pcmanfm-qt
> 2. Go to the Desktop folder
> 3. Refresh the folder (F5)
> Now the errant file will not return, no matter whether or not you check
> shortcuts on or off. It will return when you log in again, though.
>
> One other thing: the issue here is a timing issue, and it will be made
> worse with less resources. That means that sometimes you might have the
> issue and sometimes you might not. It's bizarre. Kudos to the upstream
> developers for finding it so quickly.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1825587
>
> Title:
> non-existent temporary desktop file appears on desktop
>
> Status in LXQt:
> Fix Released
> Status in libfm-qt package in Ubuntu:
> Triaged
>
> Bug description:
> STEPS TO REPRODUCE
> 1. Boot to installed system
> 2. Note that desktop shortcuts for Home, Trash, Computer, and Network
> are all displayed, along with a user-home.desktop with a 6 digit
> alphanumeric string appended to it
> 3. Note that the file does not exist (e.g. with the file manager)
> 4. Right click on the desktop
> 5. Click on "Desktop Preferences"
> 6. Click on the "Advanced" tab
> 7. Uncheck "Home"
> 8. Click OK
> 9. Note that the desktop shortcut for Home and the extra non-existent
> file disappears but nothing else changes
> 10. Repeat steps above, but check "Home" again
> 11. Note that all of the desktop shortcuts are displayed, but also a new
> file, most likely computer.deskop, but with a 6 digit alphanumeric string
> appended to it.
> 12. Note that the file does not exist (e.g. with the file manager)
> 13. Log out and back in again
> 14. Note that now there's a user.desktop instead of a computer.desktop
>
> EXPECTED RESULTS
> * non-existent files should not be displayed on the desktop
> * if shortcuts files are temporarily renamed with the random string
> appended, they should be recycled when finished
>
> ACTUAL RESULTS
> The shortcuts display correctly, but the additional ...

Read more...

Alf Gaida (agaida) wrote :

otherwise a local build with the patch applied is cheap

get the released sources, put the patch into the debian/patches dir and into the series file

apt source libfm-qt
apt install debhelpers devscripts
apt build-dep libfm-qt
debuild
apt install ./*deb

login, logout, done ...

Alf Gaida (agaida) wrote :

ofcourse logout, login, done

@Alf:

OK, thanks for the post on this . . . sorry to ask, but, are you saying to
"get the released sources, Put the patch into debian patches . . ." AND
THEN run the series of commands you provided??

OR, by running that series of "apt source libfm-qt . . . . to apt install
./*deb" . . . and logging out and in . . . that the released sources and
patches will be "sourced" and "installed" . . . ??? Looking at the list of
commands it does seem like that is the only sets that are needed???
F

On Tue, Apr 23, 2019 at 1:15 PM Alf Gaida <email address hidden> wrote:

> otherwise a local build with the patch applied is cheap
>
> get the released sources, put the patch into the debian/patches dir and
> into the series file
>
> apt source libfm-qt
> apt install debhelpers devscripts
> apt build-dep libfm-qt
> debuild
> apt install ./*deb
>
> login, logout, done ...
>
> --
>
>

Walter Lapchynski (wxl) on 2019-04-24
description: updated
Fritz Hudnut (este-el-paz) wrote :

@Alf:
Well I guess I got my answer on this, simply running the list of commands
essentially "errored out"

"sudo apt source libfm-qt
Reading package lists... Done
E: You must put some 'source' URIs in your sources.list
@-pc:~$ apt install debhelpers devscripts
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13:
Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend),
are you root?
@-pc:~$ apt build-dep libfm-qt
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13:
Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend),
are you root?
@-pc:~$ debuild

Command 'debuild' not found, but can be installed with:

sudo apt install devscripts

@-pc:~$ apt install ./*deb ^C"

I cancelled out of it at the "./*deb" line as all of the previous commands
had failed???? So, apparently I do need to find some "sources" for this to
work ??? And install some stuff??

F

On Tue, Apr 23, 2019 at 1:15 PM Alf Gaida <email address hidden> wrote:

> otherwise a local build with the patch applied is cheap
>
> get the released sources, put the patch into the debian/patches dir and
> into the series file
>
> apt source libfm-qt
> apt install debhelpers devscripts
> apt build-dep libfm-qt
> debuild
> apt install ./*deb
>
> login, logout, done ...
>
> --
>
>

@Walter:

I'm sure you don't need me to confirm, but, just to confirm, your
instructions to "reload" the desktop folder does work to clean up the
desktop of this non-existent file . . . easy enough to do.

As I posted on the bug, I did try to run Alf's series of commands . . . and
w/o something from "sources" the whole series of commands "E'd" out . . .
. So perhaps some further work has to be done "upstream"??? He seems to
be the guy who is part of the team that has responded to this bug . . . in
a sense "non-critical" . . . but on the aesthetic level . . . "critical" .
. . .

F

> Until then, you cannot really do anything with the file since it doesn't
> exist. The work around is in the description:
> 1. Open pcmanfm-qt
> 2. Go to the Desktop folder
> 3. Refresh the folder (F5)
> Now the errant file will not return, no matter whether or not you check
> shortcuts on or off. It will return when you log in again, though.
>
> One other thing: the issue here is a timing issue, and it will be made
> worse with less resources. That means that sometimes you might have the
> issue and sometimes you might not. It's bizarre. Kudos to the upstream
> developers for finding it so quickly.
>
>
>

Walter Lapchynski (wxl) wrote :

If you edit your repositories to include sources and make sure to use `sudo` on any `apt` commands, Alf's instructions could work, but it's an advanced and not a good ultimate solution. That solution has been implemented upstream and will be forthcoming.

Alf Gaida (agaida) wrote :

it would be sufficient just to symlink libfm-qt.so.6 -> libfm-qt.so in /usr/lib/x86* - maybe apt don't like it.

Fritz Hudnut (este-el-paz) wrote :

Gents:

Thanks for the comments . . . I did "sudo" . . . because "su" wasn't accepted ?? But I did "bulk" run the commands . . . . but the first one "E'd" out even with "sudo" . . . which I guess was w/o "sources" . . . . Haven't spent time to look at the repos I have in Lu 19.04 to know if "sources" is something to "check on" or "off" . . . .

But, anyway, as of now, the "refresh" method does clear the desktop . . . it's not "life threatening" . . . might just wait for the upstream data to stream down to me . . . .

Walter Lapchynski (wxl) wrote :

For Eoan, the fix is now included here:

libfm-qt (0.14.1-8ubuntu1) eoan; urgency=medium

  * Merge from Debian unstable. Remaining changes:
    - debian/control:
      + Update Vcs-* and maintainer for maintaining by Lubuntu.
      + Add Breaks/Replaces on old libfm-qt-l10n.
    - debian/libfmqt-qt6.symbols
      + Retain Lubuntu generated symbols file.
    - debian/patches: fix-metadata-for-trusting-executables.patch
      + Fix metadata for trusting executables. Use Ubuntu standard for
        trusting executables.

 -- Rik Mills <email address hidden> Fri, 24 May 2019 10:16:20 +0100

Changed in libfm-qt (Ubuntu):
status: Triaged → Fix Released
Walter Lapchynski (wxl) on 2019-06-22
Changed in libfm-qt (Ubuntu Disco):
status: New → Triaged
Changed in libfm-qt (Ubuntu):
importance: Low → High
Changed in libfm-qt (Ubuntu Disco):
importance: Undecided → High
assignee: nobody → Walter Lapchynski (wxl)
Walter Lapchynski (wxl) on 2019-06-22
description: updated
Walter Lapchynski (wxl) on 2019-06-22
description: updated
Simon Quigley (tsimonq2) on 2019-06-29
description: updated
Changed in libfm-qt (Ubuntu Disco):
assignee: Walter Lapchynski (wxl) → Simon Quigley (tsimonq2)
status: Triaged → In Progress

Hello Walter, or anyone else affected,

Accepted libfm-qt into disco-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/libfm-qt/0.14.1-0ubuntu2.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-disco to verification-done-disco. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-disco. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in libfm-qt (Ubuntu Disco):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-disco
Łukasz Zemczak (sil2100) wrote :

I have accepted the SRU into disco-proposed. That being said, the regression potential field mentions "The immediate concern is that pcmanfm-qt could require a no-change rebuild, since it is closely tied to libfm-qt" which is a bit hard to understand for me. Looking at the patch, it doesn't seem to affect the API/ABI, so I was wondering how it could warrant a rebuild of pcmanfm-qt. How does pcmanfm-qt use libfm-qt? Does it pull it in statically during build or something? Or maybe does this actually affect the ABI? I'd like to know that before we proceed with verification.

Walter Lapchynski (wxl) wrote :

Using an upgraded 19.04 system, I enabled proposed and upgraded libfm-qt6 to 0.14.1-0ubuntu2.1. The change does not take affect immediately, but does after stopping and restarting pcmanfm-qt. That can also be accomplished by logging out and back in or by restarting.

That said, it clearly does not require any no-change rebuild of pcmanfm-qt so that comment in the regression potential was merely being cautious based on previous experience. It is true that this doesn't change the ABI so the statement is irrelevant.

tags: added: verification-done-disco
removed: verification-needed-disco

I have since moved on to Lu 19.10 where this problem no longer is happening
. . . it has other problems, but this desktop file problem is seemingly
resolved in 19.10.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libfm-qt - 0.14.1-0ubuntu2.1

---------------
libfm-qt (0.14.1-0ubuntu2.1) disco; urgency=medium

  * Don't show non-existent temporary files on the desktop (LP: #1825587).

 -- Simon Quigley <email address hidden> Wed, 03 Jul 2019 00:04:18 -0500

Changed in libfm-qt (Ubuntu Disco):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for libfm-qt has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.