[Bug 1794053] Re: pkgCacheFile unlocks in destructor even if it did not acquire lock
Ćukasz Zemczak
1794053 at bugs.launchpad.net
Mon Oct 1 18:35:37 UTC 2018
Hello Julian, or anyone else affected,
Accepted apt into xenial-proposed. The package will build now and be
available at https://launchpad.net/ubuntu/+source/apt/1.2.28 in a few
hours, and then in the -proposed repository.
Please help us by testing this new package. See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed. Your feedback will aid us getting this
update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested and change the tag from
verification-needed-xenial to verification-done-xenial. If it does not
fix the bug for you, please add a comment stating that, and change the
tag to verification-failed-xenial. In either case, without details of
your testing we will not be able to proceed.
Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
advance for helping!
N.B. The updated package will be released to -updates after the bug(s)
fixed by this package have been verified and the package has been in
-proposed for a minimum of 7 days.
** Changed in: apt (Ubuntu Xenial)
Status: Triaged => Fix Committed
** Tags added: verification-needed-xenial
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, 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:
Fix Committed
Status in apt source package in Bionic:
Fix Committed
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 at 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
More information about the foundations-bugs
mailing list