Skip to content

Conversation

@miss-islington
Copy link
Contributor

@miss-islington miss-islington commented Nov 19, 2019

This PR implements a fix for multiprocessing.Process objects; the error occurs when Processes are created using either fork or forkserver as the start_method.

In these instances, the MainThread of the newly created Process object retains all attributes from its parent's MainThread object, including the native_id attribute. The resulting behavior is such that the new process' MainThread captures an incorrect/outdated native_id (the parent's instead of its own).

This change forces the Process object to update its native_id attribute during the bootstrap process.

cc @vstinner

https://bugs.python.org/issue38707

Automerge-Triggered-By: @pitrou
(cherry picked from commit c6b20be)

Co-authored-by: Jake Tesler [email protected]

https://bugs.python.org/issue38707

Automerge-Triggered-By: @pitrou

…onGH-17088)

This PR implements a fix for `multiprocessing.Process` objects; the error occurs when Processes are created using either `fork` or `forkserver` as the `start_method`.

In these instances, the `MainThread` of the newly created `Process` object retains all attributes from its parent's `MainThread` object, including the `native_id` attribute. The resulting behavior is such that the new process' `MainThread` captures an incorrect/outdated `native_id` (the parent's instead of its own).

This change forces the Process object to update its `native_id` attribute during the bootstrap process.

cc @vstinner

https://bugs.python.org/issue38707

Automerge-Triggered-By: @pitrou
(cherry picked from commit c6b20be)

Co-authored-by: Jake Tesler <[email protected]>
Copy link
Member

@pitrou pitrou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@miss-islington
Copy link
Contributor Author

@jaketesler: Status check is done, and it's a success ✅ .

@miss-islington miss-islington merged commit 829593a into python:3.8 Nov 19, 2019
@miss-islington miss-islington deleted the backport-c6b20be-3.8 branch November 19, 2019 20:11
@miss-islington
Copy link
Contributor Author

@jaketesler: Status check is done, and it's a success ✅ .

1 similar comment
@miss-islington
Copy link
Contributor Author

@jaketesler: Status check is done, and it's a success ✅ .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type-bug An unexpected behavior, bug, or error

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants