Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Storable portable serialization loses MLDBM values and references

Aperta
#1,468 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
perl

Direzione di ricerca

Start by running t/storable.t from MLDBM-2.05 on both PerlOnJava backends and compare the three failures with standard Perl. Then trace the PerlOnJava Storable freeze/thaw entry points used by MLDBM's portable serializer. Done means the upstream suite passes and focused regression coverage verifies scalar, shared, and circular references without changing standard freeze/thaw behavior.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area:backend area:cpan-port bug

Summary

MLDBM-2.05 fails under PerlOnJava because the bundled Storable implementation loses values when MLDBM switches to portable serialization.

Reproduction

The upstream test t/storable.t uses:

use MLDBM qw(SDBM_File Storable);
...
$obj->DumpMeth('portable');
...
my $d = [17];
$o{g} = $d;
$d = '';
is($o{g}->[0], 17);

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.
Lingua principale
Perl
Stelle
64
Fork
6
Merge medio
4h 29m
PR unite (30g)
185

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di fglock/PerlOnJava

Tutte le issue di fglock/PerlOnJava

Issue simili

Altre issue su Perl

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.