Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

FileHandle cannot resolve IO::Seekable::getpos while loading DBG

Offen
#1,873 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@fglock arbeitet bereits daran.

Seit 24.10.2026.

  • #1879 von @fglock — offen

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
55/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
java, perl
Bereich
backend, compilers

Rechercherichtung

Start with the bundled FileHandle.pm, especially the IO::Seekable::getpos lookup near line 72, and trace where the IO::Seekable package is initialized. Reproduce with t/00-compile.t and t/basic.t, then add the focused FileHandle/DBG loading regression test requested in the issue. Verify the test with system Perl first and on both PerlOnJava backends, with Devel::Size available.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

area:io area:runtime bug

Summary

DBG 0.4.1 fails to load under PerlOnJava because bundled FileHandle.pm cannot find IO::Seekable::getpos. This causes both t/00-compile.t and t/basic.t to fail before DBG's tests can run.

Reproduction

Install/run GSG/DBG-v0.4.1.tar.gz through the CPAN tester, including its normal test prerequisites. The failure was recorded in CPAN random tester run 20261022-185222-43282.

The relevant failure is:

# Failed test 'DBG.pm loaded ok'
IO::Seekable::getpos missing at jar:PERL5LIB/FileHandle.pm line 72.
Compilation failed in require

The same diagnostic occurs when t/basic.t loads DBG.pm. The archived PerlOnJava run reports 2 of 6 test programs failed and 1 of 2 executed assertions failed. The three release-only tests are skipped.

Expected: IO::Seekable::getpos is available while FileHandle.pm initializes, and DBG loads.

Actual: loading aborts because the IO::Seekable package has no registered getpos method at that point.

Environment and comparison

  • Distribution: DBG 0.4.1 (GSG/DBG-v0.4.1.tar.gz)
  • PerlOnJava: JVM backend via the CPAN tester; the archived log does not record its source commit. Interpreter backend: not tested.
  • Java: OpenJDK 24.0.2, aarch64
  • System Perl: 5.42.2
  • System Perl t/basic.t: passes after building the exact Devel::Size 0.87 prerequisite locally.
  • Full system-Perl suite: not confirmed. t/00-compile.t could not open DBG's temporary log file in the sandbox (Operation not permitted), so that result is an environment/setup failure rather than evidence of a DBG failure.

The XS prerequisite Devel::Size was missing its native object in the PerlOnJava CPAN build, but the reported failure occurs independently at IO::Seekable::getpos during module loading. The failure points to PerlOnJava's bundled IO module initialization/method availability.

Related issues checked

  • #1782 covers UNIVERSAL::isa ignoring the IO parent for IO references; it is closed and describes a different behavior.
  • #1216 covers Template::Like filehandle input and scalar output; it is unrelated.

Acceptance criteria

  • FileHandle.pm can resolve IO::Seekable::getpos when loading on both PerlOnJava backends.
  • Add a focused project-owned regression test for loading FileHandle/DBG and verify it with system Perl first.
  • The DBG 0.4.1 upstream test suite passes on both PerlOnJava backends when its prerequisites are available.
Vorherrschende Sprache
Perl
Sterne
64
Forks
8
Ø Merge
5 Std. 47 Min.
Gemergte PRs (30 T.)
197

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus fglock/PerlOnJava

Alle Issues in fglock/PerlOnJava

Ähnliche Issues

Weitere Issues zu Perl

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.