Fix AnyEvent::Tools compilation and timer scheduling compatibility
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
- 45/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ệ
- perl
- Lĩnh vực
- compilers, testing-qa
Hướng nghiên cứu
Start with the AnyEvent.pm construct around line 1460 and reproduce the archived compilation diagnostic on both PerlOnJava backends. Then run t/01_mutex.t, t/02_rw_mutex.t, and t/03_repeat.t, comparing timer and callback behavior with the system-Perl baseline of 7 files and 103 tests. Done means those tests pass on both backends and the CPAN compatibility classification is refreshed.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
AnyEvent::Tools 0.12 exposes PerlOnJava incompatibilities in the pure-Perl AnyEvent event loop. The archived CPAN run fails while compiling AnyEvent itself, and current focused runs additionally show timer/mutex behavior differences.
Reproduction
CPAN random-tester run: 20260921-124328-13959
Target: AnyEvent::Tools 0.12
The archived PerlOnJava run reports:
Constants from lexical variables potentially modified elsewhere are no longer permitted at AnyEvent.pm line 1460.
This prevents the seven AnyEvent::Tools test programs from reaching their normal assertions. The affected AnyEvent source is pure Perl; no XS or native code is involved.
With the same upstream sources and isolated prerequisites, system Perl passes:
Files=7, Tests=103
Result: PASS
Current focused PerlOnJava runs also reproduce event-loop behavior differences after the compile failure is avoided:
- JVM and interpreter backends fail
t/01_mutex.t:Mutex was locked correct time (4/11). - JVM backend also fails
t/02_rw_mutex.tandt/03_repeat.t. - Other focused JVM tests, including the array/hash iteration and pool tests, pass.
The mutex test uses short AE::timer callbacks and expects the mutex to remain locked for the expected number of timer ticks. System Perl passes this timing assertion, while PerlOnJava reports fewer ticks. The issue may involve AnyEvent timer scheduling, callback ordering, or the handling of lexical subroutine/glob mutation in AnyEvent.pm; the parser/compile diagnostic and the runtime timing failures should be investigated separately.
Related issue
Issue #1118 covers AnyEvent socket EOF and interpreter callback recursion. This report is related but is not a duplicate: it concerns AnyEvent compilation plus mutex/repeat timer scheduling in AnyEvent::Tools.
Acceptance criteria
- Add a permanent standard-Perl-validated regression for the AnyEvent.pm construct around line 1460.
- Make
AnyEvent::Tools0.12 load successfully on both PerlOnJava backends. - Make
t/01_mutex.t,t/02_rw_mutex.t, andt/03_repeat.tpass on both backends. - Preserve the system-Perl baseline of 7 files and 103 tests.
- Refresh the CPAN compatibility classification after the fix.
- Ngôn ngữ chính
- Perl
- Star
- 64
- Fork
- 6
- Merge trung bình
- 5 giờ 38 phút
- Pull request đã merge (30 ngày)
- 170
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 fglock/PerlOnJava
-
area:cpan-port area:unicode bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
fglock/PerlOnJava#1341 ·
-
area:backend area:runtime bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
fglock/PerlOnJava#1511 ·
-
area:backend area:cpan-port bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
fglock/PerlOnJava#1508 · 1 bình luận ·
-
Port IPC::SysV (low priority) Đang mởarea:cpan-port area:platform enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
fglock/PerlOnJava#1507 ·
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
fglock/PerlOnJava#1506 ·
Tất cả issue của fglock/PerlOnJava
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
documentation Needs Triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
trizen/youtube-viewer#456 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
connectivity Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100