Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Track DBIx::Class acceptance for reachability PR #1647

Đã đóng
#1,696 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
java, perl, sqlite
Lĩnh vực
compilers, databases

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

  1. 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 $#array access valid when the array is reached through a live Perl reference, even if earlier scope cleanup orphaned old size proxies.
  2. Keep permanent regression coverage
    • Validate the core returned-query range behavior with the unit suite and both backends.
    • Validate grouped counts and nested FROM bind values with upstream DBIx::Class, unchanged.
  3. 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.
  4. Complete DBIx::Class acceptance
    • Re-run the full nice -n 19 ./jcpan --jobs 5 -t DBIx::Class suite 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.
  5. 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 make and make check-links pass 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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của fglock/PerlOnJava

Tất cả issue của fglock/PerlOnJava

Issue tương tự

Thêm issue về Perl

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.