| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
🤖 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. |
Sorry, something went wrong.
|
Refleaks bots are failing because of #94330 |
Sorry, something went wrong.
|
@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. |
Sorry, something went wrong.
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 :) |
Sorry, something went wrong.
If the types do not access global module state they should remain static; this is explicitly noted in the PEP. |
Sorry, something went wrong.
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). |
Sorry, something went wrong.
|
@erlend-aasland: Let's continue the discussion on the issue #94382 |
Sorry, something went wrong.
|
Removing do-not-merge as no alternative PR has been proposed so far. |
Sorry, something went wrong.
|
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 I have made the requested changes; please review again. I will then notify any core developers who have left a review that you're ready for them to take another look at this pull request. And if you don't make the requested changes, you will be poked with soft cushions! |
Sorry, something went wrong.
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@protonmail.com>
Well, only three hours passed. That's a little narrow time-frame, don't you agree? :) |
Sorry, something went wrong.
|
As of Petr's last comment, please re-label this with do-not-merge until there is an agreement. |
Sorry, something went wrong.
There was a problem hiding this comment.
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)
Sorry, something went wrong.
This means I can remove do-not-merge, right ? |
Sorry, something went wrong.
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. |
Sorry, something went wrong.
|
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): from test import support
import sys
for i in range(1, 10):
support.run_in_subinterp("import multiprocessing")
print("refs:", sys.gettotalrefcount(), "blocks: ", sys.getallocatedblocks())
Without this PR, Python leaks memory: refs +469, blocks +160. refs: 162138 blocks: 47456 refs: 162201 blocks: 47476 refs: 162259 blocks: 47496 refs: 162317 blocks: 47516 refs: 162375 blocks: 47536 refs: 162433 blocks: 47556 refs: 162491 blocks: 47576 refs: 162549 blocks: 47596 refs: 162607 blocks: 47616 With this PR (rebased to main), Python still leaks memory: refs +469, blocks +160 (no change). refs: 162138 blocks: 47446 refs: 162201 blocks: 47466 refs: 162259 blocks: 47486 refs: 162317 blocks: 47506 refs: 162375 blocks: 47526 refs: 162433 blocks: 47546 refs: 162491 blocks: 47566 refs: 162549 blocks: 47586 refs: 162607 blocks: 47606 Tell me if I did something wrong. If I modify the test to import the _multiprocessing extension instead, I see no leak on the Python main branch (without this PR): refs: 162674 blocks: 49018 refs: 162679 blocks: 49018 refs: 162679 blocks: 49018 refs: 162679 blocks: 49018 refs: 162679 blocks: 49018 refs: 162679 blocks: 49018 refs: 162679 blocks: 49018 refs: 162679 blocks: 49018 refs: 162679 blocks: 49018 Note: I added an empty line for readability. |
Sorry, something went wrong.
|
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. |
Sorry, something went wrong.
Please wait until there is an agreement for this change on Discourse. |
Sorry, something went wrong.
|
FYI, I'll merge this in a day or two. |
Sorry, something went wrong.
|
I'm hesitant to backport this change. Let me know if you disagree, Victor / Petr. |
Sorry, something went wrong.
|
Thanks, Kumar! |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.