Como ler um panic full do iPhone

Atualizado em 2026-10-14

Para ler um panic full, identifique o modelo no campo product (ex. iPhone16,2) e leia a panicString. Num panic SMC, o número após “sensor array” é um código em decimal: converta para hexadecimal (4194304 = 0x400000) e procure o significado para aquele modelo. “Missing sensor(s)” e “watchdog timeout” citam o sensor ou o serviço diretamente.

Como é a estrutura de um panic full?

Um arquivo panic-full-….ips começa com uma linha de cabeçalho em JSON, seguida de um bloco maior, também em JSON. Os campos que importam para o diagnóstico:

Campo Exemplo Para que serve
bug_type 210 Indica um panic do kernel (o tipo que nos interessa)
product iPhone16,2 Identificador interno do modelo (aqui, iPhone 15 Pro Max)
os_version iPhone OS 17.x Versão do iOS no momento do panic
panicString panic(cpu 0 caller …): … A descrição da pane: é aqui que está a assinatura

O campo product é essencial: o mesmo código muda de sentido conforme o modelo. Anote-o sempre antes de interpretar qualquer coisa. Se o log não trouxer o modelo, o tool pergunta qual é.

O que significa a linha panic(cpu …)?

A panicString quase sempre começa com algo como:

panic(cpu 4 caller 0xfffffff0…): …
  • cpu 4 é o núcleo do processador que registrou a pane. Para o técnico, não indica peça.
  • caller 0x… é um endereço de memória do kernel. Também não serve para apontar peça.

O que interessa vem depois dos dois-pontos: a frase que diz qual subsistema falhou. É ela que define a família do panic (SMC, Missing sensor, watchdog, AOP, NAND, SEP, I2C…). As famílias estão resumidas em Panic full: o que é e o que ele diz sobre o iPhone.

Como ler um panic SMC “sensor array”?

É a família mais comum nos iPhones recentes e a causa clássica de iPhone reiniciando a cada 3 minutos: a causa real. A linha tem esta forma:

SMC PANIC - ASSERT FAILED … BSC failure … sensor array 0 - 4 is 0, 4194304

Como ler:

  1. O número que interessa é o último, depois da vírgula: 4194304.
  2. Ele está em decimal. Converta para hexadecimal: 4194304 = 0x400000.
  3. Procure esse valor para o modelo do campo product.

Alguns logs já mostram o valor em hexadecimal; outros, em decimal. As duas formas são o mesmo código. Conversões frequentes:

Decimal Hexadecimal
524288 0x80000
1048576 0x100000
2097152 0x200000
3145728 0x300000
4194304 0x400000

O que é um código combinado?

O valor do sensor array é uma máscara de bits: cada sensor obrigatório ocupa um bit. Se dois sensores faltam ao mesmo tempo, o código é a soma hexadecimal (OU lógico) dos dois.

Exemplos da base:

  • iPhone 14: 0x300000 = conector de carga (0x100000) + proximidade (0x200000).
  • iPhone 13: 0x1800 = conector de carga (0x800) + sensores frontais (0x1000).
  • iPhone 14 / 14 Plus: 0x700000 = conector de carga + bobina sem fio + proximidade. Uma falha dos três ao mesmo tempo aponta mais para oxidação ou um defeito comum na placa.

Atenção: alguns valores não são bits únicos. No iPhone 14 Pro, 0x41 indica a bateria; no iPhone 15 e 15 Pro, 0xa1; no iPhone 16, 0xa9.

Por que o mesmo código muda de sentido conforme o modelo?

Porque a Apple não mantém o mesmo mapeamento de bits entre gerações. Alguns exemplos da base:

Código Modelo Peça provável
0x100000 iPhone 14 Flex do conector de carga
0x100000 iPhone 14 Pro Flex do botão power
0x100000 iPhone 15 Flex dos sensores frontais (proximidade)
0x100000 iPhone 15 Pro Flex do conector de carga (USB-C)
0x200000 iPhone 15 Pro Flex dos sensores frontais (proximidade)
0x200000 iPhone 16 Bobina de carregamento sem fio

Ou seja: nunca transponha um código de um modelo para outro. A table mostra todos os códigos por modelo, e o hub codes detalha cada família.

Exemplo real: iPhone 15 Pro Max e a bobina sem fio

Um log com product = iPhone16,2 (iPhone 15 Pro Max) traz:

SMC PANIC … sensor array 0 - 4 is 0, 4194304
  • 4194304 = 0x400000.
  • No iPhone 15 Pro / 15 Pro Max, 0x400000 = sensor do flex da bobina de carregamento sem fio (MagSafe, tampa traseira).
  • O comportamento foi reproduzido em laboratório no iPhone 15 Pro desconectando a bobina (DFRWS 2025).

Próximo teste: verificar o flex da bobina sem fio e seu conector (encaixe, dobra, oxidação) e testar com uma tampa/bobina sabidamente boa do mesmo modelo.

Armadilha: o sensor do flex da bobina é pareado/calibrado com a placa. Uma tampa traseira ou bobina não Apple pode reproduzir exatamente o mesmo panic. Use peça Apple (Self Service Repair + System Configuration, ou Assistente de Reparo no iOS 18+).

Como ler “Missing sensor(s)”?

Nos modelos que usam o thermalmonitord, o log pode trazer:

Missing sensor(s): mic2

Aqui o sensor é nomeado diretamente. Os mais comuns na base:

  • mic1: microfone de baixo, no flex do conector de carga.
  • mic2: microfone secundário, no flex do botão power / do flash.
  • PRS0: barômetro (sensor de pressão atmosférica), no flex do conector de carga.
  • TG0B / TG0V: sensores ligados à bateria.

Detalhe importante: não dá para diagnosticar desconectando o flex suspeito, porque sem ele o iPhone reinicia de qualquer jeito. O teste é com uma peça sabidamente boa.

Como ler um panic de watchdog?

Exemplo:

userspace watchdog timeout: no successful checkins from wifid

O serviço citado depois de “checkins from” não respondeu ao watchdog dentro do prazo (≈180 s). Leia só esse nome: a lista “service: …” mais abaixo costuma mostrar outros serviços saudáveis.

  • wifid, logd, SpringBoard: na maioria das vezes software. Atualize ou restaure o iOS antes de qualquer peça.
  • thermalmonitord com “Missing sensor(s)”: volte à seção anterior, é o sensor citado que importa.
  • thermalmonitord sem sensor citado: provável software.

Qual é o melhor método de leitura?

  1. Anote o modelo (product).
  2. Leia a panicString e identifique a família.
  3. Converta o código, se houver, e procure-o para o modelo.
  4. Compare vários logs do mesmo aparelho: a mesma assinatura repetida reforça o diagnóstico.
  5. Confirme com uma peça sabidamente boa antes de encomendar.

O tool faz os passos 1 a 4 automaticamente e mostra a peça provável em 3D. Para exportar os arquivos, veja Como ver o panic full do iPhone (passo a passo).

Perguntas frequentes

Por que o mesmo código aponta peças diferentes?›

Porque cada geração de iPhone atribui os bits do sensor array a sensores diferentes. 0x600000 é bobina + proximidade no iPhone 14, mas o conjunto do conector de carga no iPhone 17 Pro, segundo a fonte disponível.

Como converter o código do sensor array para hexadecimal?›

Use a calculadora do computador no modo programador ou qualquer conversor. 4194304 em decimal = 0x400000; 524288 = 0x80000; 2097152 = 0x200000.

O que é um código combinado?›

O sensor array é uma máscara de bits: se dois sensores faltam, o código é a soma dos dois. No iPhone 14, 0x300000 = conector de carga (0x100000) + proximidade (0x200000).

Existe uma tabela panic full com todos os códigos?›

Sim, a tabela completa do site lista cada código documentado por modelo, família e peça, com fontes, e pode ser baixada em CSV.