Dist::Zilla Config::MVP objects spuriously resurrect during global destruction
维护者通常 2 天内回复
还没有人认领这个 Issue。
评估
调研方向
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.
由索引模型根据 Issue 内容生成。
描述
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.
- 主要语言
- Perl
- 星标
- 64
- 派生
- 6
- 平均合并
- 4 小时 42 分钟
- 30 天内合并 PR
- 170
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
fglock/PerlOnJava 的其他 Issue
-
area:cpan-port area:unicode bug
难度 2/5 1-3 小时 新手友好度 88/100
fglock/PerlOnJava#1341 ·
维护者通常 2 天内回复
-
area:backend area:cpan-port area:parser area:runtime bug
难度 3/5 1-2 天 新手友好度 78/100
fglock/PerlOnJava#1528 ·
维护者通常 2 天内回复
-
难度 3/5 1-2 天 新手友好度 74/100
fglock/PerlOnJava#1524 ·
维护者通常 2 天内回复
-
area:backend area:runtime bug
难度 4/5 3-5 天 新手友好度 65/100
fglock/PerlOnJava#1523 ·
维护者通常 2 天内回复
-
area:backend area:cpan-port bug
难度 3/5 1-2 天 新手友好度 76/100
fglock/PerlOnJava#1522 ·
维护者通常 2 天内回复
查看 fglock/PerlOnJava 的全部 Issue
相似的 Issue
-
question
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 75/100
-
Bug Priority
难度 2/5 1-3 小时 新手友好度 68/100
canonical/chisel-releases#1235 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 88/100
linuxmuster/sophomorix4#190 ·
-
难度 2/5 1-3 小时 新手友好度 75/100