Linked analyzers cannot be stopped: a stuck stack or concurrency analyzer stalls ctrace and its server
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 58/100
Hướng nghiên cứu
Start with the external-tool timeout path referenced in the issue and the linked analyzer integration, then read docs/configuration.md and the timeout test coverage. Implement timeout handling for both linked analyzers so they are reported as failed with exit code 3, update the configuration documentation, and add a test that exercises the timeout path.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
External tools stop after tools.<name>.timeout_s (#137, #156). The stack analyzer and the concurrency analyzer are linked into ctrace and run on its thread pool, so nothing can stop them: docs/configuration.md says so under tools.<name>.timeout_s.
Observed
On CoreTrace's own code, the pinned stack analyzer (v0.22.0) ran for 42 minutes without finishing (#169). The CLI only ends when something outside kills it, such as the CI job's time limit, and then gives no report. In server mode, the run_analysis request never returns and keeps a worker of the shared pool (#140).
Options
- Run each linked analyzer in a child process.
ctracere-executes itself with an internal subcommand and stops the child on timeout, as it does for external tools. The analyzers' API stays as it is; the cost is a process start and serializing the report, which is already structured (#66). - A cancellation point in the analyzers, for example a stop token checked between functions or modules. There is no extra process, but both analyzers' APIs change, and a function stuck inside one fixed point still cannot be stopped.
Option 1 reuses the timeout path that external tools already have.
Acceptance
tools.ctrace_stack_analyzer.timeout_sandtools.coretrace-concurrency-analyzer.timeout_sstop the analyzer, which is reported as failed (exit code 3), as for external tools.docs/configuration.mdno longer says these two analyzers cannot be stopped.- A test covers the timeout path.
From the technical debt register (docs/quality/technical-debt.md, D2).
- Ngôn ngữ chính
- C++
- Star
- 5
- Fork
- 4
- Merge trung bình
- 1 giờ 9 phút
- Pull request đã merge (30 ngày)
- 81
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc 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.
Issue khác của CoreTrace/coretrace
-
chore good first issue severity/minor
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
Maintainer thường phản hồi trong vòng 1 ngày
-
build severity/minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
CoreTrace/coretrace#176 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
build good first issue severity/minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
test: add unit tests for ctrace::RunDirectoryCó thể đã có người làm @tecnolgd đã nhận 3 ngày trước. Đang mởgood first issue test
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
CoreTrace/coretrace#164 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Release a macOS disk image (.dmg) for Apple siliconCó thể đã có người làm @SizzleUnrlsd đã nhận 1 ngày trước. Đang mởbuild enhancement
CoreTrace/coretrace#198 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của CoreTrace/coretrace
Issue tương tự
-
backlog bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
EchoTools/nevr-runtime#653 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
InfiniTimeOrg/InfiniTime#2492 ·
-
accessibility good first issue hacktoberfest help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
OpenChemistry/avogadrolibs#3184 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Tracktion/tracktion_engine#475 ·
Maintainer thường phản hồi trong vòng 1 ngày