Segfault in gc with cyclic trash
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Python |
Fix Released
|
Unknown
|
|||
oslo.messaging |
Invalid
|
Undecided
|
Clark Boylan | ||
python3.4 (Ubuntu) |
Fix Released
|
High
|
Barry Warsaw | ||
Trusty |
In Progress
|
Undecided
|
Unassigned |
Bug Description
Trusty's python3.4 package is affected by python bug http://
Note this definitely affects some python projects. `git clone https:/
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://
100 /var/lib/
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.
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/
3.4.0-2ubuntu1 0
500 http://
[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://
[Test Case]
There is a test case detailed in the upstream bug http://
git clone https:/
cd oslo.messaging
git fetch https:/
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.
description: | updated |
Changed in oslo.messaging: | |
assignee: | nobody → Clark Boylan (cboylan) |
description: | updated |
Changed in python: | |
status: | Unknown → Fix Released |
Changed in python3.4 (Ubuntu): | |
status: | New → In Progress |
importance: | Undecided → High |
assignee: | nobody → Barry Warsaw (barry) |
Changed in oslo.messaging: | |
status: | New → Invalid |
The patch is pretty small, I think this is a good candidate for a SRU.