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.
Summary
CPAN::Dependencyv0.16 times out under PerlOnJava because its bundledCPANPLUS backend fails while extracting CPAN author metadata. The same
upstream distribution passes completely under system Perl.
Reproduction
CPAN tester run:
20260910-101908-8428Distribution:
CPAN-Dependency-0.16The archived PerlOnJava run reported:
The target test starts successfully and reaches
t/01api.t, then stopsmaking progress. A bounded rerun of the complete target suite reaches the
same failure path and finishes with failures in:
t/02internals1.tt/02internals5.tThe first failing operation is CPANPLUS metadata extraction, before
CPAN::Dependency can process the requested modules:
The affected tests call
CPAN::Dependency->newwith 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:
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, andskipshould 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_nameis a secondary consequence of CPANPLUS returning no moduleobject after the extraction failure.
Please investigate the
01mailrc.txtwrite/extraction path and add focusedregression 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.