elfuse stalls at startup under any finite host RLIMIT_CPU
Maintainer thường phản hồi trong vòng 3 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
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- c, macos
- Lĩnh vực
- backend, operating-systems
Hướng nghiên cứu
Start by reproducing with the supplied zsh command and compare behavior with no host CPU limit. The report places the stall in hv_vcpu_run (Hv::Vcpu::run_once in hv_trap), with the vCPU stuck at the same EL1 PC; inspect that execution path and the host RLIMIT_CPU setup. Done means elfuse runs the guest and prints hello under a finite host CPU limit.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Under any finite host RLIMIT_CPU, elfuse stalls before the guest produces output: test-hello prints nothing, and the vCPU watchdog ends elfuse after 10 s with status 124. The limit is nowhere near used up, so the stall comes from a finite limit being set, not from the limit firing.
Reproducer (zsh):
(ulimit -St 1000; build/elfuse build/test-hello; echo "status=$?")
| host limit | result |
|---|---|
| none | prints hello, status 0 |
ulimit -St 1000 |
no output, vCPU execution timed out after 10s, PC=0xfeffdf6000 CPSR=0x3c5, status 124 |
ulimit -St 100000 |
same |
ulimit -Ht 100000 |
same |
ulimit -St 1000, with SIGXCPU ignored in the parent shell (trap '' XCPU) |
same |
The same happens on 3347188 (main), e9fdbbb, and c2785c7^1, from before #448 moved guest limits into the guest table, so it is not caused by the guest table or its enforcement. Ignoring SIGXCPU does not change it, so the host signal is not what stops the guest.
A sample of a stalled process shows the main thread inside hv_vcpu_run (Hv::Vcpu::run_once in hv_trap) for the whole 2 s window, with process CPU time equal to wall time, and the vCPU at EL1 at the same PC on every run. The cause is not traced yet.
Since #448 the guest seeds its RLIMIT_CPU from the host, so a CPU limit inherited from the shell, which the RLIMIT_CPU enforcement in the follow-up PR handles, cannot be exercised until this is fixed.
- Ngôn ngữ chính
- C
- Star
- 278
- Fork
- 31
- Merge trung bình
- 2 ngày 22 giờ
- Pull request đã merge (30 ngày)
- 17
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 sysprog21/elfuse
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Maintainer thường phản hồi trong vòng 3 ngày
-
bug
Độ 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 3 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
sysprog21/elfuse#476 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 3 ngày
Tất cả issue của sysprog21/elfuse
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 70/100
ly05010419/MacNativeGames#1340 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
InukaAsith/TwinDesk#84 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug
Độ 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