[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-09-12 Thread Julian Andres Klode
JFTR, in case anyone is looking at this:

The fix for xenial and trusty has been merged into the fix for 1737441,
and was fixed there, as the regression that manifested in this bug due
to the fix for 1737441 never manifested in those releases, as there was
no upload with just that fix.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Won't Fix
Status in update-manager source package in Trusty:
  Confirmed
Status in update-manager source package in Xenial:
  Confirmed
Status in python-apt source package in Bionic:
  Fix Released
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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


[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-07-10 Thread Julian Andres Klode
** Description changed:

- == xenial / trusty ==
- [Impact]
- Some applications, like unattended-upgrades or update-manager, reopen the apt 
cache. They also keep around old apt.Package objects however, and operate on 
them after reopening. Under the hood, this means that apt_pkg.Package objects 
belonging to an old cache are passed to a new cache.
- 
- APT relies on the ID of the package (it's position in the cache) for
- it's operation. So if a package has ID 0 in the old cache, and a
- different package has ID 0 in the new cache, performing operations on
- the old package would perform it on the new package. If the old
- package's ID is out of bounds in the new cache, the behavior is
- undefined - it's an out of bounds array access.
- 
- [Test case]
- The attached test case has a list of packages 0-9, a-z; stores the package 
"z" into a variable, then reopens the cache. It then marks z for deletion. This 
either segfaults or does nothing; when it should mark z for deletion.
- 
- More test cases like this are in the autopkgtest.
- 
- [Regression potential]
- The initial fix introduced bug 1780099, there might be similar bugs lurking. 
However, these bugs would have been undefined behavior before and might have 
caused segmentation faults or did the wrong thing. It seems likely that any 
regression cannot possibly be worse than the current state.
- 
- == bionic+ ===
- 
  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.
  
  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be raised
  from the apt_pkg layer.
  
  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()
  
  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.
  
  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

** No longer affects: python-apt (Ubuntu Xenial)

** No longer affects: python-apt (Ubuntu Trusty)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Won't Fix
Status in update-manager source package in Trusty:
  Confirmed
Status in update-manager source package in Xenial:
  Confirmed
Status in python-apt source package in Bionic:
  Fix Released
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports 

[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-07-04 Thread Launchpad Bug Tracker
Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: update-manager (Ubuntu Trusty)
   Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Won't Fix
Status in python-apt source package in Trusty:
  Confirmed
Status in update-manager source package in Trusty:
  Confirmed
Status in python-apt source package in Xenial:
  Confirmed
Status in update-manager source package in Xenial:
  Confirmed
Status in python-apt source package in Bionic:
  Fix Released
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  == xenial / trusty ==
  [Impact]
  Some applications, like unattended-upgrades or update-manager, reopen the apt 
cache. They also keep around old apt.Package objects however, and operate on 
them after reopening. Under the hood, this means that apt_pkg.Package objects 
belonging to an old cache are passed to a new cache.

  APT relies on the ID of the package (it's position in the cache) for
  it's operation. So if a package has ID 0 in the old cache, and a
  different package has ID 0 in the new cache, performing operations on
  the old package would perform it on the new package. If the old
  package's ID is out of bounds in the new cache, the behavior is
  undefined - it's an out of bounds array access.

  [Test case]
  The attached test case has a list of packages 0-9, a-z; stores the package 
"z" into a variable, then reopens the cache. It then marks z for deletion. This 
either segfaults or does nothing; when it should mark z for deletion.

  More test cases like this are in the autopkgtest.

  [Regression potential]
  The initial fix introduced bug 1780099, there might be similar bugs lurking. 
However, these bugs would have been undefined behavior before and might have 
caused segmentation faults or did the wrong thing. It seems likely that any 
regression cannot possibly be worse than the current state.

  == bionic+ ===

  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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


[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-07-04 Thread Julian Andres Klode
** Also affects: python-apt (Ubuntu Xenial)
   Importance: Undecided
   Status: New

** Also affects: update-manager (Ubuntu Xenial)
   Importance: Undecided
   Status: New

** Also affects: python-apt (Ubuntu Trusty)
   Importance: Undecided
   Status: New

** Also affects: update-manager (Ubuntu Trusty)
   Importance: Undecided
   Status: New

** Description changed:

+ == xenial / trusty ==
+ [Impact]
+ Some applications, like unattended-upgrades or update-manager, reopen the apt 
cache. They also keep around old apt.Package objects however, and operate on 
them after reopening. Under the hood, this means that apt_pkg.Package objects 
belonging to an old cache are passed to a new cache.
+ 
+ APT relies on the ID of the package (it's position in the cache) for
+ it's operation. So if a package has ID 0 in the old cache, and a
+ different package has ID 0 in the new cache, performing operations on
+ the old package would perform it on the new package. If the old
+ package's ID is out of bounds in the new cache, the behavior is
+ undefined - it's an out of bounds array access.
+ 
+ [Test case]
+ The attached test case has a list of packages 0-9, a-z; stores the package 
"z" into a variable, then reopens the cache. It then marks z for deletion. This 
either segfaults or does nothing; when it should mark z for deletion.
+ 
+ More test cases like this are in the autopkgtest.
+ 
+ [Regression potential]
+ The initial fix introduced bug 1780099, there might be similar bugs lurking. 
However, these bugs would have been undefined behavior before and might have 
caused segmentation faults or did the wrong thing. It seems likely that any 
regression cannot possibly be worse than the current state.
+ 
+ == bionic+ ===
+ 
  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.
  
  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be raised
  from the apt_pkg layer.
  
  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()
  
  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.
  
  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

** Attachment added: "Test case for xenial/trusty"
   
https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/1773316/+attachment/5159649/+files/a.py

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Won't Fix
Status in python-apt source package in Trusty:
  Confirmed
Status in update-manager source package in Trusty:
  Confirmed
Status in python-apt source package in Xenial:
  Confirmed
Status in update-manager source package in Xenial:
  Confirmed
Status in python-apt source package in Bionic:
  Fix Released
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  == xenial / trusty ==
  [Impact]
  Some applications, like unattended-upgrades or update-manager, reopen the apt 
cache. They also keep around old apt.Package objects however, and operate on 
them after reopening. Under the hood, this means that apt_pkg.Package objects 
belonging to an old cache are passed to a new cache.

  APT relies on the ID of the package (it's position in the cache) for
  it's operation. So if a package has ID 0 in the old cache, and a
  different package has ID 0 in the new cache, performing operations on
  the old 

[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-07-04 Thread Launchpad Bug Tracker
Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: python-apt (Ubuntu Xenial)
   Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Won't Fix
Status in python-apt source package in Trusty:
  Confirmed
Status in update-manager source package in Trusty:
  Confirmed
Status in python-apt source package in Xenial:
  Confirmed
Status in update-manager source package in Xenial:
  Confirmed
Status in python-apt source package in Bionic:
  Fix Released
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  == xenial / trusty ==
  [Impact]
  Some applications, like unattended-upgrades or update-manager, reopen the apt 
cache. They also keep around old apt.Package objects however, and operate on 
them after reopening. Under the hood, this means that apt_pkg.Package objects 
belonging to an old cache are passed to a new cache.

  APT relies on the ID of the package (it's position in the cache) for
  it's operation. So if a package has ID 0 in the old cache, and a
  different package has ID 0 in the new cache, performing operations on
  the old package would perform it on the new package. If the old
  package's ID is out of bounds in the new cache, the behavior is
  undefined - it's an out of bounds array access.

  [Test case]
  The attached test case has a list of packages 0-9, a-z; stores the package 
"z" into a variable, then reopens the cache. It then marks z for deletion. This 
either segfaults or does nothing; when it should mark z for deletion.

  More test cases like this are in the autopkgtest.

  [Regression potential]
  The initial fix introduced bug 1780099, there might be similar bugs lurking. 
However, these bugs would have been undefined behavior before and might have 
caused segmentation faults or did the wrong thing. It seems likely that any 
regression cannot possibly be worse than the current state.

  == bionic+ ===

  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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


[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-07-04 Thread Launchpad Bug Tracker
Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: python-apt (Ubuntu Trusty)
   Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Won't Fix
Status in python-apt source package in Trusty:
  Confirmed
Status in update-manager source package in Trusty:
  Confirmed
Status in python-apt source package in Xenial:
  Confirmed
Status in update-manager source package in Xenial:
  Confirmed
Status in python-apt source package in Bionic:
  Fix Released
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  == xenial / trusty ==
  [Impact]
  Some applications, like unattended-upgrades or update-manager, reopen the apt 
cache. They also keep around old apt.Package objects however, and operate on 
them after reopening. Under the hood, this means that apt_pkg.Package objects 
belonging to an old cache are passed to a new cache.

  APT relies on the ID of the package (it's position in the cache) for
  it's operation. So if a package has ID 0 in the old cache, and a
  different package has ID 0 in the new cache, performing operations on
  the old package would perform it on the new package. If the old
  package's ID is out of bounds in the new cache, the behavior is
  undefined - it's an out of bounds array access.

  [Test case]
  The attached test case has a list of packages 0-9, a-z; stores the package 
"z" into a variable, then reopens the cache. It then marks z for deletion. This 
either segfaults or does nothing; when it should mark z for deletion.

  More test cases like this are in the autopkgtest.

  [Regression potential]
  The initial fix introduced bug 1780099, there might be similar bugs lurking. 
However, these bugs would have been undefined behavior before and might have 
caused segmentation faults or did the wrong thing. It seems likely that any 
regression cannot possibly be worse than the current state.

  == bionic+ ===

  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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


[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-07-04 Thread Launchpad Bug Tracker
Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: update-manager (Ubuntu Xenial)
   Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Won't Fix
Status in python-apt source package in Trusty:
  Confirmed
Status in update-manager source package in Trusty:
  Confirmed
Status in python-apt source package in Xenial:
  Confirmed
Status in update-manager source package in Xenial:
  Confirmed
Status in python-apt source package in Bionic:
  Fix Released
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  == xenial / trusty ==
  [Impact]
  Some applications, like unattended-upgrades or update-manager, reopen the apt 
cache. They also keep around old apt.Package objects however, and operate on 
them after reopening. Under the hood, this means that apt_pkg.Package objects 
belonging to an old cache are passed to a new cache.

  APT relies on the ID of the package (it's position in the cache) for
  it's operation. So if a package has ID 0 in the old cache, and a
  different package has ID 0 in the new cache, performing operations on
  the old package would perform it on the new package. If the old
  package's ID is out of bounds in the new cache, the behavior is
  undefined - it's an out of bounds array access.

  [Test case]
  The attached test case has a list of packages 0-9, a-z; stores the package 
"z" into a variable, then reopens the cache. It then marks z for deletion. This 
either segfaults or does nothing; when it should mark z for deletion.

  More test cases like this are in the autopkgtest.

  [Regression potential]
  The initial fix introduced bug 1780099, there might be similar bugs lurking. 
However, these bugs would have been undefined behavior before and might have 
caused segmentation faults or did the wrong thing. It seems likely that any 
regression cannot possibly be worse than the current state.

  == bionic+ ===

  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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


[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-07-04 Thread Julian Andres Klode
This update causes a regression that is tracked in bug 1780099 - notably
the __hash__ of an apt.Package can change after opening, so if used in a
set, or as a dict key, the package won't be found anymore. The
regression is less worse than the previous state, but will be fixed
shortly.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Won't Fix
Status in python-apt source package in Bionic:
  Fix Released
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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


[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-06-18 Thread Launchpad Bug Tracker
This bug was fixed in the package python-apt - 1.6.1

---
python-apt (1.6.1) unstable; urgency=medium

  * apt: Fix typing errors to get CI pass again
  * apt.Cache: Remap objects when reopening cache (LP: #1773316)
  * apt_pkg.DepCache: Raise CacheMismatchError if argument belongs to diff. 
cache
  * Set branch to 1.6.y and adjust travis CI to run against stable releases
  * travis CI / Dockerfile: Pin mypy to 0.600 to prevent future changes 
breaking CI
  * utils/get_debian_mirrors.py: Get data from salsa

 -- Julian Andres Klode   Wed, 06 Jun 2018 15:14:59
-0700

** Changed in: python-apt (Ubuntu Bionic)
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Won't Fix
Status in python-apt source package in Bionic:
  Fix Released
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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


[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-06-11 Thread Julian Andres Klode
I also ran unattended-upgrades and aptdcon --system-upgrade, both of
which performed normally.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Won't Fix
Status in python-apt source package in Bionic:
  Fix Committed
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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


[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-06-11 Thread Julian Andres Klode
Fix works fine:

root@bionic:~# python3 -c "import apt; c=apt.Cache(); p=c['aptitude']; 
c.open(); p.mark_install()"
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/lib/python3/dist-packages/apt/package.py", line 1469, in 
mark_install
self._pcache._depcache.mark_install(self._pkg, auto_inst, from_user)
ValueError: Object of different cache passed as argument to apt_pkg.DepCache 
method
root@bionic:~# dpkg -i python3-apt_1.6.1_amd64.deb 
(Reading database ... 29845 files and directories currently installed.)
Preparing to unpack python3-apt_1.6.1_amd64.deb ...
Unpacking python3-apt (1.6.1) over (1.6.0) ...
Setting up python3-apt (1.6.1) ...
root@bionic:~# python3 -c "import apt; c=apt.Cache(); p=c['aptitude']; 
c.open(); p.mark_install()"

another check:

root@bionic:~# python3 -c "import apt; c=apt.Cache(); p=c['aptitude']; 
c.open(); p.mark_delete(); print(c.get_changes()); c.commit()"
[]
(Reading database ... 29852 files and directories currently installed.)
Removing aptitude (0.8.10-6ubuntu1) ...


** Tags removed: verification-needed verification-needed-bionic
** Tags added: verification-done verification-done-bionic

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Won't Fix
Status in python-apt source package in Bionic:
  Fix Committed
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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


[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-06-11 Thread Steve Langasek
Hello errors.ubuntu.com, or anyone else affected,

Accepted python-apt into bionic-proposed. The package will build now and
be available at https://launchpad.net/ubuntu/+source/python-apt/1.6.1 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-bionic to verification-done-bionic. If it does not
fix the bug for you, please add a comment stating that, and change the
tag to verification-failed-bionic. 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!

** Changed in: python-apt (Ubuntu Bionic)
   Status: Triaged => Fix Committed

** Tags added: verification-needed verification-needed-bionic

** Changed in: update-manager (Ubuntu)
   Status: Confirmed => Won't Fix

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Won't Fix
Status in python-apt source package in Bionic:
  Fix Committed
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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


[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-06-08 Thread Launchpad Bug Tracker
This bug was fixed in the package python-apt - 1.7.0~alpha0~ubuntu3

---
python-apt (1.7.0~alpha0~ubuntu3) cosmic; urgency=medium

  * apt.Cache: Fix error in apt.Package caching
  * apt: Fix typing errors and use mypy --strict
  * Correctly handle missing candidate in Package.get_changelog
  * apt.Cache: Remap objects when reopening cache (LP: #1773316)
  * apt_pkg.DepCache: Raise CacheMismatchError if argument belongs to diff. 
cache
  * apt.debfile: Avoid exception in replaces_real_pkg for no-candidate packages
  * apt.debfile.DebPackage: Handle no-candidate package in 
_maybe_append_multiarch_suffix
  * utils/get_debian_mirrors.py: Get data from salsa

 -- Julian Andres Klode   Wed, 06 Jun 2018 16:09:32
-0700

** Changed in: python-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 python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Confirmed
Status in python-apt source package in Bionic:
  Triaged
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Released
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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


[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-06-06 Thread Julian Andres Klode
** Description changed:

+ [Impact]
+ python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.
+ 
+ With 1.6.1, we introduce a remapping algorithm that remaps objects of
+ apt.Cache() when calling apt.Cache.open(), allowing old objects to be
+ used after reopening, as long as they exist in the new cache. If they
+ don't exist in the new cache, apt_pkg.CacheMismatchError will be raised
+ from the apt_pkg layer.
+ 
+ [Test case]
+ import apt
+ c=apt.Cache()
+ p=c["apt"]
+ c.open()
+ p.mark_install()
+ 
+ [Regression potential]
+ Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
+ what we have now.
+ 
+ [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

** Changed in: update-manager (Ubuntu Bionic)
   Status: Confirmed => Triaged

** Changed in: update-manager (Ubuntu Bionic)
   Status: Triaged => Won't Fix

** Changed in: update-manager (Ubuntu Cosmic)
   Status: Confirmed => Won't Fix

** Changed in: python-apt (Ubuntu Cosmic)
   Status: Confirmed => Fix Committed

** Changed in: python-apt (Ubuntu Bionic)
   Status: Confirmed => Triaged

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Fix Committed
Status in update-manager package in Ubuntu:
  Confirmed
Status in python-apt source package in Bionic:
  Triaged
Status in update-manager source package in Bionic:
  Won't Fix
Status in python-apt source package in Cosmic:
  Fix Committed
Status in update-manager source package in Cosmic:
  Won't Fix

Bug description:
  [Impact]
  python-apt 1.6 raises an exception when objects of an old cache are passed to 
a apt_pkg.DepCache methods for a different cache. Prior to that, those would 
either segfault, succeed, or silently operate on a different object, as they 
use package/version ids, and e.g. two different packages in the old and new 
cache might have the same id.

  With 1.6.1, we introduce a remapping algorithm that remaps objects of
  apt.Cache() when calling apt.Cache.open(), allowing old objects to be
  used after reopening, as long as they exist in the new cache. If they
  don't exist in the new cache, apt_pkg.CacheMismatchError will be
  raised from the apt_pkg layer.

  [Test case]
  import apt
  c=apt.Cache()
  p=c["apt"]
  c.open()
  p.mark_install()

  [Regression potential]
  Could be remapping to wrong items which would cause us to install a wrong 
version, for example. Compared to pre-bionic, bionic is a regression already, 
though, and any regression caused here is less important than
  what we have now.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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


[Touch-packages] [Bug 1773316] Re: Object of different cache passed as argument to apt_pkg.DepCache method

2018-06-06 Thread Julian Andres Klode
** Summary changed:

- 
/usr/bin/update-manager:ValueError:foreach_cb:packages_are_selected:is_selected:marked_install
+ Object of different cache passed as argument to apt_pkg.DepCache method

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1773316

Title:
  Object of different cache passed as argument to apt_pkg.DepCache
  method

Status in python-apt package in Ubuntu:
  Confirmed
Status in update-manager package in Ubuntu:
  Confirmed
Status in python-apt source package in Bionic:
  Confirmed
Status in update-manager source package in Bionic:
  Confirmed
Status in python-apt source package in Cosmic:
  Confirmed
Status in update-manager source package in Cosmic:
  Confirmed

Bug description:
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
update-manager.  This problem was most recently seen with package version 
1:18.04.11, the problem page at 
https://errors.ubuntu.com/problem/e6ff7b5c385c512b7933497ad895c8a19ed063b2 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1773316/+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