YAML::Syck bundled shim does not export Dump, breaking App::BitBucketCli
Summary
The CPAN distribution App-BitBucketCli 0.009 regressed in the 2026-09-08 CPAN random tester run because the bundled PerlOnJava implementation of YAML::Syck does not provide the public import and Dump API expected by CPAN clients.
This is a PerlOnJava compatibility bug, not an upstream or environment failure.
Evidence
- Distribution: App-BitBucketCli 0.009
- CPAN run: 20260908-125510-82561
- Regression row: App::BitBucketCli, 47/48 passing
- Previous passing date: 2026-08-27
- Previous passing commit recorded by the tester: 4ebea75
- System Perl: complete upstream suite passes, 8 test programs and 48 subtests
- PerlOnJava JVM backend: reproduces the failure
- PerlOnJava interpreter backend: reproduces the failure
The failing test is t/00-load.t. Tests 1 through 14 pass, but Test::Warnings fails the final done_testing assertion because module loading emits:
Attempt to call undefined import method with arguments ("Dump") via package "YAML::Syck"
Root cause
App::BitBucketCli::Core contains:
The bundled implementation at src/main/perl/lib/YAML/Syck.pm currently defines low-level routines such as LoadYAML, DumpYAML, LoadJSON, and DumpJSON, but it does not define:
- a public Dump function
- a public import method that exports Dump
- the corresponding normal YAML::Syck compatibility surface
As a result, PerlOnJava loads App::BitBucketCli::Core but emits an unexpected warning during the requested import. Test::Warnings correctly turns that warning into the test failure.
The failure is reproducible independently of App::BitBucketCli with:
use YAML::Syck;
YAML::Syck->import("Dump");
Under PerlOnJava, the import call reports the same undefined-import warning. The system Perl YAML::Syck implementation accepts this API.
Expected behavior
YAML::Syck should support the standard exported API used by CPAN distributions, including:
use YAML::Syck qw/Dump/;
my $yaml = Dump({ key => "value" });
The compatibility implementation may delegate serialization to the existing YAML::PP-backed implementation, provided the public behavior and exports match the expected YAML::Syck API.
Suggested acceptance criteria
- App-BitBucketCli 0.009 t/00-load.t passes under both the JVM and interpreter backends.
- YAML::Syck import and Dump behavior has focused project-owned regression coverage.
- Existing YAML::Syck and YAML-related tests remain passing.
- No unexpected warning is emitted for a valid YAML::Syck import.
Classification
Confirmed internal PerlOnJava bug. No native dependency, external service, display, timeout, or system-Perl setup issue is involved.
YAML::Syck bundled shim does not export Dump, breaking App::BitBucketCli
Summary
The CPAN distribution App-BitBucketCli 0.009 regressed in the 2026-09-08 CPAN random tester run because the bundled PerlOnJava implementation of YAML::Syck does not provide the public import and Dump API expected by CPAN clients.
This is a PerlOnJava compatibility bug, not an upstream or environment failure.
Evidence
The failing test is t/00-load.t. Tests 1 through 14 pass, but Test::Warnings fails the final done_testing assertion because module loading emits:
Root cause
App::BitBucketCli::Core contains:
The bundled implementation at src/main/perl/lib/YAML/Syck.pm currently defines low-level routines such as LoadYAML, DumpYAML, LoadJSON, and DumpJSON, but it does not define:
As a result, PerlOnJava loads App::BitBucketCli::Core but emits an unexpected warning during the requested import. Test::Warnings correctly turns that warning into the test failure.
The failure is reproducible independently of App::BitBucketCli with:
Under PerlOnJava, the import call reports the same undefined-import warning. The system Perl YAML::Syck implementation accepts this API.
Expected behavior
YAML::Syck should support the standard exported API used by CPAN distributions, including:
The compatibility implementation may delegate serialization to the existing YAML::PP-backed implementation, provided the public behavior and exports match the expected YAML::Syck API.
Suggested acceptance criteria
Classification
Confirmed internal PerlOnJava bug. No native dependency, external service, display, timeout, or system-Perl setup issue is involved.