Storable portable serialization loses MLDBM values and references
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
- Domaine
- compilers, testing-qa
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
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.05passes the complete upstream suite on both PerlOnJava backends.t/storable.tpasses 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/thawandnfreeze/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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de fglock/PerlOnJava
-
area:cpan-port area:unicode bug
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
fglock/PerlOnJava#1341 ·
Les mainteneurs répondent en général sous 2 jours
-
area:backend area:cpan-port area:parser area:runtime bug
Difficulté 3/5 1-2 jours Accessibilité débutants 78/100
fglock/PerlOnJava#1528 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 3/5 1-2 jours Accessibilité débutants 74/100
fglock/PerlOnJava#1524 ·
Les mainteneurs répondent en général sous 2 jours
-
area:backend area:runtime bug
Difficulté 4/5 3-5 jours Accessibilité débutants 65/100
fglock/PerlOnJava#1523 ·
Les mainteneurs répondent en général sous 2 jours
-
area:backend area:cpan-port bug
Difficulté 3/5 1-2 jours Accessibilité débutants 76/100
fglock/PerlOnJava#1522 ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de fglock/PerlOnJava
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 86/100
openfoodfacts/openfoodfacts-server#14724 ·
Les mainteneurs répondent en général sous 1 jour
-
Strange loop in AgentTicketBulkOuvertequestion
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
-
Bug Priority
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
canonical/chisel-releases#1235 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
linuxmuster/sophomorix4#190 ·