Track DBIx::Class acceptance for reachability PR #1647
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ó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 12/100
Hướng nghiên cứu
This is an umbrella tracker, not a single change. Start by reproducing the Storage object-collection failure in t/100extra_source.t from the DBIx::Class test suite, comparing system Perl with PerlOnJava. Trace which runtime-held references keep the blessed Storage object alive (refcount 131). Done means that test's two assertions pass and the fix has its own project regression test. Link the work to #1649.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Purpose
Track DBIx::Class CPAN acceptance for the lifecycle work around PR #1647 and ownership semantics in #1649. Run DBIx::Class unchanged so failures expose PerlOnJava behavior directly.
Relationship to #1649 and PR #1647
The initial failures included premature cleanup of returned DBIx::Class references, which is part of the ownership and lifetime behavior described by #1649. The nested-query bind failure also exposed stale $#array proxies after a packed query passed through returned references. The runtime fix is in PerlOnJava; DBIx::Class does not need a compatibility patch.
PR #1647 remains the current independent reachability/lifecycle PR. Use the DBIx::Class acceptance results to identify remaining lifecycle regressions and link focused core fixes to #1649.
Plan
- Fix PerlOnJava ownership and array-size proxy behavior
- Preserve arrays strongly referenced by a subroutine return until the caller receives that value.
- Keep a fresh
$#arrayaccess valid when the array is reached through a live Perl reference, even if earlier scope cleanup orphaned old size proxies.
- Keep permanent regression coverage
- Validate the core returned-query range behavior with the unit suite and both backends.
- Validate grouped counts and nested
FROMbind values with upstream DBIx::Class, unchanged.
- Fix the remaining object-lifecycle regressions
- Reproduce the Storage object retention from
t/100extra_source.t; system Perl passes while PerlOnJava fails both object-collection assertions. - Trace which PerlOnJava-owned references keep that blessed Storage object reachable and correct their release/weak-reference handling in the runtime.
- Add focused project-owned coverage for the reproduced ownership defect.
- Reproduce the Storage object retention from
- Complete DBIx::Class acceptance
- Re-run the full
nice -n 19 ./jcpan --jobs 5 -t DBIx::Classsuite with a timeout and captured output after the runtime fix. - Triage every remaining failing test program against system Perl; separately diagnose the late SQLite test-lock collision seen in the parallel run.
- Re-run the full
- Update the handoff
- Report DBIx lifecycle acceptance separately from unrelated failures in PR #1647.
- Keep #1649 open until its broader ownership criteria are met.
Current evidence
- The focused grouped-count regression passes all eight assertions on system Perl, JVM, and interpreter with upstream DBIx::Class 0.082844 and no DBIx patch.
- The core returned-query range regression passes on system Perl, JVM, and interpreter.
nice -n 19 makeandmake check-linkspass with the current core changes.- The latest full run completed 325 test files / 43,363 tests: 183 test programs and 362 subtests failed. The earlier run had 184 failing programs / 447 failing subtests. These are PerlOnJava defects to fix, not acceptable compatibility failures.
- In a focused comparison, system Perl passes
t/100extra_source.t(11 assertions); PerlOnJava fails its two DBIx::Class Storage object-collection assertions. The object remains reported at refcount 131. - The parallel full run also ended with a SQLite test-lock collision in
xt/whitespace.t; establish whether that is runner coordination or an interpreter lock bug.
Completion criteria
- The focused regressions pass on system Perl, JVM, and interpreter.
- The Storage ownership defect is fixed in PerlOnJava with permanent regression coverage.
- The full DBIx::Class run completes and every remaining failure is categorized and addressed; lifecycle fixes are linked to #1649.
- PR #1647's DBIx lifecycle acceptance is recorded without treating any PerlOnJava defect as expected.
- Ngôn ngữ chính
- Perl
- Star
- 64
- Fork
- 7
- Merge trung bình
- 5 giờ 7 phút
- Pull request đã merge (30 ngày)
- 201
Chuẩn bị môi trường
- Có Dockerfile hoặc 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 fglock/PerlOnJava
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
fglock/PerlOnJava#1651 ·
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 72/100
fglock/PerlOnJava#1579 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
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 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:parser bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 49/100
fglock/PerlOnJava#1763 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 Nửa ngày Mức phù hợp với người mới 68/100
fglock/PerlOnJava#1735 ·
Maintainer thường phản hồi trong vòng 1 ngày
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 69/100
bioconda/bioconda-recipes#70187 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
documentation Needs Triage
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 93/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Proposed Text EditsĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
curl/everything-curl#658 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
PDLPorters/pdl#561 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
objectionary/eolang.sty#197 ·
Maintainer thường phản hồi trong vòng 1 ngày