group.of.nepali.translators team mailing list archive
-
group.of.nepali.translators team
-
Mailing list archive
-
Message #26754
[Bug 1794053] Re: pkgCacheFile unlocks in destructor even if it did not acquire lock
This bug was fixed in the package apt - 1.2.29
---------------
apt (1.2.29) xenial; urgency=medium
* Set DPKG_FRONTEND_LOCKED when running {pre,post}-invoke scripts.
Some post-invoke scripts install packages, which fails because
the environment variable is not set. This sets the variable for
all three kinds of scripts {pre,post-}invoke and pre-install-pkgs,
but we will only allow post-invoke at a later time.
(LP: #1796808)
apt (1.2.28) xenial; urgency=medium
[ Julian Andres Klode ]
* apt.conf.autoremove: Add linux-cloud-tools to list (LP: #1698159)
* Add support for dpkg frontend lock (Closes: #869546) (LP: #1781169)
* Set DPKG_FRONTEND_LOCKED as needed when doing selection changes
* http: Stop pipeline after close only if it was not filled before
(LP: #1794957)
* pkgCacheFile: Only unlock in destructor if locked before (LP: #1794053)
* Update libapt-pkg5.0 symbols for frontend locking
[ David Kalnischkies ]
* Support records larger than 32kb in 'apt show' (Closes: #905527)
(LP: #1787120)
-- Julian Andres Klode <juliank@xxxxxxxxxx> Tue, 09 Oct 2018 12:35:03
+0200
** Changed in: apt (Ubuntu Xenial)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
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:
Fix Released
Status in apt source package in Bionic:
Fix Released
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 <arch@xxxxxxxxxxxxx>
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
References