python / python/cpython

[subinterpreters] _xxsubinterpreters: Can't unpickle objects defined in __main__

未关闭
#81,473 6 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

3.8 (EOL) 3.9 (EOL) topic-subinterpreters type-bug
主要语言
Python
星标
77.2k
派生
36k
PR 合并指标
PR 指标待抓取

描述

BPO 37292
Nosy @ncoghlan, @ericsnowcurrently, @soltysh, @crusaderky, @LewisGaul

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:

assignee = None
closed_at = None
created_at = <Date 2019-06-15.13:06:31.523>
labels = ['expert-subinterpreters', 'type-bug', '3.8', '3.9']
title = "[subinterpreters] _xxsubinterpreters: Can't unpickle objects defined in __main__"
updated_at = <Date 2020-05-15.00:40:23.299>
user = 'https://github.com/crusaderky'

bugs.python.org fields:

activity = <Date 2020-05-15.00:40:23.299>
actor = 'vstinner'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Subinterpreters']
creation = <Date 2019-06-15.13:06:31.523>
creator = 'crusaderky'
dependencies = []
files = []
hgrepos = []
issue_num = 37292
keywords = []
message_count = 6.0
messages = ['345680', '357396', '357413', '357447', '357448', '358423']
nosy_count = 5.0
nosy_names = ['ncoghlan', 'eric.snow', 'maciej.szulik', 'crusaderky', 'LewisGaul']
pr_nums = []
priority = 'normal'
resolution = None
stage = None
status = 'open'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue37292'
versions = ['Python 3.8', 'Python 3.9']

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先使用 _xxsubinterpreters 和在 main 中定义的对象重现该失败,然后检查涉及的子解释器和 pickle 处理。完成的标准是,在受影响的子解释器使用场景中,能够正确地对在 main 中定义的对象进行反序列化。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
backend
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。