When unconstrained, udm sometimes downloads files to wrong location
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
Fix Released
|
High
|
Michael Frey | ||
ubuntu-download-manager (Ubuntu) |
Fix Released
|
Critical
|
Loïc Minier |
Bug Description
I'm working on making the s-i tests more robust and I've run into an odd situation, where udm sometimes stores its downloaded files using an incorrect path, and not the one that s-i (which is unconstrained) requests. This only appears to happen when the full s-i test suite is run. When run in isolation, the test succeeds.
Here's a log of the createDownloadGroup call I'm making:
createDownloadG
url is the source url, destination is the local path to save the file in. This call produces incorrect destination paths in the 'finished' signal:
FINISHED: dbus.Array(
Notice the very strange directory udm chooses which is definitely not the path requested, and in fact doesn't exist. This matches the observed behavior that after a succesful group download completion (i.e. no errors occur), I assert that the requested destination path exists, and in the failing test it does not.
I suspect some state is not getting reset in udm.
Related branches
- Manuel de la Peña (community): Approve
- Barry Warsaw (community): Approve
- PS Jenkins bot: Approve (continuous-integration)
-
Diff: 645 lines (+59/-79)30 files modifiedsrc/common/priv/ubuntu/transfers/base_daemon.cpp (+0/-1)
src/common/priv/ubuntu/transfers/base_daemon.h (+0/-1)
src/common/priv/ubuntu/transfers/queue.h (+0/-1)
src/common/priv/ubuntu/transfers/system/apparmor.cpp (+1/-7)
src/common/priv/ubuntu/transfers/system/apparmor.h (+1/-3)
src/common/priv/ubuntu/transfers/system/dbus_proxy_factory.cpp (+1/-7)
src/common/priv/ubuntu/transfers/system/dbus_proxy_factory.h (+1/-3)
src/downloads/priv/ubuntu/downloads/download.h (+0/-1)
src/downloads/priv/ubuntu/downloads/factory.cpp (+0/-5)
src/downloads/priv/ubuntu/downloads/factory.h (+0/-1)
src/downloads/priv/ubuntu/downloads/file_download.h (+0/-1)
src/downloads/priv/ubuntu/downloads/group_download.h (+0/-1)
src/downloads/priv/ubuntu/downloads/manager.cpp (+3/-3)
src/uploads/priv/ubuntu/uploads/factory.cpp (+0/-5)
src/uploads/priv/ubuntu/uploads/factory.h (+0/-1)
src/uploads/priv/ubuntu/uploads/file_upload.h (+0/-1)
src/uploads/priv/ubuntu/uploads/manager.cpp (+1/-1)
tests/common/CMakeLists.txt (+1/-0)
tests/common/apparmor.h (+2/-0)
tests/downloads/daemon/CMakeLists.txt (+0/-1)
tests/downloads/daemon/dbus_proxy_factory.h (+1/-2)
tests/downloads/daemon/factory.h (+2/-0)
tests/downloads/daemon/test_apparmor.cpp (+17/-10)
tests/downloads/daemon/test_download_factory.cpp (+2/-1)
tests/downloads/daemon/test_download_factory.h (+5/-5)
tests/downloads/daemon/test_download_manager.cpp (+8/-7)
tests/downloads/daemon/test_download_manager.h (+3/-3)
tests/downloads/daemon/test_group_download.cpp (+3/-1)
tests/uploads/daemon/test_upload_factory.cpp (+2/-1)
tests/uploads/daemon/test_upload_factory.h (+5/-5)
Changed in canonical-devices-system-image: | |
assignee: | nobody → Canonical Devices Products (canonical-devices-products-team) |
importance: | Undecided → High |
milestone: | none → r1 |
status: | New → Confirmed |
Changed in ubuntu-download-manager (Ubuntu): | |
status: | In Progress → Fix Released |
assignee: | nobody → Loïc Minier (lool) |
no longer affects: | ubuntu-download-manager |
Changed in canonical-devices-system-image: | |
status: | Confirmed → In Progress |
milestone: | ww05-2015 → ww07-2015 |
Changed in canonical-devices-system-image: | |
assignee: | Canonical Devices Products (canonical-devices-products-team) → Michael Frey (mfrey) |
milestone: | ww07-2015 → ww09-2015 |
Changed in canonical-devices-system-image: | |
milestone: | ww09-2015 → ww11-2015 |
status: | In Progress → Fix Released |
no longer affects: | ubuntu-download-manager (Ubuntu RTM) |
Now, I'm absolutely positive I never give a local file path with 'mission-control' in it, but look at this:
@limelight[~:630]% ls -lR ~/.local/ share/ubuntu- download- manager/ usr/ .local/ share/ubuntu- download- manager/ usr/:
/home/barry/
total 8
drwxr-xr-x 3 barry barry 4096 Jul 11 18:09 bin/
drwxr-xr-x 3 barry barry 4096 Jun 9 13:00 lib/
/home/barry/ .local/ share/ubuntu- download- manager/ usr/bin: service- 2.0/
total 4
drwxr-xr-x 3 barry barry 4096 Jul 11 18:09 mediascanner-
/home/barry/ .local/ share/ubuntu- download- manager/ usr/bin/ mediascanner- service- 2.0:
total 4
drwxr-xr-x 2 barry barry 4096 Jul 11 18:09 Downloads/
/home/barry/ .local/ share/ubuntu- download- manager/ usr/bin/ mediascanner- service- 2.0/Downloads: tar.xz. asc
total 24
-rw-r--r-- 1 barry barry 1388 Jul 11 18:09 blacklist.tar.xz
-rw-r--r-- 1 barry barry 819 Jul 11 18:09 blacklist.
/home/barry/ .local/ share/ubuntu- download- manager/ usr/lib:
total 4
drwxr-xr-x 4 barry barry 4096 Jul 11 09:22 telepathy/
/home/barry/ .local/ share/ubuntu- download- manager/ usr/lib/ telepathy:
total 8
drwxr-xr-x 3 barry barry 4096 Jun 9 13:00 mission-control-5/
drwxr-xr-x 3 barry barry 4096 Jul 11 09:22 telepathy-ofono/
/home/barry/ .local/ share/ubuntu- download- manager/ usr/lib/ telepathy/ mission- control- 5:
total 12
drwxr-xr-x 2 barry barry 12288 Jul 14 14:38 Downloads/
/home/barry/ .local/ share/ubuntu- download- manager/ usr/lib/ telepathy/ mission- control- 5/Downloads:
total 816
-rw-r--r-- 1 barry barry 1388 Jul 11 14:39 blacklist (10).tar.xz
-rw-r--r-- 1 barry barry 819 Jul 11 14:39 blacklist (10).tar.xz.asc
-rw-r--r-- 1 barry barry 1388 Jul 11 15:20 blacklist (11).tar.xz
-rw-r--r-- 1 barry barry 819 Jul 11 15:20 blacklist (11).tar.xz.asc
-rw-r--r-- 1 barry barry 1388 Jul 11 18:29 blacklist (12).tar.xz
-rw-r--r-- 1 barry barry 819 Jul 11 18:29 blacklist (12).tar.xz.asc
-rw-r--r-- 1 barry barry 1388 Jul 14 10:05 blacklist (13).tar.xz
-rw-r--r-- 1 barry barry 819 Jul 14 10:05 blacklist (13).tar.xz.asc
-rw-r--r-- 1 barry barry 1388 Jul 14 10:26 blacklist (14).tar.xz
-rw-r--r-- 1 barry barry 819 Jul 14 10:26 blacklist (14).tar.xz.asc
-rw-r--r-- 1 barry barry 1388 Jul 14 10:42 blacklist (15).tar.xz
-rw-r--r-- 1 barry barry 819 Jul 14 10:42 blacklist (15).tar.xz.asc
-rw-r--r-- 1 barry barry 1388 Jul 14 10:42 blacklist (16).tar.xz
-rw-r--r-- 1 barry barry 819 Jul 14 10:42 blacklist (16).tar.xz.asc
-rw-r--r-- 1 barry barry 1388 Jul 14 10:58 blacklist (17).tar.xz
-rw-r--r-- 1 barry barry 819 Jul 14 10:58 blacklist (17).tar.xz.asc
-rw-r--r-- 1 barry barry 1388 Jul 14 11:28 blacklist (18).tar.xz
-rw-r--r-- 1 barry barry 819 Jul 14 11:28 blacklist (18).tar.xz.asc
-rw-r--r-- 1 barry barry 1388 Jul 14 11:48 blacklist (19).tar.xz
-rw-r--r-- 1 barry barry 819 Jul 14 11:48 blacklist (19).tar.xz.asc
-rw-r--r-- 1 barry barry 1388 Jun 9 14:44 blacklist (1).tar.xz
-rw-r--r-- 1 barry barry 819 Jun 9 14:44 blacklist (1).tar.xz.asc
-rw-r--r-- 1 barry barry 1384 Jul 14 12:08 blacklist (20).tar.xz
-rw-r--r-- 1 barry barry 819 Jul 14 12:08 blacklist (20).tar.xz.asc
-rw-r--r-- 1 barry barry 1388 Jul 14 14:38 blacklist (21).tar.xz
-rw-r--r-- 1 barry barry 819 Jul 14 14:38 blacklist (21).tar.xz.asc
-rw-r--r-- 1 barry barry 1388 Jun 1...