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

Dist::Zilla Config::MVP objects spuriously resurrect during global destruction

Geschlossen
#1,515 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
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
28/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Aktiv
Tech-Stack
perl
Bereich
compilers

Rechercherichtung

Start by running prove -v t/commands/listdeps.t under standard Perl and PerlOnJava, comparing the captured output and the global-destruction diagnostics. Investigate the PerlOnJava ownership and destruction path for the Dist::Zilla object graph, especially Config::MVP::Sequence and Dist::Zilla::MVP::Assembler::Zilla. Done means the focused test and affected command-output assertions no longer receive diagnostics that standard Perl does not produce.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

area:cpan-port area:memory area:runtime bug

Summary

PerlOnJava spuriously reaches global-destruction resurrection for Dist::Zilla's Moose/Config::MVP object graph. It emits diagnostics such as:

DESTROY created new reference to dead object 'Config::MVP::Sequence' during global destruction.
DESTROY created new reference to dead object 'Dist::Zilla::MVP::Assembler::Zilla' during global destruction.

Those diagnostics are Perl-compatible when a destructor really revives an object, but the unmodified Dist::Zilla suite does not produce them under standard Perl. Under PerlOnJava they contaminate subprocess output and break command-output assertions.

Oracle and impact

CPAN random run 20260924-115230-59978 tested pure-Perl Dist::Zilla 6.039. Its complete unmodified suite passes with isolated standard Perl 5.42.2: 57 files, 504 tests, Result: PASS.

The PerlOnJava JVM acceptance run fails 38 of 531 subtests across 5 files. In t/commands/listdeps.t, the extra global-destruction diagnostics appear in the captured dependency-list output. A focused interpreter run emits the same diagnostics while executing the first listdeps subtest; the test is bounded but slow under the interpreter.

Focused reproducer

With Dist::Zilla's ordinary test prerequisites:

prove -v t/commands/listdeps.t

Expected on standard Perl: dependency-list output only. Actual on PerlOnJava: the output additionally contains the Config::MVP::Sequence and Dist::Zilla::MVP::Assembler::Zilla global-destruction resurrection diagnostics.

This is intentionally distinct from issue #1473: that issue covers false CORE::try / CORE::catch ambiguity warnings. This issue covers the runtime reaching an unexpected resurrection state for the Dist::Zilla object graph.

Expected behavior

PerlOnJava must preserve the relevant ownership and destruction ordering so these objects do not reach a resurrection warning during the normal Dist::Zilla command lifecycle. The diagnostics must not be injected into command output when standard Perl produces none.

Duplicate search

No existing issue matched Config::MVP::Sequence or Dist::Zilla::MVP::Assembler::Zilla. The only broad global-destruction search result, issue #1144, concerns pseudofork runtime cloning rather than object-lifecycle resurrection.

Vorherrschende Sprache
Perl
Sterne
64
Forks
7
Ø Merge
5 Std. 39 Min.
Gemergte PRs (30 T.)
213

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.