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

Stacktrace::Configurable loses anonymous caller metadata on both backends

Đang mở
#1,548 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ó
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ệ
perl
Lĩnh vực
compilers

Hướng nghiên cứu

Start by running the five failing upstream tests: t/003-percent_s.t, t/004-percent_f.t, t/100-l4p.t, t/101-l4p_charY.t, and t/102-l4p_recursion.t, on both PerlOnJava backends. Trace the shared caller-stack and frame-metadata path used by Stacktrace::Configurable and the Log::Log4perl stack-trace layouts. Done means a focused regression test preserves the standard-Perl expectations for anonymous names, arguments, package/source formatting, and deparse data on both backends.

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

The CPAN distribution Stacktrace-Configurable-0.06 fails under PerlOnJava because PerlOnJava does not preserve the same caller metadata used by Stacktrace::Configurable and Log::Log4perl::Layout::PatternLayout::Stacktrace.

This was observed in CPAN random tester run 20260928-091741-26386 for Log::Log4perl::Layout::PatternLayout::Stacktrace.

Evidence

  • Standard Perl passes the complete upstream suite: 14 files, 84 tests.
  • PerlOnJava fails 14 subtests in 5 files:
    • t/003-percent_s.t
    • t/004-percent_f.t
    • t/100-l4p.t
    • t/101-l4p_charY.t
    • t/102-l4p_recursion.t
  • The failure reproduces on both the JVM backend and the interpreter backend.
  • The failure is deterministic and does not involve XS/native code, missing services, display requirements, or a timeout.

Observed mismatches

The expected stack frames include anonymous caller information and arguments, for example:

__ANON__ (Log::Log4perl::Logger=HASH(...), "msg")

PerlOnJava instead reports forms such as:

debug 

or, on the interpreter backend:

debug (Log::Log4perl::Logger=HASH(...), "msg")

Additional failures show incorrect package/file-name formatting in %s and %f, and closure deparsing that returns the wrong body (1+1 instead of the expected 2). The recursion-protection assertion itself passes, so the defect is specifically in stack-frame identity/argument/source metadata rather than the whole logging path.

Scope

The affected behavior is used by both Stacktrace::Configurable and Log::Log4perl stack-trace layouts. Please investigate the shared caller-stack/frame metadata path, including anonymous-sub naming, argument capture, package/source-name normalization, and source/deparse information exposed to stack-trace formatters.

The original CPAN failure was recorded as 14 failed subtests in the run identified above. A focused project regression test should preserve the standard-Perl expectations from the five failing upstream tests and pass on both PerlOnJava backends.

Ngôn ngữ chính
Perl
Star
64
Fork
6
Merge trung bình
4 giờ 55 phút
Pull request đã merge (30 ngày)
169

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.