DateTime::subtract fails when nanosecond result crosses midnight
Les mainteneurs répondent en général sous 1 jour
Une pull request liée a déjà été fusionnée.
- #1724 par @fglock — fusionnée
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 25/100
Piste de recherche
The failure is in DateTime 1.67's t/10subtract.t at line 156, where subtracting one nanosecond from midnight passes nanosecond => -1 into DateTime validation. Start by running that focused test on the PerlOnJava JVM and interpreter backends and compare with system Perl. Done means the test passes on both backends. Linked PR #1724 is already open against this issue, so check it before starting.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
DateTime::subtract fails when a subtraction crosses midnight by one nanosecond. It passes nanosecond => -1 into DateTime's validation instead of normalizing the result to the previous second/day.
Reproduction
DateTime 1.67's t/10subtract.t reaches the failing case at line 156, subtracting one nanosecond from midnight. PerlOnJava aborts after the preceding 37 assertions with an invalid nanosecond error.
The focused test passes with system Perl 5.45.4 (perl5/perl) and DateTime's full 1.67 suite passes on that oracle. The focused test fails on both PerlOnJava execution backends: JVM and interpreter.
This was observed during CPAN release acceptance run 20261009-194921-60036.
Impact
The failure is in DateTime's pure-Perl subtraction path. DateTime currently has about 950 unique runtime reverse dependants (558 with recent CPAN releases), including Monitoring-Sneck, Travel-Status-MOTIS, BarefootJS, App-ElasticSearch-Utilities, Test2-Harness-UI, and Dist-Zilla.
Other DateTime failures in this acceptance run involve goto from a sort comparator and are tracked separately in #1634; this issue is only for nanosecond normalization.
- Langage dominant
- Perl
- Étoiles
- 64
- Forks
- 8
- Merge moyen
- 5 h 39 min
- PR mergées (30 j)
- 213
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
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
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
fglock/PerlOnJava#1579 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
fglock/PerlOnJava#1835 ·
Les mainteneurs répondent en général sous 1 jour
-
area:cpan-port bug
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
fglock/PerlOnJava#1820 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 Une demi-journée Accessibilité débutants 45/100
fglock/PerlOnJava#1808 ·
Les mainteneurs répondent en général sous 1 jour
-
area:cpan-port area:runtime bug
Difficulté 4/5 3-5 jours Accessibilité débutants 28/100
fglock/PerlOnJava#1802 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de fglock/PerlOnJava
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
libwww-perl/URI#211 ·
-
Type: Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
inverse-inc/packetfence#9549 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
jimsalterjrs/sanoid#1116 · 1 réaction ·
-
Add .gitattributes so share/skel keeps LF on a Windows git checkoutPeut-être pris @sadhana-s-codez l’a pris il y a 4 jours. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
PerlDancer/Dancer2#1854 · 1 commentaire ·