Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Stacktrace::Configurable loses anonymous caller metadata on both backends

Open
#1,548 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
perl
Domain
compilers

Research direction

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.

Written by the indexing model from the issue text.

Description

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.

Dominant language
Perl
Stars
64
Forks
6
Avg merge
4h 55m
Merged PRs (30d)
169

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from fglock/PerlOnJava

All issues in fglock/PerlOnJava

Similar issues

More Perl issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.