python / python/cpython

multiprocessing.Condition.notify_all() blocks indefinitely if a process waiting on it has died

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

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

3.7 (EOL) OS-windows topic-multiprocessing 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 30975
Nosy @pfmoore, @pitrou, @tjguk, @zware, @zooba, @applio, @mickp
Files
  • WaitersSleepers.py: A script to demonstrate to the issue.
  • WaitersSleepers.py
  • 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 2017-07-20.11:29:48.884>
    labels = ['type-bug', '3.7', 'OS-windows']
    title = 'multiprocessing.Condition.notify_all() blocks indefinitely if a process waiting on it has died'
    updated_at = <Date 2017-07-20.14:20:00.088>
    user = 'https://github.com/mickp'
    

    bugs.python.org fields:

    activity = <Date 2017-07-20.14:20:00.088>
    actor = 'pitrou'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Windows']
    creation = <Date 2017-07-20.11:29:48.884>
    creator = 'mickp'
    dependencies = []
    files = ['47025', '47027']
    hgrepos = []
    issue_num = 30975
    keywords = []
    message_count = 4.0
    messages = ['298713', '298719', '298720', '298722']
    nosy_count = 8.0
    nosy_names = ['paul.moore', 'pitrou', 'tim.golden', 'sbt', 'zach.ware', 'steve.dower', 'davin', 'mickp']
    pr_nums = []
    priority = 'normal'
    resolution = None
    stage = 'needs patch'
    status = 'open'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue30975'
    versions = ['Python 2.7', 'Python 3.5', 'Python 3.6', 'Python 3.7']
    

    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

    Bắt đầu bằng cách chạy reproducer WaitersSleepers.py được đính kèm và so sánh hai phiên bản đã tải lên, các tệp WaitersSleepers.py 47025 và 47027. Theo dõi hành vi của Windows multiprocessing.Condition khi một process đang chờ thoát, sau đó xác minh rằng notify_all() trả về thay vì bị block vô thời hạn trong tình huống đó.

    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
    operating-systems
    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
    Khá rõ ràng
    Mức phù hợp với người mới
    35/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.