gvfs-trash doesn't add "trash::" attrs to file which is moved to Trash

Bug #1495943 reported by Vlad Orlov on 2015-09-15
70
This bug affects 14 people
Affects Status Importance Assigned to Milestone
GLib
Fix Released
Critical
glib2.0 (Debian)
Fix Released
Unknown
glib2.0 (Ubuntu)
Undecided
Unassigned
gvfs (Ubuntu)
High
Unassigned

Bug Description

[System]

Ubuntu MATE 15.10, fully updated.

[Steps to reproduce]

1. Create an empty file: touch ~/test
2. Move it to trash: gvfs-trash ~/test
3. Launch some file manager, browse Trash folder and try to restore the file. I've tested it with the following file managers: Caja, Nemo, Nautilus and Thunar.

[Expected result]

The file should be restored to its original location.

[What happens instead]

The file manager complains that it can't determine the original location of the file, and so doesn't restore it.

[Details]

When moving file to Trash, gvfs-trash does not add trash::orig-path and trash::deletion-date attributes to it. Without that the file manager can't determine the original location of the file, and hence can't restore it.

You can check the file attributes by printing the moved file's info:
gvfs-info trash:///test

[Regression description]

Restoring the files has been working fine in Ubuntu 14.04 and 15.04. This bug appeared only in 15.10, so it's a regression.

You can see the gvfs-info output from 15.04 and 15.10 in the attachments below.

Vlad Orlov (monsta) wrote :
Vlad Orlov (monsta) wrote :
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gvfs (Ubuntu):
status: New → Confirmed
Vlad Orlov (monsta) wrote :

I've found out that for some reason these "trash::" attributes magically appear if I log out and then log in back (or simply reboot).
How come...?

Changed in gvfs (Ubuntu):
importance: Undecided → Critical
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:
http://iso.qa.ubuntu.com/qatracker/reports/bugs/1495943

tags: added: iso-testing
Changed in gvfs (Ubuntu):
importance: Critical → High
assignee: nobody → Ryan Lortie (desrt)
tags: added: rls-w-incoming
Changed in glib:
importance: Unknown → Medium
status: Unknown → Confirmed
Changed in glib:
importance: Medium → Critical
status: Confirmed → Incomplete
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in glib2.0 (Ubuntu):
status: New → Confirmed
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu Package testing tracker.

A list of all reports related to this bug can be found here:
http://packages.qa.ubuntu.com/qatracker/reports/bugs/1495943

tags: added: package-qa-testing
Vlad Orlov (monsta) on 2015-10-06
no longer affects: glib2.0 (Debian)
Changed in glib2.0 (Debian):
status: Unknown → Confirmed
Changed in glib:
status: Incomplete → Fix Released
Changed in gvfs (Ubuntu):
status: Confirmed → Fix Committed
assignee: Allison Ryan Lortie (desrt) → nobody
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gvfs - 1.24.2-0ubuntu4

---------------
gvfs (1.24.2-0ubuntu4) wily; urgency=medium

  * Restore previous change and include extra fix needed on top of it,
    with the current glib it should make trash restore work,
    debian/patches/git_invalid_read.patch (lp: #1495943)

 -- Sebastien Bacher <email address hidden> Fri, 16 Oct 2015 10:29:31 +0100

Changed in gvfs (Ubuntu):
status: Fix Committed → Fix Released
Kev Bowring (flocculant) wrote :

On an updated and rebooted system, restore from trash works - the first time. Moving the same file(s) previously restored to trash and then trying to restore again causes the same bug.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package glib2.0 - 2.46.1-1

---------------
glib2.0 (2.46.1-1) unstable; urgency=medium

  [ Michael Biebl ]
  * Drop clean-la.mk from debian/rules, no longer required.

  [ Iain Lane ]
  * New upstream release 2.46.1
    + Remove system_header pragma (should fix lack of warnings with things
      like g_return_if_fail)
    + move GStrv typedef (and auto-cleanup) from libgobject to libglib
    + fix order of trashing files to be closer to what is required in the
      specification. Namely, trashinfo files are written first. This should
      fix issues with the gvfs trash backend failing to correctly read the
      info for recently trashed files (preventing 'restore'). (Closes:
      #800491) (LP: #1495943)
    + tweak mime logic to return text/plain on all empty files instead of
      returning application/octet-stream. This includes files that have
      extensions that imply that they may be other types of files, which is a
      slight change of behaviour with respect to old GLib versions. (LP:
      #1497170)
  * debian/patches/0001-Revert-list-store-Fix-a-parameter-check.patch: Drop -
    this is applied upstream in this release.
  * debian/patches/0001-GDateTime-test-fix-occasional-failures.patch: Take
    patch from bgo#754994 to resolve intermittent test failures in the
    GDateTime tests.

 -- Iain Lane <email address hidden> Thu, 15 Oct 2015 16:08:30 +0100

Changed in glib2.0 (Ubuntu):
status: Confirmed → Fix Released
Vlad Orlov (monsta) wrote :

Thanks, restoring from trash works now. Not sure why the linked Debian bug isn't closed yet... the fix made it into Unstable before Wily anyway.

Changed in glib2.0 (Debian):
status: Confirmed → Fix Released
Vlad Orlov (monsta) wrote :

Ok, all good now :)

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.