Skip to content

Re-Loading the sys or builtins Modules is Problematic #102660

Description

@ericsnowcurrently

The sys and builtins modules are special in that they are initialized early in interpreter startup, mostly before the import system. They aren't initialized like other modules. Furthermore, the data they expose is fundamental to the interpreter. Reloading the modules doesn't make much sense.

The simplest thing to do is to disallow manually loading them (e.g. via the loader). At the very least we should handle m_copy for these modules carefully. (This came up while working on gh-101660.)

Linked PRs

Activity

  1. added a commit that references this issue on Mar 14, 2023
  2. ericsnowcurrently commented on Mar 14, 2023

    @ericsnowcurrently
    MemberAuthor

    I'm leaving this open since we haven't settled whether or not we should disallow directly loading sys/builtins. (That isn't critical to settle in the short-term, so I'm not going to focus much on it for now.)

  3. removed their assignment
    on Mar 14, 2023
  4. added a commit that references this issue on Mar 14, 2023
  5. added a commit that references this issue on Mar 16, 2023
  6. added a commit that references this issue on Mar 17, 2023
  7. added 2 commits that reference this issue on Mar 27, 2023
  8. added a commit that references this issue on Apr 4, 2023
  9. added a commit that references this issue on Apr 8, 2023
  10. added 3 commits that reference this issue on Apr 11, 2023
  11. hugovk commented on Mar 15, 2024

    @hugovk
    Member

    Triage: can this be closed or is there more to do?

    Edit: I see this was recently move to "Todo" so sounds like there is more. Thanks!

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions