Le mois 13 est hors limites?


23

Récemment, mon Mac affiche des messages étranges tels que "Le 13e mois est hors limites".

entrez la description de l'image ici

Comment puis-je corriger cette erreur Je ne peux pas me rendre au centre de réparation agréé Ant Apple car il est très loin d'un centre Apple


De @tgray: "J'ai commencé à obtenir une utilisation élevée du processeur aujourd'hui en raison de UserEventAgent. Il utilise également une énorme quantité de RAM (30+ Go si je le laisse fonctionner suffisamment longtemps). La fermeture forcée et le redémarrage n'ont rien changé. J'ai fait un échantillon de le processus et a vu une tonne de lignes traitant des dates. Quand j'ai changé la date en novembre, mon utilisation du processeur est revenue à la normale. La seconde je l'ai changé pour le présent, ça a recommencé. Je me demande si cela est lié à la date iOS bug dans 11.2.1? J'espère qu'Apple le corrigera bientôt car mon ordinateur est inutilisable. "
JMY1000 du

Réponses:


10

Cette erreur est enregistrée sur iOS 11 et sur macOS 10.13 à coup sûr et je ne vois pas cela causer de fonction ou de problème spécifique sur aucune plate-forme.

Je vais renvoyer à la question principale ici sur "est-ce que macOS se connecte trop" car c'est une opinion et une impression qui méritent d'être discutées. Certaines personnes pourraient se sentir mieux s'il n'y avait pas de messages, à moins qu'une condition vraiment grave ne nécessite une action. D'autres veulent encore plus de détails pour savoir ce qui se passe / apprendre / mesurer. Donc, ce sera un compromis sur la façon dont ces problèmes sont / classés / utilisés.

Un développeur intéressant qui a quelques outils est Howard Oakley qui blogue sur https://eclecticlight.co/

Sa page de téléchargements a deux applications intéressantes (utilisez le lien de téléchargement à gauche car les versions de produits ci-dessous sont en version bêta et peuvent ne pas être à jour dans une journée ou une semaine):

  • Consolation - un navigateur de console alternatif
  • Woodpile - un outil pour compter / regrouper / analyser les modèles de journalisation

10

Je peux vérifier la légitimité de ce problème. J'ai eu le même problème hier, et après un redémarrage, l'ordinateur a été rendu presque inutile à cause de cette erreur. Pour une raison quelconque, l'ordinateur ne peut pas gérer ce mois-ci et génère des erreurs partout où il existe des bases de données ou des listes.

Pour résoudre ce problème:

  1. Ouvrez le Moniteur d' activité et forcer la fermeture de deux processus: lsd,UserEventAgent

  2. Ouvrez les Préférences Système et accédez à "Date et heure"

  3. Décochez "Régler la date et l'heure automatiquement"

  4. Dans le calendrier, sélectionnez une date antérieure à décembre 2017 et appuyez sur Enregistrer

  5. Si UserEventAgentou lsdcontinuez de causer des problèmes, forcez-les à quitter à nouveau après avoir réglé la date.

D'autres personnes ici ont ce problème

Pourquoi?

Il me semble que UserEventAgent tentait d'utiliser deux fichiers plist:

System/Library/LaunchAgents/com.apple.UserEventAgent-Aqua.plist

et

System/Library/LaunchAgents/com.apple.UserEventAgent-LoginWindow.plist

Quand il a essayé d'utiliser les plists, il a eu une erreur:

Month 13 is out of bounds

Je ne suis pas sûr de ce qui s'est réellement passé dans UserEventAgent, mais il est évident que lorsqu'il obtient l'erreur, il ne peut pas y faire face et entraîne une utilisation élevée du processeur et de la RAM.


Ça ne marche pas pour moi j'ai essayé presque trois fois mais rien ne se passe.
Personne n'a

@qwerty Vous obtenez toujours l'erreur malgré le fait que votre date et heure soient fixées avant décembre 2017? Idéalement, définissez la date et l'heure sur le 1er novembre, puis supprimez les processus mentionnés ci-dessus avec le moniteur d'activité.
Ckacmaster

J'ai même essayé ça avant. J'ai également essayé de le changer au 1er janvier, mais cela ne fonctionne toujours pas, je pense que je devrais simplement ignorer cette erreur car je n'ai pas une utilisation élevée du processeur ou de la RAM. J'espère qu'Apple corrigera cela dans la prochaine mise à jour logicielle. Eh bien au moins, c'est mieux que le bug racine: macrumors.com/how-to/temporarily-fix-macos-high-sierra-root-bug
personne

(Je ne peux pas ajouter de commentaire, désolé.) J'ai commencé à obtenir une utilisation élevée du processeur aujourd'hui en raison de UserEventAgent. Il utilise également une énorme quantité de RAM (30+ Go si je le laisse fonctionner assez longtemps). Forcer à quitter et redémarrer n'a rien changé. J'ai fait un échantillon du processus et j'ai vu une tonne de lignes traitant des dates. Lorsque j'ai changé la date en novembre, mon utilisation du processeur est redevenue normale. La seconde où je l'ai changé pour le présent, il est redevenu fou. Je me demande si cela est lié au bug de date iOS dans 11.2.1? J'espère qu'Apple le corrigera bientôt car mon ordinateur est inutilisable.
hmode

1
@qwerty Ne laissez pas votre ordinateur s'éteindre jusqu'à ce qu'Apple corrige cela. J'ai fait l'erreur de redémarrer la première fois que j'ai vu l'erreur dans ma console XCode, et mon utilisation de la RAM et du processeur a empiré .. Après quelques recherches, j'ai pensé que je ferais ce qui précède pour une solution temporaire, comme mon ordinateur était presque inutile. L'erreur est généralement inoffensive, sauf si vous redémarrez ou essayez de charger des fichiers plist.
Ckacmaster

2

J'ai eu le même problème avec l'utilisation extrêmement élevée du processeur et de la mémoire UserEventAgent à partir du début de décembre 2017. La console a montré l'erreur "mois hors limites" comme décrit ci-dessus.

J'ai essayé les «premiers secours» de l'utilitaire de disque, les redémarrages, le mode sans échec (pour effacer le cache du système), l'effacement de la NVRAM et du SMD, rien n'y fait. J'ai remarqué que l'utilisation du processeur et de la mémoire n'avait pas augmenté en mode sans échec.

Comme @tgray et u / kidtexas , à un moment donné, j'ai compris que si je désactivais toutes mes listes de lancement personnalisées, le problème ne se produisait pas.

J'ai finalement écrit le petit script ci-dessous pour m'aider à déboguer le plist à l'origine du problème. Cela a fini par être une liste qui s'exécute le premier de chaque mois:

<key>StartCalendarInterval</key>
<dict>
    <key>Day</key>
    <integer>1</integer>
    <key>Hour</key>
    <integer>03</integer>
    <key>Minute</key>
    <integer>00</integer>
</dict>

Beaucoup de mes plists utilisent la StartCalendarIntervalclé, et en utilisant le script ci-dessous, je pouvais montrer qu'ils ne semblaient pas causer de problèmes de RAM et de mémoire, donc je ne comprends pas très bien pourquoi un plist spécifique cause le problème. Quoi qu'il en soit, c'est comme ça que je l'ai réglé.

Je recommande fortement aux lecteurs de parcourir le script pour essayer de comprendre ce qu'il fait au lieu de simplement copier-coller. Plus précisément, comme écrit cela ne fonctionnera que pour plists en ~/Library/LaunchAgents(pas /Library/LaunchDaemonset d' autres), et il teste volontairement que plists dont le nom et <key>Label</key>suivre le modèle spécifique: com.USERNAME.my_plist_name[.plist]. Avant de l'exécuter, j'ai utilisé une doublure pour bootouttous mes plists:, for plist in com."$(whoami)".*.plist; do launchctl bootout gui/"${MYUID}"/"${plist%.plist}" || true; donepuis vérifié qu'ils n'apparaissaient plus sous les launchctl listrésultats.

#! /bin/bash
# /apple/307512/month-13-is-out-of-bounds

set -euf -o pipefail

MYUID="$(id -u)"

pushd "${HOME}"/Library/LaunchAgents

while IFS= read -r -d '' plist; do
  echo "${plist}"
  stats=($(ps ux | grep -v grep | grep UserEventAgent | awk '{ print $3, $5}'))
  cpu="${stats[0]}"
  vmem="${stats[1]}"
  echo "CPU use and virtual memory size while disabled: ${stats[@]}"
  launchctl bootstrap gui/"${MYUID}" "${plist}"
  sleep 5
  stats=($(ps ux | grep -v grep | grep UserEventAgent | awk '{ print $3, $5}'))
  echo "CPU use and virtual memory size while enabled: ${stats[@]}"
  echo "Change in vmem: $(( "${vmem}" - "${stats[1]}" ))"
  echo
done < <(find . -iname "com.$(whoami).*.plist" -print0)

popd

Remarque pour les personnes exécutant ceci: cela suppose que tous les agents qu'il teste sont déjà désactivés, alors prenez garde à exécuter le bootout(ou similaire) que n8henrie recommande.
Ken Williams

1

Comme d'autres, j'avais une utilisation élevée du CPU et une énorme utilisation de la RAM de UserEventAgent (voir mon commentaire ci-dessus). Changer la date en novembre et forcer la fermeture des choses fixes de UserEventAgent. Tout a commencé samedi après mon redémarrage.

Réparer

J'ai compris cela pour moi. Si tout va bien pour d'autres avec des problèmes, cela fonctionnera pour vous.

Le problème était un plist LaunchAgent que j'ai dans ~ / Library / LaunchAgents. C'est un simple fichier plist qui appelle StartCalendarInterval, qui est une clé valide pour launchd plists. Le travail LaunchAgent appelle un script shell qui copie certains fichiers vers un emplacement de sauvegarde le premier jour du mois. Le travail n'est pas appelé du tout - je pense qu'il est lancé en vérifiant les travaux chargés par rapport au calendrier, ce qui cause le problème. Dès que j'ai déchargé cette liste et déplacé le fichier hors du répertoire, UserEventAgent allait bien (après une fermeture forcée). La seconde où j'ai chargé le plist (launchctl load xxxx), UserEventAgent est devenu fou.

StartCalendarInterval est une clé valide pour launchd comme on le voit ici dans les documents d'Apple .

Donc, pour toute personne ayant des problèmes, vérifiez vos répertoires LaunchAgent et recherchez la clé StartCalendarInterval (ou toute autre clé liée au calendrier). Je n'ai eu aucun problème avec les listes d'intervalle basées sur le temps.

Remarque: cela ne corrige pas les erreurs «Mois 13 hors limites», juste le comportement fou de UserEventAgent.


En fait, je n'ai pas une utilisation élevée du processeur d'agent d'événement utilisateur et je n'ai pas non plus une utilisation élevée de ZCPU et de RAM.
Personne n'a

Cette réponse m'a aidé. Bien que je n'aie pas eu de problèmes avec UserEventAgent, mais lsd est devenu fou. Heureusement, je me souviens que j'ai créé plist avec StartCalendarEvent par moi-même. Juste désactivé et lsd tué de force.
Denis The Menace

0

Après avoir signalé cela à Apple et mis à l'échelle la chaîne d'escalade, on m'a dit que cela devrait être corrigé dans macOS 10.13.3.

Apparemment, cela est dû à une application appelant la procédure NSDate obsolète «descriptionWithCalendarFormat» .

Vous pouvez en savoir plus sur https://forums.developer.apple.com/thread/88417 .

Dans certains cas, la modification ou la suppression de certains fichiers plist empêchera les programmes d'appeler la procédure obsolète, mais le vrai correctif est une mise à jour du système d'exploitation.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.