This bug was fixed in the package apt - 1.7.0~rc2ubuntu1 --------------- apt (1.7.0~rc2ubuntu1) cosmic; urgency=medium
* Fix calculation of elapsed usec in downloads * pkgCacheFile: Only unlock in destructor if locked before (LP: #1794053) -- Julian Andres Klode <juli...@ubuntu.com> Mon, 24 Sep 2018 12:18:26 +0200 ** Changed in: apt (Ubuntu Cosmic) Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apt in Ubuntu. https://bugs.launchpad.net/bugs/1794053 Title: pkgCacheFile unlocks in destructor even if it did not acquire lock Status in apt package in Ubuntu: Fix Released Status in apt source package in Trusty: Triaged Status in apt source package in Xenial: Triaged Status in apt source package in Bionic: Triaged Status in apt source package in Cosmic: Fix Released Bug description: [Impact] Closing a cache file unlocks the system (loses the lock). This randomly breaks ubuntu-make, for example. [Test case] The following Python code fails, but should succeed, as it locks first, opens a cache and closes it, and then unlocks. import apt_pkg, os, gc apt_pkg.init() apt_pkg.pkgsystem_lock() os.system("ls -l /proc/%d/fd" % os.getpid()) apt_pkg.Cache() gc.collect() os.system("ls -l /proc/%d/fd" % os.getpid()) apt_pkg.pkgsystem_unlock() [Regression potential] This fixes a regression introduced in 2001 by commit b2e465d6d32d2dc884f58b94acb7e35f671a87fe Author: Arch Librarian <a...@canonical.com> Date: Mon Sep 20 16:56:32 2004 +0000 Join with aliencode Author: jgg Date: 2001-02-20 07:03:16 GMT Join with aliencode The fix is to only UnLock from the cache file if the cache file locked before. It's unclear how far code relies on that regression. That said, any potential regression should be easily noticable, as it would be a case of not unlocking where we were unlocking before. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1794053/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp