2018-05-25 07:07:54 |
errors.ubuntu.com bug bridge |
bug |
|
|
added bug |
2018-05-25 07:07:55 |
errors.ubuntu.com bug bridge |
bug |
|
|
added subscriber Jean-Baptiste Lallement |
2018-05-31 12:04:07 |
Balint Reczey |
branch linked |
|
lp:~rbalint/update-manager/fix-stale-pkg-refs |
|
2018-06-06 19:06:43 |
Julian Andres Klode |
bug task added |
|
python-apt (Ubuntu) |
|
2018-06-06 19:06:53 |
Julian Andres Klode |
nominated for series |
|
Ubuntu Cosmic |
|
2018-06-06 19:06:53 |
Julian Andres Klode |
bug task added |
|
python-apt (Ubuntu Cosmic) |
|
2018-06-06 19:06:53 |
Julian Andres Klode |
bug task added |
|
update-manager (Ubuntu Cosmic) |
|
2018-06-06 19:06:53 |
Julian Andres Klode |
nominated for series |
|
Ubuntu Bionic |
|
2018-06-06 19:06:53 |
Julian Andres Klode |
bug task added |
|
python-apt (Ubuntu Bionic) |
|
2018-06-06 19:06:53 |
Julian Andres Klode |
bug task added |
|
update-manager (Ubuntu Bionic) |
|
2018-06-06 19:07:19 |
Launchpad Janitor |
python-apt (Ubuntu): status |
New |
Confirmed |
|
2018-06-06 19:07:19 |
Launchpad Janitor |
update-manager (Ubuntu): status |
New |
Confirmed |
|
2018-06-06 19:07:19 |
Launchpad Janitor |
python-apt (Ubuntu Bionic): status |
New |
Confirmed |
|
2018-06-06 19:07:19 |
Launchpad Janitor |
update-manager (Ubuntu Bionic): status |
New |
Confirmed |
|
2018-06-06 19:08:17 |
Julian Andres Klode |
summary |
/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 |
|
2018-06-06 19:17:52 |
Julian Andres Klode |
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/. |
[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/. |
|
2018-06-06 19:18:04 |
Julian Andres Klode |
update-manager (Ubuntu Bionic): status |
Confirmed |
Triaged |
|
2018-06-06 19:18:13 |
Julian Andres Klode |
update-manager (Ubuntu Bionic): status |
Triaged |
Won't Fix |
|
2018-06-06 19:18:19 |
Julian Andres Klode |
update-manager (Ubuntu Cosmic): status |
Confirmed |
Won't Fix |
|
2018-06-06 19:18:27 |
Julian Andres Klode |
python-apt (Ubuntu Cosmic): status |
Confirmed |
Fix Committed |
|
2018-06-06 19:18:31 |
Julian Andres Klode |
python-apt (Ubuntu Bionic): status |
Confirmed |
Triaged |
|
2018-06-07 01:00:40 |
Julian Andres Klode |
python-apt (Ubuntu Cosmic): status |
Fix Committed |
Confirmed |
|
2018-06-07 01:00:46 |
Julian Andres Klode |
python-apt (Ubuntu Cosmic): status |
Confirmed |
Fix Committed |
|
2018-06-08 18:29:22 |
Launchpad Janitor |
python-apt (Ubuntu Cosmic): status |
Fix Committed |
Fix Released |
|
2018-06-11 19:53:16 |
Steve Langasek |
python-apt (Ubuntu Bionic): status |
Triaged |
Fix Committed |
|
2018-06-11 19:53:20 |
Steve Langasek |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2018-06-11 19:53:23 |
Steve Langasek |
bug |
|
|
added subscriber SRU Verification |
2018-06-11 19:53:27 |
Steve Langasek |
tags |
bionic cosmic kylin-18.04 |
bionic cosmic kylin-18.04 verification-needed verification-needed-bionic |
|
2018-06-11 19:54:25 |
Steve Langasek |
update-manager (Ubuntu): status |
Confirmed |
Won't Fix |
|
2018-06-11 20:22:54 |
Julian Andres Klode |
tags |
bionic cosmic kylin-18.04 verification-needed verification-needed-bionic |
bionic cosmic kylin-18.04 verification-done verification-done-bionic |
|
2018-06-18 08:50:08 |
Ćukasz Zemczak |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2018-06-18 09:00:13 |
Launchpad Janitor |
python-apt (Ubuntu Bionic): status |
Fix Committed |
Fix Released |
|
2018-07-04 14:51:31 |
Julian Andres Klode |
nominated for series |
|
Ubuntu Xenial |
|
2018-07-04 14:51:31 |
Julian Andres Klode |
bug task added |
|
python-apt (Ubuntu Xenial) |
|
2018-07-04 14:51:31 |
Julian Andres Klode |
bug task added |
|
update-manager (Ubuntu Xenial) |
|
2018-07-04 14:51:31 |
Julian Andres Klode |
nominated for series |
|
Ubuntu Trusty |
|
2018-07-04 14:51:31 |
Julian Andres Klode |
bug task added |
|
python-apt (Ubuntu Trusty) |
|
2018-07-04 14:51:31 |
Julian Andres Klode |
bug task added |
|
update-manager (Ubuntu Trusty) |
|
2018-07-04 14:52:03 |
Julian Andres Klode |
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/. |
========== 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/. |
|
2018-07-04 14:52:18 |
Julian Andres Klode |
attachment added |
|
Test case for xenial/trusty https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/1773316/+attachment/5159649/+files/a.py |
|
2018-07-04 14:52:26 |
Launchpad Janitor |
python-apt (Ubuntu Trusty): status |
New |
Confirmed |
|
2018-07-04 14:52:26 |
Launchpad Janitor |
update-manager (Ubuntu Trusty): status |
New |
Confirmed |
|
2018-07-04 14:52:26 |
Launchpad Janitor |
python-apt (Ubuntu Xenial): status |
New |
Confirmed |
|
2018-07-04 14:52:26 |
Launchpad Janitor |
update-manager (Ubuntu Xenial): status |
New |
Confirmed |
|
2018-07-10 11:02:36 |
Julian Andres Klode |
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/. |
[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/. |
|
2018-07-10 11:02:48 |
Julian Andres Klode |
bug task deleted |
python-apt (Ubuntu Xenial) |
|
|
2018-07-10 11:02:54 |
Julian Andres Klode |
bug task deleted |
python-apt (Ubuntu Trusty) |
|
|