This is an automated email from the git hooks/post-receive script. guillem pushed a commit to branch master in repository dpkg.
View the commit online: https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=b166c999d28cc56e5befe7f13329ec5aa8f448ca commit b166c999d28cc56e5befe7f13329ec5aa8f448ca Author: Guillem Jover <[email protected]> AuthorDate: Sun Jan 20 22:43:34 2019 +0100 dpkg: Reset progress_bytrigproc once we have injected into the current iteration We should not leave the package that could be used to make progress by way of trigger processing in this variable, because it might not have its dependencies satisfied, which means we'll be trying to process it on every next loop, and get into artificialy detected trigger cycles. --- debian/changelog | 4 ++++ src/packages.c | 1 + 2 files changed, 5 insertions(+) diff --git a/debian/changelog b/debian/changelog index 4cfc55b63..409195f0e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -32,6 +32,10 @@ dpkg (1.19.3) UNRELEASED; urgency=medium were not making progress, as we expected to process this package at a later point, when that would never happen anymore. This then was causing asserts in the process queue loop. Closes: #901127, #910819 + * dpkg: Reset progress_bytrigproc once we have injected it into the current + package process queue iteration, so that we do not keep trying to process + it, which might end up generating artificial trigger cycles, if + dependencies are not satisfied yet. * Perl modules: - Dpkg::Changelog::Debian: Preserve modelines at EOF. Closes: #916056 Thanks to Chris Lamb <[email protected]> for initial test cases. diff --git a/src/packages.c b/src/packages.c index 7ca003433..e4214fd0c 100644 --- a/src/packages.c +++ b/src/packages.c @@ -240,6 +240,7 @@ void process_queue(void) { if (progress_bytrigproc && progress_bytrigproc->trigpend_head) { enqueue_package(pkg); pkg = progress_bytrigproc; + progress_bytrigproc = NULL; action_todo = act_configure; } else { dependtry++; -- Dpkg.Org's dpkg

