Bug : un treizième mois hors limites pour macOS High Sierra

Mickaël Bazoge |

Apple se prépare décidément un mois de décembre un peu difficile sur le plan logiciel. En plus du retour de la revanche de la faille root et de l'incroyable bug de redémarrage d'iOS 11, Rob Griffiths qui travaille pour Macworld a repéré un étonnant bug dans macOS High Sierra… un treizième mois.

Sur un de nos Mac avec la dernière bêta en date de HS ce curieux comportement est toujours là

En ouvrant la Console de son Mac, Rob est tombé sur un message d'erreur, « Month 13 is out of bounds », ce qui signifie quelque chose comme « le mois 13 est hors limites ». Bien sûr, en termes informatiques il n'existe rien comme un treizième mois, reconnaissons au moins que macOS sait qu'un tel mois ne peut pas exister…

Ce message a commencé à apparaitre le 1er décembre dans Xcode 9, comme l'atteste cette discussion sur le forum des dévs Apple. Vous pouvez également vérifier dans l'utilitaire Console si le message est présent. Il apparait à bon rythme, Rob en dénombre de 2 à 20 par seconde (!), sans que cela n'affecte le bon fonctionnement du Mac pour le moment du moins. À noter que ce bug n'affecte visiblement que High Sierra (dans notre cas il est toujours présent dans la dernière bêta du 10.13.2).

Il semble que ce message soit lié au processus mdworker (Spotlight) et que pour s'en débarrasser, au moins de manière provisoire, on peut passer la date de macOS à un autre mois que décembre. En attendant un futur patch d'Apple.

avatar C1rc3@0rc | 

Pas la peine d'engager un tel saboteur, ils en ont en interne... dont un a la tete de la conception

avatar sinbad21 | 

Apple file un très mauvais coton. Cela rappelle l'époque de Gil Amelio. Même iOS est truffé de gros bugs, la 11.2 a dû sortir en catastrophe à cause d'un bug qui faisait planter les devices à partir du 2 décembre à midi 30, wtf ?? Cette fois Steve Jobs ne pourra pas revenir pour sauver le radeau de la Méduse.

avatar PomBreizh | 

Un treizième mois n’a rien d’inhabituel, et c’est plutôt agréable quand ça tombe.
S’il y avait eu des consultants Orange ou Air France ou [insérer ici l’entreprise de votre choix] il y aurait même un quinzième ou un dix-septième mois.

avatar occam | 

@PomBreizh

"Un treizième mois n’a rien d’inhabituel, et c’est plutôt agréable quand ça tombe."

?Sauf que là, le treizième mois, c'est celui où Apple se paie la tête du client...

avatar Pobla Picossa | 

Il faudrait sortir une app « le calendrier de l’Avent des bugs d’Apple ». Chaque jour, une surprise ?

avatar swiftrabbit | 

J’imagine qu’ils réécrivent une partie de leur or en Swift, est ce que cela pourrait expliquer ça?

avatar C1rc3@0rc | 

Peut etre, mais je penche plutot pour une fonction qui renvoi les numero de mois a partir de 0 et une autre qui formate en partant de 1... et y en a un qui a confondu les 2... ça aurait pu donner 10 pour decembre.

avatar françois bayrou | 

confondre une fonction qui renvoie une instance de date avec une autre qui formate ( donc renvoie une string ) faut le faire …

avatar headoverheel | 

Apple a créé une variante du bug de l’an 2000.

avatar en ballade | 

La honte, et certains ici qui comparent avec Windows....

avatar DarthThauron | 

Ahahah. Dire que APFS est responsable de plein de bugs collatéraux est simpliste. Le noyau Linux intègre de plus en plus de file systems sans que cela fasse exploser les bugs... Ou alors le contrôle qualité d'Apple déconne depuis un moment et des bugs non visibles se sont révélés plus facilement par l'entremise d'APFS... Il eut été intéressant de tester une gestion de l'APFS via FUSE sur des versions anciennes de Mac OS X (pas macos)... je parie que l'on n'aurait pas eu ce fleurissement.
Apple compte sur ses utilisateurs lors de ses publications de versions bêta. Mais comme peu d'entre eux testent SÉRIEUSEMENT leur bêta, elle est fourvoyée. Tester une bêta consiste à pousser un système dans ses retranchements avec tous les logiciels que l'on a... tester un maximum de fonctionnalités mêle jugées inutiles, cobayer des disques durs, du matériel. Je doute que peu de gens le fasse. Je n'ai jamais cru aux versions bêta publiques telles qu'opérées depuis plusieurs années, sauf à Mac OS X public bêta, qui fut menée intelligemment (le travail de fond avait été fait, ce bêta test avait pour but d'éprouver les choix ergonomiques en rupture complète avec Mac OS 9).
La faute incombe à Apple plus qu'aux apprentis bêta testeurs qui ne sont pas vraiment formés ni sensibilisés à leur rôle.

On paie le prix d'une version par an, des campagnes de versions bêta, qui sont plutôt des annonces communicantes qu'autre chose et d'une paupérisation des moyens donnés au mac, dans l'optique d'en faire un ibidule ultrafermé que l'on renouvelle par injonction software ou hardware...
Point de vue d'un bêta testeur confidentiel de Mac OS 8 9 X.0, X.1 et X.2
Quand je suis passé sur Linux, j'ai testé plusieurs distribution en virtual box puis en dur, et j'ai choisi celle qui offrait le meilleur compromis fonctionnalités et support matériel ainsi que robustesse, tout en offrant une interface cohérente et agréable, comme si je faisais un bêta test... mais pour moi cette fois. Et je peux dire que celle que j'ai choisie me satisfait autant sinon mieux qu'un Mac OS X 10.6. Quand je lis les réactions, je suis content de ne pas avoir dépassé Mac OS X 10.6 server et 10.9, car pour moi toutes les suivantes ont échoué à mes tests personnels. Je ne suis par surpris de la tournure de Bérézina qu'a prise macOS. Je l'ai juste pressentie.

avatar sekaijin | 

C'est étonnant car les librairies qui gère les dates sont depuis des années devenue très souples.
lorsqu'on définie une date hors limite elles ajuste seules les dates.
si vous faites une somme sur le jour avec un entier qui dépasse 31 la date change de mois.
date(12+25/12/2017) => date(06/01/2018) et cela sans avoir à appeler explicitement les méthodes de calcul de dates. date(25/12/2017)->addDays(12).

Cela offre de nombreux avantage. il suffit de positionner une date pour que les constructeurs l'ajuste si besoin.

J'utilise cela très souvent. par exemple date(00/03/2018) le "Zéro mars" est toujours le dernier jours de février. soit donc le 28 ou le 29 si l'année est bissextile.

Je suis surpris car il y a très longtemps sur NextStep c'était une librairie supportant ce genre de fonctionnalité qui était au coeur du système de date.
Apple aurait depuis ressorti un système plus rigide ?

A+JYT

avatar Issou la chancla | 

Le vrai problème là dedans vient de l'ouverture des betas au grand public

Quand avant c'était réservé aux devs, t'avais genre 200 signalements d'un bug sur 1500 beta testeurs, donc à prendre au sérieux.
Maintenant, t'en a peut être 200 qui reportent sur 300.000 beta testeurs vu que c'est ouvert au public, Apple s'en bats les couilles vu le ratio dérisoire que c'est.

avatar marc_os | 

Bon vous écrivez qu'il n'y a AUCUN problème pour l'utilisateur, ALORS POURQUOI CRIEZ VOUS AU _BOGUE_ SUR TOUS LES TOITS ????
Les messages dans la console sont des messages aux développeurs pour signaler des problèmes POTENTIELS. C'est pas pour les neuneus.
Mais ça plait visiblement aux charognards ignares à voir les commentaires. :-(

avatar fte | 

@marc_os

Je suis navré que ton dimanche soit aussi mauvais.

Ton humeur est sacrément merdique dis-moi. Tu veux en parler, ça te ferai du bien ?

avatar marc_os | 

@fte :
C'est pour dire quoi cette attaque personnelle ?
Rien, bien sûr. :-/

avatar fte | 

@marc_os

Ce n'était pas une attaque. Tu as l'air très tendu et ce n'est pas bon tant de stress.

Tu en étais tout de même au point de penser que la foule se réjouirait d'assister à des exécutions à la Guillotine. Les nerfs qui lâchent. Ou alors un bon gros délire, car je doutes que quiconque ici en ait vu et se réjouirait d'en voir. À moins d'être sérieusement en manque d'une case où deux.

avatar marc_os | 

@Avenger, et pas que :
Encore une fois, CE N'EST PAS UN BOGUE. Car il n'y a aucun problème avéré. Et des messages dans la console, ce ne sont pas des bogues !!!!
Si vous étiez développeur, vous le sauriez. Il ne s'agit probablement ni plus ni moins qu'un "debug log" qui a été oublié dans le build de release.
Tempête dans un verre d'eau, article putaclic.

avatar Issou la chancla | 

Dans quel monde est-ce qu'on peut pondre des ligne de code faisant référence à 13 mois dans l'année?
C'est de l'incompétence pure et dure.

avatar marc_os | 

@Issou la chancla :
C'est étonnant cette propension des gens à profiter de l'anonymat des forums pour raconter n'importe quoi et donner des leçons dans des domaines qu'ils ne connaissent ou ne maîtrisent pas.
Les forums ne devraient pas être anonymes, ça calmerait peut-être certaines ardeurs.

avatar Issou la chancla | 

Je te sens à deux doigts du suicide à force de lire des commentaires déplaisants envers ta chérie Apple
Tu veux en parler?

avatar kubernan | 

@marc_os : Comment peux-tu le savoir ? Alors oui cela peut-être un log de contrôle qui a été oublié. Tout comme cela peut être une réelle erreur dans une des API de calcul de date (ça ne serait pas la première fois qu'Apple a des soucis avec les dates) ou d'un mauvais usage d'une de ces API.

avatar marc_os | 

@kubernan :
Je n'ai pas dit que je le savais mais que c'est une explication possible. Faudrait se concentrer un peu quand on lit.
Quoiqu'il en soit on ne peut pas dire dans une phrase qu'il n'y a aucun problème concret pour l'utilisateur et dans la suivant crier au scandale et parler de bogue.
Et ces logs prouvent au contraire que le logiciel qui les émet vérifie la validité du mois. C'est peut-être ennuyeux tous ces logs, mais ce n'est pas un bogue en soi, pas plus que ces milliers de logs générés par Google Update qui vient avec Chrome et qui visiblement ne gênent personne !

avatar kubernan | 

@marc_os : Tu cries haut et fort "Ce n'est pas un bogue". Je te demande alors "comment peux-tu le savoir ?". Je n'ai pas de problème de concentration, merci.

De plus, tu ne peux pas déduire avec un seul message que le système a bien réagit. Si ce message n'est pas une simple log oubliée (je ne rejette pas cette hypothèse), alors il y a une erreur quelque part dans un flot d'instructions.

Petit exemple :

1- à partir d'une date (en décembre) j'utilise la fonction X pour avoir le mois suivant. Cette fonction X me renvoie 13 (et non pas 01). Si j'ai bien programmé l'appel à cette fonction, j'ai pas de raison de douter que 13 est une erreur (mais c'est un bug). Si j'ai mal programmé l'appel à cette fonction et que je prends ce 13 pour argent comptant, c'est aussi un bug.

2- Ensuite, j'appelle la fonction Y pour créer une nouvelle date à partir du mois 13... et là... paf ! La fonction Y émet une alerte en disant que le mois 13 est en dehors de clous.

Alors certes, la fonction Y a bien réagit, mais pas la fonction X. Du coup tu te retrouves sans date. C'est con.

C'est juste un exemple, cela peut-être cela, peut-être plus subtil que cela ou peut-être carrément autre chose. Si c'est un bug il peut être tout à fait anodin.. ou pas (et on n'a pas forcément de conséquence immédiate).
Mais de là à conclure de façon péremptoire que ce n'est pas un bug... Me semble qu'on peut pas trop savoir encore.

avatar marc_os | 

@kubernan :
Ce n'est pas un bogue tant que ça n'a pas été prouvé. Càd tant qu'aucun dysfonctionnement n'a été constaté ! (Un message dans un log n'est pas un dysfonctionnement).

avatar jazz678 | 

@marc_os

« Ce n'est pas un bogue tant que ça n'a pas été prouvé. Càd tant qu'aucun dysfonctionnement n'a été constaté ! (Un message dans un log n'est pas un dysfonctionnement). »

Je vous suis à 100%

avatar renan35 | 

je ne vois pas en quoi c'est un bug qui gène les utilisateurs. Cela a peut-être une fonction.
Au pire, c'est juste un petit bug, même si ça doit consommer un peu de batterie inutilement.
Il y a sûrement plein de "bugs" comme ça sur windows mais ça ne dérange personne.

avatar marc_os | 

Cette foule qu'on voit ici vouloir la mort d'Apple et pousser ces cris d'orfraie, je ne doute pas qu'elle aurait applaudi au moyen âge quand on brûlait les sorcières ou plus tard devant les exécutions capitales policées à la guillotine.

avatar Issou la chancla | 

Ça fait 2 mois qu'ils font de la merde, tu vas le nier fanboy?

avatar jeantro | 

Je penses que de vouloir sortir un OS tout les ans est une grosse connerie ça va trop vite il n’arrive pas à finaliser un correctement qu’un autre système arrive déjà

avatar Issou la chancla | 

Oui, et ils se retrouvent à devoir faire la maintenance et le suivi de 5 ou 6 OS simultanément vu qu'ils en sortent 3 avant qu'un seul devienne officiellement obsolète.

avatar szurke1 | 

Bugs, bogues, etc. Et il faudrait passer à High Sierra sur le champ ? Zut!

avatar _lol_ | 

best "one more thing" ever

avatar raf30 | 

"it's not a bug, it's a feature"

avatar Issou la chancla | 

You're using it the wrong way !

avatar mac fleuri | 

Mais sinon, pour revenir au treizième mois

C'est quoi l'intérêt ?

avatar mimot13 | 

Plus le temps passe, plus cet OS semble se dégrader dans le temps (10.13 betas).
Je ne conseillerai surtout pas d'installer cet OS pour le moment, beta ou pas.

avatar Lightman | 

Je viens d'avoir le bug sur un projet tout neuf. High Sierra, Xcode 9 -> dans la console en bas à droite.

Pages

CONNEXION UTILISATEUR