Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34k
GH-94382: port multiprocessing static types to heap types#94336
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
Conversation
bedevere-bot commented Jun 27, 2022
🤖 New build scheduled with the buildbot fleet by @kumaraditya303 for commit 100ad99 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
kumaraditya303 commented Jun 27, 2022
Refleaks bots are failing because of #94330 |
erlend-aasland commented Jun 27, 2022
@kumaraditya303, thanks for the PR. One of the most important aims of PEP-687 is to communicate the changes before they happen. See Part 1: Preparation. I'd prefer if you please re-read the PEP and follow its guidelines as specified. You'll notice that opening a PR comes in the second half of the process. |
kumaraditya303 commented Jun 28, 2022
I'll create an issue to discuss it but I don't expect much as the module has no global state and the implemented types are not performance critical. I had worked on this months ago just was waiting for PEP to get accepted :) |
erlend-aasland commented Jun 28, 2022
If the types do not access global module state they should remain static; this is explicitly noted in the PEP. |
erlend-aasland commented Jun 28, 2022
Well, the important thing is that it gets done. Lack of communication is the single one issue that has contributed to heating the discussions regarding these changes. Even if we expect few people to participate in such a topic, it is of importance to raise awareness (and then wait at least for a week or two before continuing). |
kumaraditya303 commented Jun 28, 2022
@erlend-aasland: Let's continue the discussion on the issue #94382 |
Uh oh!
There was an error while loading. Please reload this page.
kumaraditya303 commented Jun 28, 2022
Removing do-not-merge as no alternative PR has been proposed so far. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
bedevere-bot commented Jun 28, 2022
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase And if you don't make the requested changes, you will be poked with soft cushions! |
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@protonmail.com>
erlend-aasland commented Jun 28, 2022
Well, only three hours passed. That's a little narrow time-frame, don't you agree? :) |
Uh oh!
There was an error while loading. Please reload this page.
erlend-aasland commented Jun 28, 2022
As of Petr's last comment, please re-label this with do-not-merge until there is an agreement. |
vstinner left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a NEWS entry explaining that the purpose of this PR is to fix memory leaks when the _multiprocessing extension module is loaded/unloaded multiple times: #94382 (comment)
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
kumaraditya303 commented Jul 3, 2022
This means I can remove do-not-merge, right ? |
vstinner commented Jul 3, 2022
That's unrelated. @erlend-aasland wrote:
Since @erlend-aasland and @encukou wrote PEP 687, I understand that you need to agree on that specific PR. |
vstinner commented Jul 3, 2022
Sorry, I'm no longer convinced that this PR fix an actual memory leak. The NEWS entry no looks wrong to me. Test from #94382 (comment): Without this PR, Python leaks memory: refs +469, blocks +160. With this PR (rebased to main), Python still leaks memory: refs +469, blocks +160 (no change). Tell me if I did something wrong. If I modify the test to import the Note: I added an empty line for readability. |
kumaraditya303 commented Jul 3, 2022 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
I had only verified single leak #94382 (comment) which is fixed by this PR. If the multiple initialization is not fixed, there must be something in multiprocessing module which is causing it. Anyways, I'll wait for decision on the discourse now before putting anymore effort into this as there are more reason for this change other than multiple initialization. |
erlend-aasland commented Jul 3, 2022
Please wait until there is an agreement for this change on Discourse. |
erlend-aasland commented Jul 18, 2022
FYI, I'll merge this in a day or two. |
erlend-aasland commented Jul 20, 2022
I'm hesitant to backport this change. Let me know if you disagree, Victor / Petr. |
Uh oh!
There was an error while loading. Please reload this page.
erlend-aasland commented Jul 20, 2022
Thanks, Kumar! |
Uh oh!
There was an error while loading. Please reload this page.