** Description changed:

+ [Impact]
+ 
+  * Unattended-upgrades fails upgrading packages in the middle of a dpkg/apt 
call due to a parallel process acquiring apt or dpkg lock while u-u is running, 
but u-u running apt/dpkg anyway without successfully re-acquiring the lock.
+  * The fix is stopping processing updates when the lock is detected to be 
lost.
+ 
+ [Test Case]
+ 
+  * Set up a system with packages (> 30) to be upgraded:
+ $ lxc launch ubuntu:b36ec647e374 uu-lock-bail
+ 
+  * Set up two shells to run commands in parallel
+  * In shell "A" run sudo apt update && sudo unattended-upgrade --dry-run 
--verbose --debug
+  * After u-u started installing the updates run the following command in 
shell "B":
+ $  while sleep 0.1; do python3 -c 'import apt, apt_pkg, time; 
print(apt_pkg.pkgsystem_lock()); time.sleep(2)' ; done
+ 
+ * With not fixed u-u observe the following exception repeated in shell "B", 
then True being printed when the lock is successfully stolen from u-u:
+ ...
+ Traceback (most recent call last):
+   File "<string>", line 1, in <module>
+ apt_pkg.Error: E:Could not get lock /var/lib/dpkg/lock - open (11: Resource 
temporarily unavailable), E:Unable to lock the administration directory 
(/var/lib/dpkg/), is another process using it?
+ Traceback (most recent call last):
+   File "<string>", line 1, in <module>
+ apt_pkg.Error: E:Could not get lock /var/lib/dpkg/lock - open (11: Resource 
temporarily unavailable), E:Unable to lock the administration directory 
(/var/lib/dpkg/), is another process using it?
+ True
+ Traceback (most recent call last):
+   File "<string>", line 1, in <module>
+ apt_pkg.Error: E:Could not get lock /var/lib/dpkg/lock - open (11: Resource 
temporarily unavailable), E:Unable to lock the administration directory 
(/var/lib/dpkg/), is another process using it?
+ True
+ True
+ True
+ True
+ ...
+ 
+ Buggy u-u continues operation even after the lock is stolen.
+ 
+ Fixed u-u stops operation with a printout similar to the following when it 
detects the lock to be stolen:
+ ...
+ Writing dpkg log to /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
+ /usr/bin/dpkg --status-fd 9 --no-triggers --unpack --auto-deconfigure 
/var/cache/apt/archives/distro-info-data_0.37ubuntu0.1_all.deb 
+ /usr/bin/dpkg --status-fd 9 --configure --pending 
+ Exception happened during upgrade.
+ Traceback (most recent call last):
+   File "./unattended-upgrade", line 539, in cache_commit
+     res = cache.commit(install_progress=iprogress)
+   File "./unattended-upgrade", line 360, in __exit__
+     apt_pkg.pkgsystem_lock()
+ apt_pkg.Error: E:Could not get lock /var/lib/dpkg/lock - open (11: Resource 
temporarily unavailable), E:Unable to lock the administration directory 
(/var/lib/dpkg/), is another process using it?
+ Exception happened during upgrade.
+ NoneType: None
+ Installing the upgrades failed!
+ error message: E:Could not get lock /var/lib/dpkg/lock - open (11: Resource 
temporarily unavailable), E:Unable to lock the administration directory 
(/var/lib/dpkg/), is another process using it?
+ dpkg returned a error! See 
/var/log/unattended-upgrades/unattended-upgrades-dpkg.log for details
+ ...
+ 
+ [Regression Potential]
+ 
+  * As a consequence of the fix unattended-upgrade stops installing
+ security-updates when an other dpkg frontend's parallel activity is
+ detected. This is intentional to prevent parallel execution of dpkg and
+ potentially leaving the system in an inconsistent state. The full fix
+ will be implemented in LP: #1781169 and changing u-u to use the new
+ locking mechanism, and then u-u will never lose the lock.
+ 
+ [Other Info]
+ 
+ I believe parallel dpkg calls cause many breakages reported against u-u
+ and other packages listing breaking maintainer scripts.
+ 
+ [Original Bug Text]
+ 
  As per https://bugs.launchpad.net/ubuntu/+source/unattended-
  upgrades/+bug/1052360/comments/17, I am filing a new bug with the
  specific error I am running into. This has been going on for quite a
  while now.
  
  Also, my log files still show up as I described in
  https://bugs.launchpad.net/ubuntu/+source/unattended-
  upgrades/+bug/1052360/comments/14.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 13.10
  Package: unattended-upgrades 0.79.3ubuntu8
  ProcVersionSignature: Ubuntu 3.11.0-14.21-generic 3.11.7
  Uname: Linux 3.11.0-14-generic x86_64
  NonfreeKernelModules: fglrx
  ApportVersion: 2.12.5-0ubuntu2.1
  Architecture: amd64
  Date: Wed Dec 11 11:07:09 2013
  MarkForUpload: True
  PackageArchitecture: all
  SourcePackage: unattended-upgrades
  UpgradeStatus: Upgraded to saucy on 2013-10-18 (54 days ago)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1260041

Title:
  Unattended-Upgrades crashes with a dpkg error

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1260041/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to