Les numéros des causes d'arrêt et de mise en veille d'OS X sont-ils répertoriés / expliqués quelque part?

25

Les chiffres qui m'intéressent le plus

  • -2
  • 0
  • 3
  • 5

… Je pourrais ajouter à cette liste.

Que signifient ces chiffres; où pourrions-nous trouver des explications faisant autorité?

Quelque part dans l'open source d'Apple, peut-être?

Contexte

Il y a une réponse suggérée pour -60 , une question sur -81 , une réponse suggérée discutable pour -108 , une discussion sur -128 , -72 , -62 , -30 , -2 , 0 , 3 … et ainsi de suite, mais à moins que je manque quelque chose:

  • rien de tel qu'une liste d'explications fournies par Apple sur les chiffres les plus courants.

Exemples

Trois messages récemment envoyés par le noyau sur un MacBookPro5,2:

2014-03-31 09:04:49.000 kernel[0]: Previous Shutdown Cause: 5
2014-03-31 11:01:24.000 kernel[0]: Previous Sleep Cause: 5
2014-03-31 14:47:00.000 kernel[0]: |Previous Shutdown Cause: -60

Peut-être pertinent pour certains numéros de cause

Codes d'erreur dans http://www.opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/MacErrors.h

  • qui est en open source Apple pour Mac OS X 10.6.2 mais pas en open source pour Mac OS X 10.6.3
  • le code source de 10.6.2 est presque identique à ce qui est installé sous MacOSX10.8.sdk
  • il peut être judicieux de traiter certains de ces codes d'erreur comme obsolètes .
Graham Perrin
la source
Une suggestion serait formidable. apple.stackexchange.com/questions/371435/…
user75758

Réponses:

13

La signification précise des codes n'est pas publiquement documentée, bien que selon le site Web de @ grgarside pour les causes d'arrêt , les causes de celles énumérées dans la question soient:

Pour une liste complète et à jour, voir Causes d'arrêt .

Voir aussi: Liste des codes d'erreur Mac OS X .


Ici sur Ask Different, il y a eu un certain nombre de questions sur les causes d'arrêt:


Si vous avez très souvent des nombres négatifs, Apple est plus désireux de réparer votre Mac, car cela indique généralement un problème avec votre matériel.


Suggestions générales en cas de nouveaux problèmes:

kenorb
la source
9

Ainsi, les articles kbase sur les codes d'erreur système remontent à l'époque des processeurs PowerPC, qui avaient apparemment besoin de beaucoup plus de bits pour signaler toutes les erreurs matérielles potentielles susceptibles de provoquer un arrêt. À partir de l'avènement des cartes Intel, tous les arrêts sont marqués avec un code 8 bits, si les drapeaux d'arrêt logiciel normaux ne sont pas enregistrés. Un code positif indique un arrêt initié par logiciel ou HID, tandis qu'un code négatif (compris entre -1 et -127) indique un arrêt initié par Intel SMC lié au matériel. Un code d'arrêt -128 indique un arrêt lié au matériel de cause inconnue.

Le code d'arrêt 0 réside dans un espace liminal entre le matériel et l'utilisateur; cela signifie une perte soudaine d'alimentation qui peut être causée par une panne matérielle ou une action de l'utilisateur (si vous voulez le démontrer par vous-même, essayez de faire sortir la batterie d'un vieux MacBook ou MacBook Pro lorsqu'il est allumé et débranché, ou en tirant sur le débranchez le cordon d'alimentation d'un iMac pendant son fonctionnement, puis redémarrez l'ordinateur et vérifiez Console.app. Une cause de mise en veille 0 se produit lorsqu'un MacBook / Pro / Air se met en mode SafeSleep en utilisant le dernier peu d'énergie de la batterie de réserve avant l'arrêt complet du système afin pour conserver le contenu de la RAM dans le

/var/vm/sleepimage

fichier. À moins que vous n'arriviez à connecter votre adaptateur MagSafe immédiatement après la mise en veille de l'ordinateur, ce code est pratiquement garanti d'être suivi d'une cause d'arrêt 0 dans le fichier system.log.

Certains codes d’arrêt matériel sont spécifiques à des modèles d’ordinateurs spécifiques en fonction de leur configuration, car ils se réfèrent à un capteur ou un périphérique spécifique qui n’existe que dans ce modèle. Lorsque je travaillais pour Apple, on nous a dit qu’Intel était responsable de n'était pas particulièrement libre avec le partage d'informations à ce sujet, même avec Apple Engineering. Nous avons donc dû à peu près trouver les obscurs par nous-mêmes.

Les causes d'arrêt précédent 5 et 3 sont des traces des jours PowerPC - car elles sont initiées par l'utilisateur, le système d'exploitation est toujours responsable de les signaler.

Le code 5 est un arrêt logiciel propre, initié par l'utilisateur, par exemple en sélectionnant Arrêter dans le menu , ou en appuyant sur le bouton d'alimentation et en sélectionnant Arrêter dans la fenêtre contextuelle, ou en maintenant enfoncé controloptioncommandejectou en tapant

sudo halt

à l'invite de commande. De même, une précédente cause de sommeil de 5 indique tout sommeil propre déclenché par l'utilisateur, depuis le menu  ou un coin chaud ou la ligne de commande ou en fermant le couvercle et en déclenchant le capteur à effet hall dans le boîtier supérieur d'un MacBook / Pro / Air .

Le code 3 est un arrêt «sale», qui peut être provoqué par tout redémarrage de l'ordinateur initié par l'utilisateur, ou en forçant un arrêt matériel de l'ordinateur en maintenant le bouton d'alimentation enfoncé pendant plus de 5 secondes.

jmfactotum
la source
Merci! Donc 3 résulterait d'un redémarrage forcé (bouton Commande – Contrôle – Alimentation), oui?
Graham Perrin
Il existe également un code "1" pour redémarrer à l'aide du menu.
Adrian Maire
8

Document interne d'Apple sur les codes d'arrêt

Ce sont les codes que nous utilisions lorsque j'y travaillais

Maximus
la source
3

J'ai déposé un rapport de bogue auprès d'Apple concernant les nombres cryptiques, et j'ai finalement obtenu cette réponse:

L'ingénierie a déterminé que ce problème se comporte comme prévu sur la base des informations suivantes:

Si vous cherchez plus d'informations sur le sommeil / réveil, "pmset -g log" est l'endroit où aller, pas le system.log tout se comporte correctement.

Si vous avez des questions concernant cette résolution, veuillez mettre à jour votre rapport de bogue avec ces informations.

Nous fermons maintenant ce rapport de bogue.

Veuillez vérifier régulièrement les nouvelles versions d'Apple pour les mises à jour susceptibles d'affecter ce problème.

En résumé: ils recommandent d'utiliser la commande pmset -g logpour diagnostiquer les problèmes de sommeil plutôt que de consulter le journal système.

Kristopher Johnson
la source
2

Je pourrais vous aider avec le code 0, ce qui signifie qu'il n'y a eu aucun problème et qu'il a réussi.

J'ai trouvé une ancienne liste , datant de 1998 avant OS X. Elle pourrait vous aider dans la bonne direction même si ce n'est pas tout à fait la réponse exacte que vous recherchez.

Si un code d'erreur est obsolète, il ne sera pas remplacé par une nouvelle cause, car cela rendrait beaucoup plus difficile le suivi de ces numéros utilisés dans OS X et antérieurs.

Rob
la source
1
Merci. L'édition la plus récente de cette ancienne liste est probablement Macintosh: Explication des codes d'erreur système , archivée par Apple.
Graham Perrin
@GrahamPerrin, vous pourriez faire votre commentaire pour une réponse!
Ruskes
1
Je doute que les informations McOS <= 9 soient pertinentes pour quoi que ce soit ici - le noyau, etc. fonctionnait comme NeXT à partir de 1989 et je pense qu'il utiliserait ces valeurs plutôt que de passer à l'OS <= 9
user151019
Ce ne sont pas liés - ce sont des codes d'erreur classiques du système d'exploitation (maintenant Carbon). Ils sont utilisés pour les codes d'erreur de l'API au niveau de l'application; même dans le système d'exploitation classique, ils n'étaient pas utilisés pour identifier les pannes du système.
Jens Alfke
Je suis presque sûr que la cause de
Adrian Maire
0

J'espère que cela aidera quelqu'un.

MBP 2008

  • 3 Comportement normal ... le bouton d'alimentation a été enfoncé pendant plus de quatre secondes pour forcer l'arrêt.
  • -5 Comportement normal ... arrêt régulier
  • -60 Essayez de charger la batterie.
  • -70 Remplacer le boîtier supérieur.
  • -72 remplacer le capteur du dissipateur thermique / réappliquer la pâte thermique / remplacer le dissipateur thermique (c'était mon problème)
  • -74 permuter la batterie pour la batterie KGB - remplacer la batterie
  • -78 Circuit du chargeur sur la carte logique ... essayez de remplacer la carte d'E / S gauche KGB ... remplacez si nécessaire / remplacez la carte logique
  • -82 Testez les connecteurs JST du capteur thermique pour un mauvais positionnement ou des dommages. Remplacez les capteurs thermiques. Voir la section Démontage du capteur thermique
Dmitry
la source