Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Dist::Zilla release archive disappears before release plugins consume it

Open
#1,514 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
58/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
perl
Domain
backend

Research direction

Start by running prove -v t/plugins/testrelease.t t/plugins/uploadtocpan.t t/tester.t under PerlOnJava and compare the archive lifecycle with standard Perl. Trace the release entry point and the consumers named in those tests, especially the tester's source archive path. Done means the archive remains available through TestRelease and UploadToCPAN, and all three focused tests pass.

Written by the indexing model from the issue text.

Description

area:cpan-port area:io area:runtime bug

Summary

PerlOnJava loses a Dist::Zilla release archive before release plugins can consume it. The same missing archive causes three otherwise independent upstream tests to fail:

  • t/plugins/testrelease.t cannot extract DZT-Sample-0.001.tar.gz during TestRelease.
  • t/plugins/uploadtocpan.t never reports Uploading ... DZT-Sample, because its fake uploader sees that the archive path is not a file.
  • t/tester.t dies before producing a TAP plan when Archive::Tar->new is given the absent archive.

The error from TestRelease is Could not open ... DZT-Sample-0.001.tar.gz for reading: No such file or directory.

Oracle and impact

CPAN random run 20260924-115230-59978 tested Dist::Zilla 6.039. The unmodified upstream suite passes under isolated standard Perl 5.42.2: 57 files and 504 tests, Result: PASS.

Under the PerlOnJava JVM backend, the acceptance run fails 38 of 531 subtests across 5 files. This archive-lifecycle cluster accounts for the failures in the three files above. Dist::Zilla is pure Perl, so native/XS support is not involved.

Focused reproducer

With Dist::Zilla's normal test prerequisites installed, run the upstream focused tests without modification:

prove -v t/plugins/testrelease.t t/plugins/uploadtocpan.t t/tester.t

Standard Perl passes all three. PerlOnJava fails them after release because the archive expected at the tester's source path is gone.

The essence of the upstream t/tester.t reproducer is:

use Test::DZil;
use Archive::Tar;

my $tzil = Builder->from_config(
  { dist_root => 'corpus/dist/DZT' },
  { add_files => {
      'source/zero' => '',
      'source/dist.ini' => simple_ini({ name => 'DZT' }, 'GatherDir', 'MakeMaker', 'FakeRelease'),
  } },
);

$tzil->release;
my $archive = $tzil->built_in->parent->child('source')->child($tzil->archive_filename);
die "archive missing: $archive\n" unless -f $archive;
Archive::Tar->new("$archive");

Expected behavior

The archive produced by release must remain present until the TestRelease and UploadToCPAN consumers have processed it, matching standard Perl and Dist::Zilla's upstream lifecycle.

Duplicate search

No existing issue matched Dist::Zilla archive handling, DZT-Sample, TestRelease, or UploadToCPAN at filing time. Issue #1508 concerns the already-fixed TrialVersionComment plugin and is unrelated.

Dominant language
Perl
Stars
64
Forks
6
Avg merge
5h
Merged PRs (30d)
161

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from fglock/PerlOnJava

All issues in fglock/PerlOnJava

Similar issues

More Perl issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.