co_instrumentation and co_monitoring Unexpectedly Set
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 77.2k
- Fork
- 36k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
Bug report
Bug description:
I ran into the following problematic case with gh-133221 (which had to be reverted):
import sys
import _testinternalcapi
def foo():
pass
def trace_temporarily():
sys._getframe().f_trace_opcodes = True
sys.settrace(print)
sys.settrace(None)
sys._getframe().f_trace_opcodes = False
trace_temporarily()
_testinternalcapi.verify_stateless_code(foo.__code__)
foo()
_testinternalcapi.verify_stateless_code(foo.__code__) # fails
(See https://github.com/python/cpython/pull/133221#issuecomment-2853467104.)
I would expect co_instrumentation and co_monitoring to have remained NULL.
CC @markshannon
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Tái hiện ví dụ được cung cấp trên CPython main branch, tập trung vào sys.settrace, f_trace_opcodes và _testinternalcapi.verify_stateless_code. Theo dõi cách trạng thái của co_instrumentation và co_monitoring thay đổi trong quá trình tracing tạm thời, đồng thời xác nhận fix bằng cách đảm bảo cả hai vẫn là NULL và quá trình xác minh thành công sau khi foo() chạy.
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
- compilers
- 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
- 38/100