Unconstrained download to a directory w/o permission crashes udm
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-download-manager (Ubuntu) |
Fix Released
|
Critical
|
Manuel de la Peña |
Bug Description
One of my system-image test suites creates a destination directory that is unwritable. Previously, when UDM tried to download a file to this while unconstrained, it would issue an error with "Permission denied" in the error output. Now however, udm appears to either crash or freeze. It becomes unresponsive to D-Bus and the error signal is never received, thus failing the test.
Further, since it usually freezes, this affects future tests because udm will not exit when its D-Bus exit method is called. Eventually it gets signal killed and then the tests can proceed.
For now, I will have to skip these tests when s-i runs under udm. The same tests pass for the curl-based downloader.
% dpkg-query -W ubuntu-
ubuntu-
Related branches
- system-apps-ci-bot: Approve (continuous-integration)
- Ubuntu Phablet Team: Pending requested
-
Diff: 120 lines (+34/-8)3 files modifiedpo/ubuntu-download-manager.pot (+14/-1)
src/downloads/priv/ubuntu/downloads/file_download.cpp (+19/-7)
src/downloads/priv/ubuntu/downloads/file_download.h (+1/-0)
Changed in ubuntu-download-manager (Ubuntu): | |
assignee: | nobody → Manuel de la Peña (mandel) |
importance: | Undecided → Critical |
status: | New → Triaged |
I added some debugging; here's how to reproduce:
$ bzr branch lp:system-image $ cd system-image $ tox -e py34-udm --notest -r $ PYCURL= 0 SYSTEMIMAGE_ DBUS_DAEMON_ HUP_SLEEP_ SECONDS= 2 REACTOR_ TIMEOUT= 60 .tox/py34- udm/bin/ python -m nose2 -vv -P test_state_ machine_ exceptions
SYSTEMIMAGE_
SYSTEMIMAGE_
TestAPI.
I am watching the D-Bus signals and all I see is the `started` signal. After
that, nothing and the dbus loop times out. It doesn't matter how long I crank
the timeout to, no other signals are ever received.