Skip to content

CPAN::Dependency 0.16 times out after CPANPLUS author-metadata extraction I/O failure #1337

Description

@fglock

Summary

CPAN::Dependency v0.16 times out under PerlOnJava because its bundled
CPANPLUS backend fails while extracting CPAN author metadata. The same
upstream distribution passes completely under system Perl.

Reproduction

CPAN tester run: 20260910-101908-8428

Distribution: CPAN-Dependency-0.16

The archived PerlOnJava run reported:

TIMEOUT (soft limit 120s exceeded; no output for 60s)

The target test starts successfully and reaches t/01api.t, then stops
making progress. A bounded rerun of the complete target suite reaches the
same failure path and finishes with failures in:

  • t/02internals1.t
  • t/02internals5.t

The first failing operation is CPANPLUS metadata extraction, before
CPAN::Dependency can process the requested modules:

Could not open '01mailrc.txt' for writing: Input/output error
Extract failed due to errors
[ERROR] 'LWP::UserAgent' does not contain an author part
[ERROR] Cannot find 'LWP::UserAgent' in the module tree
Can't call method "package_name" on an undefined value

The affected tests call CPAN::Dependency->new with module or skip lists.
The undefined value is returned by CPANPLUS after its author-tree extraction
failed; it is not the primary failure.

System Perl comparison

The archived system-Perl oracle passes the complete upstream suite:

All tests successful.
Files=15, Tests=128
Result: PASS

This establishes that the distribution and its tests are valid in the same
general environment and that the PerlOnJava result is actionable.

Expected behavior

CPANPLUS should be able to extract its CPAN author metadata and resolve module
names without an I/O error. CPAN::Dependency->new, process, and skip
should then complete as they do under system Perl.

Suspected ownership

The likely ownership is PerlOnJava's file/archive extraction or runtime file
I/O integration used by CPANPLUS. The CPAN::Dependency failure at
package_name is a secondary consequence of CPANPLUS returning no module
object after the extraction failure.

Please investigate the 01mailrc.txt write/extraction path and add focused
regression coverage for the underlying PerlOnJava behavior. The CPAN tester
run also demonstrates the no-output timeout symptom, so the fix should ensure
the failure is reported promptly rather than appearing as a hang.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:cpan-portCPAN compatibility ports and providersarea:runtimeCore Perl runtime semanticsbugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions