Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#1,515 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
28/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
perl
Ambito
compilers

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Perl
Stelle
64
Fork
6
Merge medio
4h 53m
PR unite (30g)
165

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di fglock/PerlOnJava

Tutte le issue di fglock/PerlOnJava

Issue simili

Altre issue su Perl

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.