[CPAN] SNMP::Extension::PassPersist fails with missing Sys::Syslog openlog

Offen
#2,022 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

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

Rechercherichtung

Start by tracing how PerlOnJava implements the bundled Sys::Syslog import and exports openlog, then compare that behavior with system Perl. Reproduce the failure with the CPAN dependency overlay on both backends and inspect the project’s existing tests for a suitable place for the regression test. Done means the three upstream failing test files pass on both backends and the project-owned test covers the missing import behavior.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

area:runtime bug

Summary

SNMP::Extension::PassPersist 0.07 fails three upstream test files under PerlOnJava because openlog imported by use Sys::Syslog is undefined when run() executes. The failure reproduces on both the JVM and interpreter backends. The same upstream tests pass under system Perl.

The evidence points to an import/export problem in PerlOnJava's bundled Sys::Syslog path. Please trace why SNMP::Extension::PassPersist::openlog is not installed by use Sys::Syslog; the direct failure is an undefined subroutine, rather than an error in the test's SNMP output handling.

Reproduction and results

CPAN random tester run 20261109-091152-39587, distribution SNMP-Extension-PassPersist-0.07:

  • PerlOnJava: 61/67 assertions passed; 6 failed across t/10-synopsis-pass.t, t/10-synopsis-passpersist.t, and t/12-run.t.
  • JVM and interpreter: the focused t/10-synopsis-pass.t test reproduces the same failure using the distribution's recorded dependency overlay.
  • System Perl: the archived oracle passed the full suite (68 tests). A focused rerun of all three failing test files also passed (16 tests).
  • Failure text: Undefined subroutine &SNMP::Extension::PassPersist::openlog called at the openlog(...) call in SNMP::Extension::PassPersist::run.
  • t/50-walk.t was skipped because IPC::Run was unavailable; that skip is unrelated to the failing assertions.

The PerlOnJava reproduction was run at checkout 4aca25e9fc5ebe26fb0081173a0cc9e3339c9c60 on macOS 26.7.1 with Temurin OpenJDK 24.0.2. The archived system-Perl oracle used Perl 5.42.2. The target distribution contains no XS/C source; XS notices in the CPAN log concern dependencies and are not the failing code path.

Acceptance

  • The upstream distribution suite passes under both PerlOnJava backends with the same CPAN dependency overlay.
  • The system Perl result remains passing.
  • Add a project-owned regression test for the missing Sys::Syslog import behavior.
Vorherrschende Sprache
Perl
Sterne
67
Forks
8
Ø Merge
6 Std. 14 Min.
Gemergte PRs (30 T.)
143

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.