status_update not sent any more, causes eternal hang on conffile prompts in aptdaemon
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apt (Ubuntu) |
Fix Released
|
High
|
Michael Vogt | ||
Trusty |
Fix Released
|
High
|
Michael Vogt |
Bug Description
On November 23, aptdaemon started to fail its tests [1]. In particular, it now eternally hangs in the conffile tests, which is reproducible locally perfectly well (on current trusty):
$ PYTHONPATH=. python3 tests/test_
[...]
13:04:03 AptDaemon.Trans [DEBUG]: Emitting PropertyChanged: StatusDetails, silly-config wird konfiguriert
13:04:03 AptDaemon.
13:04:03 AptDaemon.
13:04:03 AptDaemon.
13:04:03 AptDaemon.
13:04:03 AptDaemon.
13:04:03 AptDaemon.
13:04:03 AptDaemon.
13:04:03 AptDaemon.
13:04:03 AptDaemon.
13:04:03 AptDaemon.
13:04:03 AptDaemon.
After that it hangs eternally, you need to run "killall dpkg" to finish this.
This coincides with the large apt update from 0.9.9.1~ubuntu5 to 0.9.13~exp1ubuntu1 [2]; dpkg or aptdaemon itself haven't been uploaded in a while, so I'm fairly certain that either this is a regression in apt, or some deliberate new behaviour for which aptdaemon needs to be updated.
I already ensured that the fix for bug 1254696 (Apt::Keep-Fds) does not help, and apparently aptdaemon does not even use that.
[1] https:/
[2] https:/
Related branches
Changed in aptdaemon (Ubuntu Trusty): | |
assignee: | nobody → Michael Vogt (mvo) |
I believe aptdaemon/ progress. py _on_status_update() is responsible for intercepting conffile prompts. However, this does not get called *at all* any more, I checked this by adding a raise RuntimeError( 'caught! ') at the top, and also some log.warning() (which never appears). So it seems recent apt breaks the status-fd handling?