Repository navigation
[subinterpreters] PEP 554 implementation: add interpreters module #76785
Description
Activity
ericsnowcurrently commented
on Jan 20, 2018 MemberAuthorMore actionsIn the interest of getting something landed for 3.7, so we can start using it in tests, I'm putting up a patch for a low-level interpreters module. In some ways this is a precursor for issue bpo-30439, which will add a proper public stdlib module in 3.8.
The module I'm adding draws from the ideas in PEP-554 (particularly for channels). Consequently, this will also give us an opportunity to try out some of the semantics from the PEP to give us better ideas for 3.8.
I expect to have some follow-on patches to facilitate simpler use in tests. This patch is big enough already. :)
- added3.7 (EOL)end of lifeend of lifeinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)
on Jan 20, 2018 - addedtype-featureA feature request or enhancementA feature request or enhancement
on Jan 20, 2018 ericsnowcurrently commented
on Jan 20, 2018 MemberAuthorMore actions@ned, it may be a little tight to land this given the time left before beta 1. However, this is meant as a tool for us to use in the test suite (particularly to test the subinterpreter C-API). So I'm arguing that, if necessary, it would still be okay to land this after the feature freeze. (I'm still hoping to get this in before the cutoff.) What do you think?
ericsnowcurrently commented
on Jan 20, 2018 MemberAuthorMore actionsericsnowcurrently commented
on Jan 20, 2018 MemberAuthorMore actionsFYI, there are a few things I need to clean up in the PR. However, I expect that those changes will be minor relative to the the whole patch, so I wanted to get the ball rolling on a review. :)
@eric, given the breadth of change introduced in the PR (including adding a new extension), I think it would be best if at all possible to get it in for beta 1 if we can resolve the review comments in time. If necessary and if there are no objections from other core developers, I would be willing to consider making an exception and allowing it into beta 2 as long as it remains a private interface. If it looks like it won't be in releasable shape by then, I think you should hold off for 3.8; doing otherwise would be unfair to others and to our downstream beta users / testers, for example, even if it is private, adding a new extension and setup.py changes potentially affect downstream packagers.
ericsnowcurrently commented
on Jan 24, 2018 MemberAuthorMore actionsSounds good, Ned. Thanks for taking a look. I should have everything finished up by Friday, so I'm hopeful for landing the change before the deadline. I may have a few minor tweaks to make after that, but I'll discuss that with you before making any changes if that happens.
ericsnowcurrently commented
on Jan 30, 2018 MemberAuthorMore actionsericsnowcurrently commented
on Jan 30, 2018 MemberAuthorMore actionsI've merged the patch without Windows support, which shouldn't be a problem given the purpose of the extension module. I've also added a PR for get the module building under Windows. I'd like to get that resolved ASAP.
Eric, looks like some buildbots are unhappy, for instance:
ericsnowcurrently commented
on Jan 30, 2018 MemberAuthorMore actionsYeah, I'm looking into it. Also, I noticed some refleaks that I'll be sorting out.
ericsnowcurrently commented
on Jan 30, 2018 MemberAuthorMore actionsOn 4 of the buildbots:
======================================================================
ERROR: test_drop_multiple_times (test.test__xxsubinterpreters.ChannelTests)
----------------------------------------------------------------------Traceback (most recent call last): File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test__xxsubinterpreters.py", line 890, in test_drop_multiple_times interpreters.channel_drop_interpreter(cid, send=True, recv=True) SystemError: More keyword list entries (7) than format specifiers (3)
======================================================================
ERROR: test_drop_single_user (test.test__xxsubinterpreters.ChannelTests)
----------------------------------------------------------------------Traceback (most recent call last): File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test__xxsubinterpreters.py", line 848, in test_drop_single_user interpreters.channel_drop_interpreter(cid, send=True, recv=True) SystemError: More keyword list entries (7) than format specifiers (3)
======================================================================
ERROR: test_drop_used_multiple_times_by_single_user (test.test__xxsubinterpreters.ChannelTests)
----------------------------------------------------------------------Traceback (most recent call last): File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test__xxsubinterpreters.py", line 957, in test_drop_used_multiple_times_by_single_user interpreters.channel_drop_interpreter(cid, send=True, recv=True) SystemError: More keyword list entries (7) than format specifiers (3)
======================================================================
ERROR: test_drop_with_unused_items (test.test__xxsubinterpreters.ChannelTests)
----------------------------------------------------------------------Traceback (most recent call last): File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test__xxsubinterpreters.py", line 899, in test_drop_with_unused_items interpreters.channel_drop_interpreter(cid, send=True, recv=True) SystemError: More keyword list entries (7) than format specifiers (3)
213 remaining items
Load more actions- added 4 commits that reference this issue
on Nov 7, 2024 - added 4 commits that reference this issue
on Dec 8, 2024 - added 4 commits that reference this issue
on Jan 12, 2025 Now tracked in #134939.
A
Metadata
Metadata
Assignees
Labels
Projects
- StatusShow more project fieldsDone
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
Linked PRs