You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Storable portable serialization loses MLDBM values and references #1468
PerlOnJava returns undef instead of 17 for the final assertion. The same test also fails the circular/reference comparison assertions at lines 28 and 54.
Evidence
Distribution: MLDBM-2.05
CPAN random tester run: 20260921-102914-97159
Failing test: t/storable.t
Standard Perl: PASS, 5 test programs and 19 tests
PerlOnJava JVM backend: FAIL, 3 of 9 tests in t/storable.t
PerlOnJava interpreter backend: FAIL, identically, 3 of 9 tests
The target distribution is pure Perl; this is not an XS/native dependency failure.
Expected behavior
PerlOnJava's Storable::freeze/thaw implementation should preserve circular references, shared references, and scalar values when used as MLDBM's portable serializer.
Acceptance criteria
MLDBM-2.05 passes the complete upstream suite on both PerlOnJava backends.
t/storable.t passes the circular/shared-reference comparisons and the final scalar retrieval assertion.
Add focused project-owned regression coverage for portable Storable serialization through MLDBM, including a value whose source reference is subsequently changed.
Preserve standard Perl behavior for Storable::freeze/thaw and nfreeze/thaw.
CPAN random-tester run 20260921-124328-13959 adds Cache 2.11 as another Storable compatibility case.
Standard Perl baseline
With the exact upstream sources and isolated pure-Perl prerequisites, system Perl passes the complete Cache suite:
Files=14, Tests=592
Result: PASS
PerlOnJava results
The pure-Perl Cache::Memory path reproduces on both PerlOnJava backends in t/memory.t. The test reaches complex-value storage and then fails during Storable::thaw with:
Storable binary image v33.97 more recent than I am (v2.12)
The archived run also reported a Cache::Memory::Entry missing-field failure while loading the same distribution. This is independent of the file-cache prerequisite and provides another downstream verification case for the Storable serialization issue tracked here.
Cache::File additionally requires XS DB_File, which PerlOnJava cannot load. A reverse-dependency lookup for DB_File was attempted twice, including a cache refresh, but MetaCPAN returned HTTP 599 both times; its dependant count is therefore blocked rather than zero.
Please include Cache 2.11 / t/memory.t in the post-fix verification for portable Storable serialization on both backends.
Follow-up after PR #1849: the MLDBM-oriented scalar-reference envelope fix is merged, with focused shared/circular graph coverage passing. This issue remains open pending the explicitly requested Cache 2.11 post-fix verification (including t/memory.t on both backends). Please keep this report open until that additional Storable compatibility case is checked.
Resolved by merged PR #1872. MLDBM 2.05 passes all 5 upstream files and 19 tests on JVM and interpreter. As requested in the follow-up, Cache 2.11 t/memory.t also passes all 81 tests on system Perl and both backends. Closing as completed.
Activity
fglock commentedon Sep 21, 2026
Cache 2.11 follow-up verification
CPAN random-tester run
20260921-124328-13959adds Cache 2.11 as another Storable compatibility case.Standard Perl baseline
With the exact upstream sources and isolated pure-Perl prerequisites, system Perl passes the complete Cache suite:
PerlOnJava results
The pure-Perl
Cache::Memorypath reproduces on both PerlOnJava backends int/memory.t. The test reaches complex-value storage and then fails duringStorable::thawwith:The archived run also reported a
Cache::Memory::Entrymissing-field failure while loading the same distribution. This is independent of the file-cache prerequisite and provides another downstream verification case for the Storable serialization issue tracked here.Cache::Fileadditionally requires XSDB_File, which PerlOnJava cannot load. A reverse-dependency lookup forDB_Filewas attempted twice, including a cache refresh, but MetaCPAN returned HTTP 599 both times; its dependant count is therefore blocked rather than zero.Please include Cache 2.11 /
t/memory.tin the post-fix verification for portable Storable serialization on both backends.fglock commentedon Oct 19, 2026
Follow-up after PR #1849: the MLDBM-oriented scalar-reference envelope fix is merged, with focused shared/circular graph coverage passing. This issue remains open pending the explicitly requested Cache 2.11 post-fix verification (including t/memory.t on both backends). Please keep this report open until that additional Storable compatibility case is checked.
fglock commentedon Oct 23, 2026
Resolved by merged PR #1872. MLDBM 2.05 passes all 5 upstream files and 19 tests on JVM and interpreter. As requested in the follow-up, Cache 2.11 t/memory.t also passes all 81 tests on system Perl and both backends. Closing as completed.