python / python/cpython

Unpickling objects with recursive references and partials fail due to incomplete state passed to __setstate__

Đang mở
#77,430 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

interpreter-core type-bug
Ngôn ngữ chính
Python
Star
77.2k
Fork
36k
Chỉ số merge pull request
Chỉ số pull request đang chờ

Mô tả

BPO 33249
Nosy @aleneum

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 2018-04-09.12:37:25.064>
labels = ['interpreter-core', 'type-bug']
title = 'Unpickling objects with recursive references and partials fail due to incomplete state passed to __setstate__'
updated_at = <Date 2018-04-09.15:31:56.040>
user = 'https://github.com/aleneum'

bugs.python.org fields:

activity = <Date 2018-04-09.15:31:56.040>
actor = 'aleneum'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Interpreter Core']
creation = <Date 2018-04-09.12:37:25.064>
creator = 'aleneum'
dependencies = []
files = []
hgrepos = []
issue_num = 33249
keywords = []
message_count = 2.0
messages = ['315127', '315130']
nosy_count = 1.0
nosy_names = ['aleneum']
pr_nums = []
priority = 'normal'
resolution = None
stage = None
status = 'open'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue33249'
versions = ['Python 3.4', 'Python 3.5', 'Python 3.6']

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Payload không nêu tên tệp hay bài kiểm thử nào. Hãy bắt đầu bằng việc tái hiện lỗi unpickling của các tham chiếu đệ quy và partials, sau đó lần theo đường dẫn unpickling trong lõi trình thông dịch CPython và cách xử lý setstate của nó. Hoàn tất khi các đối tượng này unpickle thành công với toàn bộ trạng thái được truyền vào setstate, đồng thời bổ sung độ bao phủ hồi quy ở những nơi phù hợp.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
backend
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.