How to Read iPhone Panic-Full Logs: Fields, Keys and What They Mean
More actions
🔒 This article is maintained by PhoneRepair.biz's automated research assistant and checked against public sources. Last reviewed: 2026-07-01. Spotted a mistake? Report an error on the talk page — or just edit the article. Suggestions from readers are reviewed before going live.
An iOS panic-full log is the diagnostic report the kernel writes when it hits an unrecoverable fault and forces a reboot. For repair and data-recovery techs, these logs are the single most useful free diagnostic on the device: they name the process, subsystem, or hardware block that stopped responding, and they often point straight at a specific flex cable, sensor, or power rail. This reference explains where the logs live, how to pull them, the exact fields a tech reads, and how to interpret the hardware-hint tokens in a panic string — while being explicit about which mappings are firmly established and which are community-reported and model-dependent.
Overview
A kernel panic on iOS is analogous to a Windows stop error or a macOS panic: the OS detects a condition it cannot safely continue from and reboots. On modern iPhones the overwhelming majority of repeating panics are hardware-related — a failing component, a damaged flex, a bad solder joint, or a post-repair part mismatch — rather than software bugs. A single isolated panic is usually noise; a panic that repeats on a regular cadence (classically about every three minutes) is a strong signal of a hardware or sensor fault.
Each panic writes a file named panic-full-YYYY-MM-DD-HHMMSS.ips. The .ips format (Apple "Individual Problem/Ingest" report) is structured as:
- A JSON header line — machine-readable metadata (report type, timestamp, OS build, device model).
- A JSON payload — the substantive body, including the all-important
panicStringand register/backtrace data.
Key limitation up front: panic logs localize a problem, they do not prove root cause. A token that community lore ties to "the barometer" may equally be a broken trace, a bad connection, water damage upstream, or a genuinely dead sensor. Always confirm with a boardview/schematic, measurement, and the device's repair history before committing to a part.
Where the logs live and how to pull them
On-device
- Settings → Privacy & Security → Analytics & Improvements → Analytics Data
Scroll (entries are alphabetical) to items beginning panic-full-…. Tapping an entry shows the raw text; you can Share/AirDrop it. Adjacent entries worth noting:
panic-full-…— full kernel panic report (what you want).panic-base-…— a smaller companion report for the same event.stacks-…,ExcResource…— resource/watchdog exceptions from userspace daemons; useful supporting evidence.
Note: Share iPhone Analytics must have been enabled (Settings → Privacy & Security → Analytics & Improvements) for panics to be retained on-device. If it is off, historical logs may be absent.
Off-device pull
| Method | Platform | Notes |
|---|---|---|
| Finder / Apple Devices app | macOS / Windows | Not a direct log export; retrieve via sysdiagnose or a device-analytics tool. Trust the computer first. |
| sysdiagnose | Any | Trigger on-device (button chord: hold both volume buttons + side/power briefly until a short vibration), wait a few minutes, then find it under Analytics Data as sysdiagnose_…tar.gz. Panic logs are inside system_logs.logarchive / crashes directories. Best for a complete diagnostic bundle.
|
| iMazing | macOS / Windows | GUI "Device → Diagnostics / Analytics Data"; exports .ips files cleanly. Popular in repair shops.
|
libimobiledevice (idevicecrashreport) |
Cross-platform, open source | Copies crash/panic reports off a trusted, unlocked device over USB. Scriptable. |
| 3uTools / iDeviceLogAnalyzer / similar | Windows/macOS | Community tools that pull and auto-highlight the panic string and known tokens. Convenient, but verify their token mappings against primary evidence. |
Important access constraints:
- The device must be unlocked and "Trust This Computer" granted to pull logs over USB — this is an AFU-type access (After First Unlock: the user has unlocked at least once since boot). On a BFU device (Before First Unlock, e.g. freshly powered on and never unlocked) you generally cannot pull analytics data.
- Analytics data is user data. Pulling it from a device you do not own requires the owner's consent/authorization. This is a diagnostic workflow, not a bypass of any lock or activation protection.
The core fields a tech reads
Read these first, roughly in this order.
| Field | What it is | Why it matters |
|---|---|---|
panicString |
The kernel's own description of why it panicked — the first line usually begins panic(cpu N caller 0x…): followed by human-readable text and often a hardware-hint token. |
The single most important field. Read it in full before anything else. |
bug_type (header) |
Report classifier; kernel panics commonly carry "210". |
Confirms you are looking at a kernel panic, not an app crash or jetsam. |
product / model (e.g. "product" : "iPhone14,2") |
Internal model identifier. | Token→component mappings are model-specific. You cannot interpret tokens without knowing the exact model. Cross-reference the identifier to the marketing name. |
kernel version (Darwin Kernel Version … xnu-…) |
Kernel/XNU build. | Tells you the iOS generation; correlates with which subsystems/daemons exist. |
| os_version / build (header) | iOS release + build. | Distinguishes a known-bad OS build from hardware. Check whether an OS update or downgrade changes behavior. |
| uptime / "time since boot" | Seconds the device ran before panicking. | See the 3-minute clue below — the killer diagnostic pattern. |
process / daemon name (in the string, e.g. thermalmonitord, watchdogd) |
Which userspace service failed to check in. | Points at the subsystem whose sensor/hardware went silent. |
| register dump / backtrace | CPU state and call stack at panic. | Advanced; occasionally identifies the faulting driver (kext) by name. |
The ~3-minute uptime clue
iOS runs a userspace watchdog: critical daemons must periodically "check in." If a required daemon stops checking in, the watchdog forces a panic. In practice this timeout lands around 180 seconds, so a device that panics and reboots roughly every three minutes — with an uptime near 180 s in successive logs — is the classic fingerprint of a hardware/sensor fault starving a daemon of data. The tell-tale string reads like:
userspace watchdog timeout: no successful checkins from <daemon> in NNN seconds
Match the named daemon to its subsystem (below) to localize the fault.
Hardware-hint token families
The panic string frequently embeds a short token or a named daemon/driver. Group them into families first; the family tells you the subsystem, then the exact token narrows it.
| Family | Representative tokens / strings | Subsystem it implicates |
|---|---|---|
| Userspace watchdog / daemon checkin | userspace watchdog timeout, watchdogd, thermalmonitord, no successful checkins |
A required daemon lost its data source; find the named daemon. |
| Required-sensor missing | Missing sensor(s): followed by a sensor short-name |
A component iOS treats as mandatory is absent/unresponsive (see next section). |
| SoC watchdog / WDT / SOCD | WDT, SOCD, soc watchdog, AppleSocHot (thermal) |
SoC-level watchdog or SoC thermal/power event; often core power rails, buck coils, or the SoC itself. |
| SMC (System Management Controller) | SMC PANIC, SMC ... ASSERTION, SMC DATA ABORT |
On iPhone the SMC is integrated into the SoC; commonly power/rail or SMC-communication faults. |
| PMU / PMIC power | PMP, PMU, NMI FIQ power, power |
Main power-management IC and associated rails/inductors. |
| AOP (Always-On Processor) | AOP PANIC, AOP NMI POWER, AOP DATA ABORT |
The always-on coprocessor that services low-power sensors (audio wake-word, some environmental sensors); frequently tied to microphone/ambient/pressure paths. |
| Thermal | thermalmonitord, AppleSocHot, thermal-trip strings |
Temperature monitoring / overheating protection, or a missing temperature sensor feeding it. |
| GPU / graphics | AGX…, GFX, GPU |
Apple GPU driver/hardware; also seen with display-power faults. |
| Storage (NAND) | ANS, ANS2, NVMe, Apcie (s3e) |
The NAND / storage controller subsystem. |
| Display / MIPI | SynopsysMIPID, SCL display PMU, LM3539 (backlight) |
Display panel, display-power, or backlight driver path. |
| Memory management | Kernel data abort, instruction fetch abort, WKDMD, pmap… |
CPU/RAM/PCIe faults; can be genuine kernel bugs or hardware. |
| SEP (Secure Enclave Processor) | SEP panic/abort strings |
Secure Enclave subsystem; treat with special care (see limitations). |
Reading discipline: the family and the daemon/driver name are well-grounded (they come from the kernel/daemon itself). The jump from a token to a specific flex cable or chip is where community mappings live — treat that as a hypothesis to verify, not a diagnosis.
Required sensors and post-repair mismatches
Modern iOS treats certain components as required: the system expects them to be present and responding, and if one goes silent the relevant daemon fails its watchdog checkin and the device panics — typically on the ~180 s cadence above. The panic string may enumerate them, e.g.:
Missing sensor(s): <short-name>
Two distinct root causes produce this:
- A genuine hardware fault — the sensor, its flex, its connector, or its power/I²C line is damaged (very common after liquid damage or drop).
- A post-repair mismatch — a part was replaced with one iOS does not accept in that role, or a connection was left off/seated poorly. After screen, battery, camera, or Face ID work, a device that now panics every ~3 minutes should make you suspect the last thing that was touched first.
Well-established, model-independent points:
- The mechanism (required sensor silent → daemon checkin fails → watchdog panic) is real and documented in the panic strings themselves.
- Which specific sensors are "required," and their short-names, vary by model and iOS version — do not memorize a mapping across generations.
Community-reported and model-dependent (verify against a boardview/service docs before acting):
| Short-name seen in strings | Commonly reported association |
|---|---|
PRS0 / "PressureController" (AOP) |
Barometric pressure sensor, frequently located on the charge-port / dock flex on several models |
mic1…mic4 |
Individual microphones; physical location differs per model (bottom, near flash, front) |
TG0B / TG0V |
Battery/charging thermal or gas-gauge sensing ("Tigris"/battery path) |
prox |
Proximity/ambient path via AOP |
These associations circulate widely in the repair community and are often correct for the model they were reported on, but the same short-name can map to a different physical part on a different board. Never trust a cross-model token chart as ground truth. Confirm the net, the connector, and the component on the actual schematic/boardview for that exact model.
What panic logs cannot tell you
- They do not defeat encryption or locks. iOS user data at rest is protected by FBE-style file-based encryption tied to the SEP and the passcode; a panic log reveals nothing about keys and provides no path around a locked or Activation-Locked device. Recovering data from a modern locked iPhone without the passcode is, for practical purposes, not possible.
- Root cause ≠ localization. A token names a subsystem, not a proven faulty part. Broken traces, cold joints, upstream power, and liquid corrosion routinely masquerade as "sensor" faults.
- SEP / security-subsystem panics should not be "repaired" by swapping paired security components between devices — pairing and Activation Lock are anti-theft protections and must not be circumvented on a device you do not own.
- Software can panic too. A one-off panic after an OS update, or a panic that disappears on reinstall/restore, may be firmware — not every panic is a soldering job.
How to use this reference
- Confirm it's a kernel panic — file begins
panic-full-…; headerbug_type≈210. - Read the whole
panicStringbefore forming any theory. - Record the model (
product/model identifier) — you cannot map tokens without it. - Check the cadence — pull several recent panics; if
uptimeclusters near ~180 s and the string mentions a watchdog/daemon, suspect a required-sensor/hardware fault. - Classify the token by family (table above) to get the subsystem.
- Weigh the history — recent repair? liquid? drop? The last-touched area leads.
- Verify against hardware — boardview/schematic, visual inspection, and measurement before ordering or replacing a part. Treat community token→part charts as leads, not conclusions.
- Rule out software — try a clean restore/DFU if a panic could plausibly be firmware, before micro-soldering.
Related articles
- Understanding the .ips Crash Report Format on iOS
- BFU vs AFU: iPhone Access States for Data Recovery
- iPhone Random Restart Diagnosis by Model
- iPhone SMC Panic Assertion Failed
- Face ID and Serialized Parts: Post-Repair Diagnostics
- Using sysdiagnose for iOS Hardware Diagnostics
- Reading Boardview and Schematic Files for iPhone Repair
Sources
- iFixit — iPhone Kernel Panics
- 8kSec — Analyzing iOS Kernel Panic Logs
- Repair.wiki — Troubleshoot iPhone Random Restarts Using Panic Logs
- VCC Board Repairs — Panic Log Error List
- REWA — iPhone Restart Log Analysis
- GitHub — iDeviceLogAnalyzer
- iBoardRepair — Fixing an iPhone That Keeps Restarting
PhoneRepair.biz is a free community knowledge base. Data recovery and board-level repair carry a real risk of permanent data loss — when the data matters, back up any raw dump before modifying a device and consider a professional lab. Only work on devices you own or have documented authorization to service. See PhoneRepair:Legal notice.