calling delete folder via DBus with an invalid udf id fails but there is not broadcast of DBus error singal

Bug #583412 reported by Guillermo Gonzalez
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu One Client
Status tracked in Trunk
Stable-1-2
Fix Released
High
Guillermo Gonzalez
Trunk
Fix Released
High
Guillermo Gonzalez
ubuntuone-client (Ubuntu)
Fix Released
High
Ubuntu One Client Engineering team
Lucid
Fix Released
Undecided
Unassigned

Bug Description

if DBus exposed Folders.delete is called with a non-existent/invalid folder id, the error/failure signal isn't broadcasted via DBus

-------------------------

TEST CASE:

u1sdtool --delete-folder=invalid-id

Result: u1sdtool hangs forever
Expected result: u1sdtool returns error: FolderDeleteError: DOES_NOT_EXIST (volume_id=invalid-id)

-------------------------

Here is the log of a test:

guillermo@naug:~/$ DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-kHzQHKyGAY,guid=6899de014c95a809a352e0f94bf55de7 dbus-send --print-reply --session --dest=com.ubuntuone.SyncDaemon --type=method_call /folders com.ubuntuone.SyncDaemon.Folders.delete string:''

2010-05-20 13:09:58,989 - ubuntuone.SyncDaemon.DBus - DEBUG - Folders.delete: dbus.String(u'')
2010-05-20 13:09:58,990 - ubuntuone.SyncDaemon.VM - INFO - delete_volume: dbus.String(u'')
2010-05-20 13:09:58,990 - ubuntuone.SyncDaemon.ActionQueue - DEBUG - DeleteVolume share:--- node:--- DeleteVolume() queueing in the %s META_QUEUE
2010-05-20 13:09:58,991 - ubuntuone.SyncDaemon.EQ - DEBUG - push_event: SYS_META_QUEUE_WAITING, args:(), kw:{}
2010-05-20 13:09:58,991 - ubuntuone.SyncDaemon.StateManager - DEBUG - received event 'SYS_META_QUEUE_WAITING'
2010-05-20 13:09:58,991 - ubuntuone.SyncDaemon.StateManager - DEBUG - sending event to QueueManager
2010-05-20 13:09:58,991 - ubuntuone.SyncDaemon.QueueManager - DEBUG - Changing state IDLE -> WORKING_ON_METADATA
2010-05-20 13:09:58,992 - ubuntuone.SyncDaemon.QueueManager - DEBUG - In WORKING_ON_METADATA: running META_QUEUE
2010-05-20 13:09:58,992 - ubuntuone.SyncDaemon.ActionQueue - DEBUG - DeleteVolume share:--- node:--- DeleteVolume() starting
2010-05-20 13:09:58,992 - ubuntuone.SyncDaemon.ActionQueue - DEBUG - DeleteVolume share:--- node:--- DeleteVolume() running
2010-05-20 13:09:58,994 - ubuntuone.SyncDaemon.EQ - DEBUG - push_event: SYS_STATE_CHANGED, args:(), kw:{'state': QUEUE_MANAGER (error=False connected=True online=True) Queue: WORKING_ON_METADATA Connection: With User With Network}
method return sender=:1.0 -> dest=:1.15 reply_serial=2
guillermo@naug:~/canonical/ubuntuone/current$ 2010-05-20 13:09:59,056 - ubuntuone.SyncDaemon.ActionQueue - WARNING - DeleteVolume share:--- node:--- DeleteVolume() failure NO_PERMISSION
2010-05-20 13:09:59,056 - ubuntuone.SyncDaemon.ActionQueue - DEBUG - DeleteVolume share:--- node:--- DeleteVolume() cleanup
2010-05-20 13:09:59,057 - ubuntuone.SyncDaemon.EQ - DEBUG - push_event: AQ_DELETE_VOLUME_ERROR, args:(), kw:{'error': 'NO_PERMISSION', 'volume_id': ''}
2010-05-20 13:09:59,057 - ubuntuone.SyncDaemon.EQ - DEBUG - push_event: VM_VOLUME_DELETE_ERROR, args:('', 'NO_PERMISSION'), kw:{}
2010-05-20 13:09:59,057 - ubuntuone.SyncDaemon.DBus - ERROR - Unable to handle VM_VOLUME_DELETE_ERROR for volume_id=u'' as it's not a share or UDF

The DBusInterface should hanlde this case and broadcast the error/faiure signal, as the client will probably wait for a success/failure response.

Related branches

Changed in ubuntuone-client (Ubuntu):
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Ubuntu One Desktop+ team (ubuntuone-desktop+)
Changed in ubuntuone-client:
status: Confirmed → In Progress
tags: added: u1-lucid-sru
description: updated
description: updated
Revision history for this message
Colin Watson (cjwatson) wrote : Please test proposed package

Accepted ubuntuone-client into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in ubuntuone-client (Ubuntu Lucid):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Joshua Hoover (joshuahoover) wrote :

Test case passed with 1.2.2-0ubuntu2 proposed installed.

Revision history for this message
Martin Pitt (pitti) wrote :

Since it was fixed in trunk a while ago, I assume that maverick's current version (1.3.2) has the fix as well. Closing all the maverick tasks.

Changed in ubuntuone-client (Ubuntu):
status: Confirmed → Fix Released
tags: added: verification-done
removed: verification-needed
Revision history for this message
Martin Pitt (pitti) wrote :

ubuntuone-client (1.2.2-0ubuntu1) lucid-proposed; urgency=low

  * New upstream release.
    - Properly handle valid UTF-8 non-ASCII names for UDFs (LP: #557160)
    - Fix nautilus crash when running u1sdtool --subscribe-folder (LP: #570261)
    - Cannot reactivate "File sync" on services tab (LP: #570721)
    - Retry interrupted uploads (LP: #575817)
    - Improve logging at INFO level (LP: #578248)
    - u1sdtool --delete-folder with invalid id hangs (LP: #583412)
    - ubuntuone-syncdaemon crashed with OSError (LP: #452682)
    - ubuntuone-preferences "Got empty result for devices list." (LP: #576263)
  * Rmmove fix-571548.patch and fix-567223.patch; included upstream now.
 -- Rodney Dawes <email address hidden> Wed, 16 Jun 2010 13:42:32 -0400

Changed in ubuntuone-client (Ubuntu Lucid):
status: Fix Committed → Fix Released
tags: added: testcase
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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