Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Storable portable serialization loses MLDBM values and references

Ouverte
#1,468 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
55/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
perl

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.
Langage dominant
Perl
Étoiles
64
Forks
6
Merge moyen
4 h 53 min
PR mergées (30 j)
165

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de fglock/PerlOnJava

Toutes les issues de fglock/PerlOnJava

Issues similaires

Plus d'issues Perl

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.