python / python/cpython

Database corruption with the shelve module

未关闭
#91,228 8 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

3.10 stdlib type-bug
主要语言
Python
星标
77.2k
派生
36k
平均合并
1 天 9 小时
30 天内合并 PR
558

描述

BPO 47072
Nosy @malemburg, @terryjreedy, @koobs, @HubTou
Files
  • shelve-test.zip: Small test program to reproduce the bug
  • shelve-test-3.10.zip: Small test program and results
  • shelve-test-3.10-b.zip: Small test program and results, with better record size
  • 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 2022-03-20.17:29:23.398>
    labels = ['type-bug', '3.8', '3.10']
    title = 'Database corruption with the shelve module'
    updated_at = <Date 2022-03-27.12:01:09.272>
    user = 'https://github.com/HubTou'
    

    bugs.python.org fields:

    activity = <Date 2022-03-27.12:01:09.272>
    actor = 'Leilei'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Demos and Tools']
    creation = <Date 2022-03-20.17:29:23.398>
    creator = 'HubTou'
    dependencies = []
    files = ['50693', '50703', '50704']
    hgrepos = []
    issue_num = 47072
    keywords = []
    message_count = 7.0
    messages = ['415625', '416036', '416045', '416063', '416108', '416110', '416119']
    nosy_count = 4.0
    nosy_names = ['lemburg', 'terry.reedy', 'koobs', 'HubTou']
    pr_nums = []
    priority = 'normal'
    resolution = None
    stage = None
    status = 'open'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue47072'
    versions = ['Python 3.8', 'Python 3.10']
    

    贡献指南

    打开贡献指南

    从这里开始

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

    调研方向

    首先运行附带的 shelve-test.zip 复现,并将其与 shelve-test-3.10.zip 的结果进行比较。在确认损坏场景的同时阅读 Python shelve 模块;当报告的数据库损坏得到复现、理解,并通过经过验证的测试加以阻止时,即表示完成。

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

    评估

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

    把新 issue 发到你的邮箱

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