Comment lire un panic full d'iPhone
Mis à jour le 2026-10-14
Commencez par l'en-tête : bug_type 210 signale une panique du noyau, product donne le modèle (iPhone16,2 = iPhone 15 Pro Max) et os_version le build d'iOS. Lisez ensuite le panicString : son premier message nomme la famille (SMC sensor array, capteur manquant, watchdog…) et le code ou le capteur qui désigne la pièce. Interprétez toujours le code pour ce modèle précis.
À quoi ressemble un panic full ?
Un fichier panic-full est du texte brut. Il commence par un en-tête JSON d'une ligne, suivi d'un corps JSON plus volumineux. L'essentiel est du bruit technique pour un réparateur ; quatre champs comptent.
En version raccourcie, un fichier typique ressemble à ceci :
{"bug_type":"210","os_version":"iPhone OS 17.x (…)","incident_id":"…"}
{
"product" : "iPhone16,2",
"crashReporterKey" : "…",
"panicString" : "panic(cpu 0 caller 0x…): SMC PANIC - ASSERTION FAILED … SMC BSC failure …
sensor array 0 - 4 is 0, 4194304, 0, 0, 0 …"
}
Quels sont les champs clés ?
| Champ | Ce qu'il indique | Exemple |
|---|---|---|
bug_type |
Le type de rapport. 210 = panique du noyau, celui qu'il vous faut | "210" |
product |
L'identifiant du modèle, pas le nom commercial | iPhone16,2 = iPhone 15 Pro Max |
os_version |
Version et build d'iOS au moment de la panique | iPhone OS 16.5.1 (20F75) |
panicString |
Le message de panique lui-même : famille, code, capteur ou processus | SMC PANIC … sensor array … |
Le champ product compte plus qu'il n'y paraît. Les identifiants de modèle ne suivent pas les noms commerciaux : iPhone16,1 et iPhone16,2 sont les iPhone 15 Pro et 15 Pro Max, iPhone15,2 est l'iPhone 14 Pro. Comme les codes changent de sens d'un modèle à l'autre, un mauvais modèle donne une mauvaise pièce.
incident et crashReporterKey sont des identifiants techniques. Ils ne servent pas à lire la panique elle-même.
Comment lire le panicString ?
Le panic string commence toujours par une ligne de cette forme :
panic(cpu 0 caller 0xfffffff0…): <message>
Ignorez le numéro de CPU et l'adresse : ils changent d'une panique à l'autre. C'est le message après les deux-points qu'il faut lire. Ses premiers mots donnent la famille :
SMC PANIC … SMC BSC failure … sensor array→ un capteur obligatoire a cessé de répondre ;userspace watchdog timeout: no successful checkins from …→ un processus ne s'est pas signalé ;AOP PANIC …→ Always-On Processor ;ANS2 …,nvme …→ stockage (NAND) ;SEP …→ Secure Enclave ;i2c… for device …→ un composant sur un bus i2c.
La suite du message donne le détail : un code, un nom de capteur, un nom de processus ou un composant.
Comment lire un code « sensor array » ?
C'est la signature de boucle de redémarrage la plus courante sur les iPhone récents :
SMC PANIC - ASSERTION FAILED … SMC BSC failure …
sensor array 0 - 4 is 0, 4194304, 0, 0, 0
Le contrôleur de gestion du système liste plusieurs valeurs. Celle qui n'est pas nulle est le code. Selon la version d'iOS, il est affiché en décimal ou en hexadécimal :
4194304(décimal) =0x400000(hexadécimal) ;524288=0x80000;2097152=0x200000.
Chaque bit de la valeur représente un capteur obligatoire. Quand un seul capteur manque, vous obtenez un seul bit (0x100000, 0x200000, 0x400000…).
Que sont les codes combinés ?
Quand plusieurs capteurs manquent en même temps, leurs bits s'additionnent. Le code est alors la somme (un OU logique) de plusieurs valeurs :
- sur un iPhone 14,
0x300000=0x100000(connecteur de charge) +0x200000(proximité) ; - sur un iPhone 14,
0x700000= connecteur de charge + proximité + bobine de recharge sans fil.
Un code combiné signifie deux ou trois pièces à vérifier, ou une cause commune en amont, comme de l'oxydation ou un défaut de carte mère.
Pourquoi le même code change-t-il de sens selon le modèle ?
Parce que la disposition des bits diffère à chaque génération. Quelques exemples tirés de la base :
| Code | iPhone 14 | iPhone 15 | iPhone 15 Pro |
|---|---|---|---|
0x100000 |
Nappe du connecteur de charge | Capteurs avant (proximité) | Nappe du connecteur de charge |
0x200000 |
Capteurs avant (proximité) | Bobine de recharge sans fil | Capteurs avant (proximité) |
0x400000 |
Bobine de recharge sans fil | — | Bobine de recharge sans fil |
Certains codes ne sont même pas des bits : sur l'iPhone 14 Pro, 0x41 désigne la batterie ; sur les iPhone 15 et 15 Pro, c'est 0xa1. C'est pourquoi lire un code sans le modèle revient à deviner. Le tableau panic full liste chaque code documenté, modèle par modèle.
Comment lire « Missing sensor(s) » ?
Sur d'autres générations, le même problème apparaît sous forme de panique watchdog qui nomme le capteur :
userspace watchdog timeout: no successful checkins from thermalmonitord
… Missing sensor(s): mic2
thermalmonitord a attendu des mesures d'un capteur qui ne sont jamais arrivées. Le nom du capteur est l'indice :
mic1,prs0(baromètre) : en général la nappe du connecteur de charge ;mic2: la nappe power (micro secondaire, côté flash) ;TG0B,TG0V,TB0V: capteurs liés à la batterie.
Si thermalmonitord dépasse le délai mais qu'aucun capteur manquant n'est listé, le wiki iFixit considère qu'il s'agit en général d'un problème logiciel.
Comment lire un watchdog timeout ?
userspace watchdog timeout: no successful checkins from wifid
Un processus système (ici wifid, le démon Wi-Fi) ne s'est pas signalé au watchdog dans un délai d'environ 180 secondes, donc iOS a redémarré. Lisez le processus nommé après « checkins from » : la liste « service: … » qui suit montre souvent d'autres services qui, eux, fonctionnent.
Beaucoup de ces timeouts sont logiciels, notamment logd et SpringBoard sur les premières versions d'iOS 16. Pour wifid, la cause logicielle est la mieux documentée, avec un possible défaut du module Wi-Fi si le problème persiste après une restauration propre. Restaurez avant de commander une pièce.
Comment lire une erreur i2c ?
Une panique i2c nomme un bus et, souvent, un composant : par exemple un message qui se termine par for device suivi d'un nom comme audio-speaker-top ou display-pmu. Le numéro de bus et le nom du composant, lus avec le schéma du modèle, désignent la nappe ou le composant. L'affectation de chaque bus varie selon le modèle : consultez le schéma avant de remplacer quoi que ce soit.
Un exemple concret : iPhone 15 Pro Max
Un client apporte un iPhone 15 Pro Max qui redémarre environ toutes les trois minutes. Le log affiche :
bug_type210 : panique du noyau ;productiPhone16,2: iPhone 15 Pro Max ;panicString:SMC PANIC … SMC BSC failure … sensor array 0 - 4 is 0, 4194304, ….
Lecture : famille SMC, capteur muet. 4194304 = 0x400000. Sur les iPhone 15 Pro et 15 Pro Max, 0x400000 désigne la bobine de recharge sans fil (MagSafe, vitre arrière). L'étude DFRWS 2025 a reproduit exactement cette panique sur un iPhone 15 Pro en débranchant la bobine.
Test suivant : contrôlez la nappe de la bobine et son connecteur (enfichage, pli, oxydation), puis essayez une vitre arrière / bobine connue bonne du même modèle. Piège : le capteur de la bobine est appairé à la carte mère, donc une vitre arrière ou une bobine non Apple peut reproduire la même panique.
Et ensuite ?
- Un doute sur un code ? Déposez le fichier dans l'analyseur : il lit l'en-tête, extrait la signature et la compare pour le modèle exact.
- Vous voulez la liste complète ? Consultez le répertoire des codes.
- Vous diagnostiquez une boucle ? Lisez iPhone qui redémarre toutes les 3 minutes : causes.
Quelle que soit la lecture, elle donne une pièce probable. Confirmez avec une pièce connue bonne avant de commander.