python3.8 subinterpereters cause use-after-free in asyncio

Bug #1887847 reported by Paul Hollinsky on 2020-07-16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python3.8 (Ubuntu)

Bug Description

Python 3.8.0 to 3.8.2 include a bug which breaks subinterpereters nearly in their entirety.

If a subinterpereter initializes asyncio (a library used by many other libraries), then exits, and another subinterpereter initializes asyncio, there will be a use-after-free and segmentation fault.


A main.c small test program is attached to that bug which replicates the issue.

The bug has been fixed as of 3.8.3 and 3.9.0. I attached a patch which backports the one-line fix to a 3.8.2-1ubuntu1.2 version for focal.

I am writing a piece of software that I fear will be unusable on focal without this backport, since the default python3 is python 3.8.2-1ubuntu1.1 at the time of writing. Since it does not contain the fix, my application crashes.

Paul Hollinsky (paulywog) wrote :

The attachment "1-3.8.2-1ubuntu1.2.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Mathew Hodson (mhodson) on 2020-07-30
Changed in python3.8 (Ubuntu):
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers