← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1737441] Re: /usr/bin/unattended-upgrade:11:__GI___libc_free:operator:__gnu_cxx::new_allocator:std::allocator_traits:std::__cxx11::basic_string

 

** Description changed:

+ [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.
+ 
+ 
  The Ubuntu Error Tracker has been receiving reports about a problem regarding unattended-upgrades.  This problem was most recently seen with package version 0.98ubuntu1, the problem page at https://errors.ubuntu.com/problem/727153285ba3335a07f801a298a3d94cbe6ba05d 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/.

** Description changed:

  [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.
  
- 
+ [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding unattended-upgrades.  This problem was most recently seen with package version 0.98ubuntu1, the problem page at https://errors.ubuntu.com/problem/727153285ba3335a07f801a298a3d94cbe6ba05d 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/.

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

** Also affects: unattended-upgrades (Ubuntu Xenial)
   Importance: Undecided
       Status: New

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

** Also affects: unattended-upgrades (Ubuntu Trusty)
   Importance: Undecided
       Status: New

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

** Changed in: unattended-upgrades (Ubuntu Trusty)
       Status: New => Won't Fix

** Changed in: unattended-upgrades (Ubuntu Xenial)
       Status: New => Won't Fix

-- 
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/1737441

Title:
  /usr/bin/unattended-
  upgrade:11:__GI___libc_free:operator:__gnu_cxx::new_allocator:std::allocator_traits:std::__cxx11::basic_string

Status in python-apt package in Ubuntu:
  Fix Released
Status in unattended-upgrades package in Ubuntu:
  Fix Released
Status in python-apt source package in Trusty:
  New
Status in unattended-upgrades source package in Trusty:
  Won't Fix
Status in python-apt source package in Xenial:
  Triaged
Status in unattended-upgrades source package in Xenial:
  Won't Fix
Status in python-apt source package in Bionic:
  Fix Released
Status in unattended-upgrades source package in Bionic:
  Fix Released

Bug description:
  [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.

  [Original bug report]
  The Ubuntu Error Tracker has been receiving reports about a problem regarding unattended-upgrades.  This problem was most recently seen with package version 0.98ubuntu1, the problem page at https://errors.ubuntu.com/problem/727153285ba3335a07f801a298a3d94cbe6ba05d 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/1737441/+subscriptions