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

Storable portable serialization loses MLDBM values and references

Đang mở
#1,468 1 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 2 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
55/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 by running t/storable.t from MLDBM-2.05 on both PerlOnJava backends and compare the three failures with standard Perl. Then trace the PerlOnJava Storable freeze/thaw entry points used by MLDBM's portable serializer. Done means the upstream suite passes and focused regression coverage verifies scalar, shared, and circular references without changing standard freeze/thaw behavior.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

area:backend area:cpan-port bug

Summary

MLDBM-2.05 fails under PerlOnJava because the bundled Storable implementation loses values when MLDBM switches to portable serialization.

Reproduction

The upstream test t/storable.t uses:

use MLDBM qw(SDBM_File Storable);
...
$obj->DumpMeth('portable');
...
my $d = [17];
$o{g} = $d;
$d = '';
is($o{g}->[0], 17);

PerlOnJava returns undef instead of 17 for the final assertion. The same test also fails the circular/reference comparison assertions at lines 28 and 54.

Evidence

  • Distribution: MLDBM-2.05
  • CPAN random tester run: 20260921-102914-97159
  • Failing test: t/storable.t
  • Standard Perl: PASS, 5 test programs and 19 tests
  • PerlOnJava JVM backend: FAIL, 3 of 9 tests in t/storable.t
  • PerlOnJava interpreter backend: FAIL, identically, 3 of 9 tests
  • The target distribution is pure Perl; this is not an XS/native dependency failure.

Expected behavior

PerlOnJava's Storable::freeze/thaw implementation should preserve circular references, shared references, and scalar values when used as MLDBM's portable serializer.

Acceptance criteria

  • MLDBM-2.05 passes the complete upstream suite on both PerlOnJava backends.
  • t/storable.t passes the circular/shared-reference comparisons and the final scalar retrieval assertion.
  • Add focused project-owned regression coverage for portable Storable serialization through MLDBM, including a value whose source reference is subsequently changed.
  • Preserve standard Perl behavior for Storable::freeze/thaw and nfreeze/thaw.
Ngôn ngữ chính
Perl
Star
64
Fork
6
Merge trung bình
5 giờ 33 phút
Pull request đã merge (30 ngày)
170

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.