-
-
Notifications
You must be signed in to change notification settings - Fork 32.1k
gh-74028: concurrent.futures.Executor.map
: avoid reference cycles when an exception is raised
#131701
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
Open
ebonnal
wants to merge
49
commits into
python:main
Choose a base branch
from
ebonnal:test/executor-map-ref-cycles
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
gh-74028: concurrent.futures.Executor.map
: avoid reference cycles when an exception is raised
#131701
Changes from all commits
Commits
Show all changes
49 commits
Select commit
Hold shift + click to select a range
7dc850b
`test_concurrent_futures.test_map_exception`: assert no reference cyc…
ebonnal 19edced
test there is no future in referrers
ebonnal 1c3d01a
switch to assertTrue(all(...))
ebonnal fa790f1
add test msg
ebonnal e48d0e0
format msgs
ebonnal 99850b8
switch to assert list empty for a better assertion error message
ebonnal 6e78014
edit comment
ebonnal 48ed15d
Merge remote-tracking branch 'cpython/main' into test/executor-map-re…
ebonnal f59c749
Merge branch 'main' into test/executor-map-ref-cycles
graingert 3dc2461
assert there are no reference cycles at all
graingert 4dce280
avoid a reference cycle in subinterpreter pools
graingert 9bc69b9
test that traceback frames should not contain any variables referring…
ebonnal 9c781c1
interpreter.WorkerContext.run: finally unassign exc_wrapper
ebonnal a438301
fix msg grammar
ebonnal ada6140
fix access to exception
ebonnal d5e8c7a
narrow test: traceback frames should not contain any exception
ebonnal c4b771a
clean up exc_wrapper with minimal indentation
ebonnal 03f8ab4
test_map_exception: only search for exception that captures itself in…
ebonnal ef30122
concurrent.futures.process: avoid ref cycle in _sendback_result
ebonnal 09b0819
concurrent.futures.process: avoid ref cycle in _process_worker
ebonnal 4fab860
format test msg
ebonnal 0714013
Merge remote-tracking branch 'cpython/main' into test/executor-map-re…
ebonnal f5135ab
refactor ZeroDivisionError assert
ebonnal 855c427
Revert "concurrent.futures.process: avoid ref cycle in _process_worker"
ebonnal 4504516
Revert "concurrent.futures.process: avoid ref cycle in _sendback_result"
ebonnal fc7a569
skip referrers test for free-threading build on win/linux
ebonnal cae6474
call gc.collect for free-threading on linux/windows
ebonnal 4abb239
Revert "call gc.collect for free-threading on linux/windows"
ebonnal 4bc07c0
Revert "skip referrers test for free-threading build on win/linux"
ebonnal 7b7a5e6
Merge branch 'main' into test/executor-map-ref-cycles
graingert 3b00c5f
more gc referrers
graingert 1948eb3
even more gc referrers
graingert 37b7cb3
Merge branch 'main' into test/executor-map-ref-cycles
graingert 9184964
delete a ref to work_item
graingert 7e5300c
delete reference to result_item before joining process
graingert c5e39ee
unpack ResultItem and WorkItem
graingert 548d517
fix typo
graingert fac7e89
Merge branch 'main' into test/executor-map-ref-cycles
graingert fd9a89e
bit of a hack?
graingert dbaa044
Revert investigations
ebonnal 869e4b7
pause before checking referrers
ebonnal a40b9b8
Merge remote-tracking branch 'cpython/main' into test/executor-map-re…
ebonnal 1ee9bf4
add comment about the avoided ref cycle with exc_wrapper
ebonnal 95765f6
format test
ebonnal 9020971
Merge remote-tracking branch 'cpython/main' into test/executor-map-re…
ebonnal a5c6b17
make the self-captured exceptions check not rely on var name
ebonnal 0f8748c
use traceback.walk_tb
ebonnal 85a3c36
comment the skipping of the current frame
ebonnal 82542f3
test_map_exception: improve readability
ebonnal File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.