[Bug 1367907] Re: Segfault in gc with cyclic trash

Clark Boylan clark.boylan at gmail.com
Fri Jul 17 22:57:14 UTC 2015


I have confirmed that running `tox -epy34` against oslo.messaging with
the old python3.4 packages continues to segfault. After upgrading to the
newly built python3.4.3-1ubuntu1~14.04 package the segfaulting stops and
the tests pass.

This looks good to me. Thank you.

Version of python from aptitude:
$ aptitude show python3.4
Package: python3.4                
State: installed
Automatically installed: no
Multi-Arch: allowed
Version: 3.4.3-1ubuntu1~14.04
Priority: important
Section: python
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss at lists.ubuntu.com>
Architecture: amd64
Uncompressed Size: 353 k
Depends: python3.4-minimal (= 3.4.3-1ubuntu1~14.04), libpython3.4-stdlib (= 3.4.3-1ubuntu1~14.04), mime-support
Suggests: python3.4-venv, python3.4-doc, binutils
Conflicts: python3.4
Provides: python3.4:any
Description: Interactive high-level object-oriented language (version 3.4)


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

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python3.4 in Ubuntu.
https://bugs.launchpad.net/bugs/1367907

Title:
  Segfault in gc with cyclic trash

Status in oslo.messaging:
  Invalid
Status in Python:
  Fix Released
Status in python3.4 package in Ubuntu:
  Fix Released
Status in python3.4 source package in Trusty:
  Fix Committed

Bug description:
  Trusty's python3.4 package is affected by python bug
  http://bugs.python.org/issue21435. This bug was fixed in
  http://hg.python.org/cpython/rev/64ba3f2de99c. Trusty should pull this
  fix into the python3.4 package.

  Note this definitely affects some python projects. `git clone
  https://git.openstack.org/openstack/oslo.messaging && cd
  oslo.messaging && edit tox.ini file, copy py33 target and rename to
  py34 && tox -repy34` will segfault due to this bug. With previous
  versions of python unaffected by this bug there is no segfaulting.

  Now for details, broken using:
  $ lsb_release -rd
  Description:	Ubuntu 14.04.1 LTS
  Release:	14.04
  $ apt-cache policy python3.4
  python3.4:
    Installed: 3.4.0-2ubuntu1
    Candidate: 3.4.0-2ubuntu1
    Version table:
   *** 3.4.0-2ubuntu1 0
          500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
          100 /var/lib/dpkg/status

  If I install the following python3.4 packages for Unicorn on Trusty
  this bug is corrected. The Unicorn packages here on lp for python3.4
  are python3.4.1 which includes the bug fix for this bug.

  libpython3.4_3.4.1-10ubuntu1_amd64.deb
  libpython3.4-dev_3.4.1-10ubuntu1_amd64.deb
  libpython3.4-stdlib_3.4.1-10ubuntu1_amd64.deb
  python3.4-dbg_3.4.1-10ubuntu1_amd64.deb
  python3.4-minimal_3.4.1-10ubuntu1_amd64.deb
  libpython3.4-dbg_3.4.1-10ubuntu1_amd64.deb
  libpython3.4-minimal_3.4.1-10ubuntu1_amd64.deb
  python3.4_3.4.1-10ubuntu1_amd64.deb
  python3.4-dev_3.4.1-10ubuntu1_amd64.deb

  Note I installed the -dbg packages too just in case I needed to use
  gdb but that wasn't necessary as the test case works with these newer
  versions of python.

  $ apt-cache policy python3.4
  python3.4:
    Installed: 3.4.1-10ubuntu1
    Candidate: 3.4.1-10ubuntu1
    Version table:
   *** 3.4.1-10ubuntu1 0
          100 /var/lib/dpkg/status
       3.4.0-2ubuntu1 0
          500 http://az2.clouds.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

  [Impact]

  This python bug can cause python processes that tickle it to segfault
  python. This means there could be a significant number of python
  packages that are broken when run under this interpreter. The fix for
  this bug should be backported to avoid seemingly random and hard to
  debug segfaults from happening when users use python.

  Unicorn's 3.4.1 packages fix this bug by including the patch at
  http://hg.python.org/cpython/rev/64ba3f2de99c.

  [Test Case]

  There is a test case detailed in the upstream bug http://bugs.python.org/issue21435, though I have been doing the following instead:
  git clone https://git.openstack.org/openstack/oslo.messaging
  cd oslo.messaging
  git fetch https://review.openstack.org/openstack/oslo.messaging refs/changes/90/118790/2 && git checkout FETCH_HEAD
  tox -repy34
  # This should end with segfaulting test runners. Note if you don't have tox installed you will need to install version 1.7.2 or greater. `sudo pip install tox==1.7.2` will do this.

  [Regression Potential]

  The patch in question is small. If we go straight to python 3.4.1 the
  diff will be larger but that isn't necessary to fix this particular
  issue. The biggest regression potential would be that the garbage
  collector is newly broken by the this bug fix. Considering that the
  garbage collector is already broken and this patch comes with test
  cases to check it is less broken the risk of regression here is less
  than the pain of dealing with this bug.

To manage notifications about this bug go to:
https://bugs.launchpad.net/oslo.messaging/+bug/1367907/+subscriptions



More information about the foundations-bugs mailing list