touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #108363
[Bug 1367907] Re: Segfault in gc with cyclic trash
ping?
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, 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:
In Progress
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
References