Published on

아이폰 오류 로그 분석으로 패닉 풀(Panic-Full) 원인 찾아보기

그제 밤부터 폰이 저주를 받았다. 자꾸 먹통 + 시도때도 없는 강제 재부팅 🤯 이는 패닉 풀(Panic-Full) 이라는 현상으로, 아이폰에서 꾸준히 발생하고 있는 문제이나 아직 해결된 바가 없다고 한다. 원인은 하드웨어 문제일 수도 있고, 소프트웨어 문제일 수도 있다.

뭐가 문제일까.. 한 번 내 핸드폰에 저장된 오류 로그를 직접 확인해보기로 했다.

  • 본 게시글은 작성자 개인의 경험을 기록한 것으로, iOS 및 iPhone의 문제에 대한 전문적인 정보를 다루지 않습니다.

패닉 풀 발생 확인

패닉 풀의 발생은 기기에 저장된 오류 로그를 통해 확인할 수 있다. 아이폰 설정 > 개인정보 보호 및 보안 > 분석 및 향상 > 분석 데이터로 들어가 오류 로그 내역을 확인해 보았을 때 사진처럼 'panic-full'이라는 로그가 기록되어 있으면 패닉 풀이 발생한 것이다. 참고로 이 로그가 3회 이상이면 리퍼 대상이다.

아이폰 오류 로그 분석해보기

다 보기엔 너무 많고, 최근 발생한 패닉 풀 로그 중 제일 최초와 최근 로그를 포함하여 5개를 추렸다.

ips 파일을 열어보니 다음과 같은 내용이 나왔다.

{"bug_type":"210", // 버그 종류
"timestamp":"2022-11-21 22:27:00.00 +0900", // 오류 발생 일시
"os_version":"iPhone OS 16.1.1 (20B101)", // iOS 버전
"roots_installed":0, // root 여부
"incident_id": // 로그 보고서 식별자 (identifier)
}

{
  "build" : "iPhone OS 16.1.1 (20B101)",
  "product" : "iPhone14,5",
  "socId" : "0x00008110",
  "kernel" : "Darwin Kernel Version 22.1.0: Thu Oct  6 19:34:09 PDT 2022; root:xnu-8792.42.7~1\/RELEASE_ARM64_T8110",
  "incident" : // 로그 보고서 식별자(identifier)
  "crashReporterKey" : // 익명화된 장치 식별자(identifier)
  "date" : "2022-11-21 22:27:00.16 +0900",
  "panicString" : "panic(cpu 0 caller 0xfffffff018613aa8): userspace watchdog timeout: no successful checkins from logd in 180 seconds\nservice returned not alive with context : unresponsive dispatch queue(s): com.apple.firehose.io-wl \nlogd appears to not exist in launchd\nservice: backboardd, total successful checkins in 387873 seconds: 38584, last successful checkin: 90 seconds ago\nservice: SpringBoard, total successful checkins in 387735 seconds: 38564, last successful checkin: 160 seconds ago\nservice: mediaserverd, total successful checkins in 387873 seconds: 38592, last successful checkin: 0 seconds ago\nservice: logd, total successful checkins in 387873 seconds: 38575, last successful checkin: 180 seconds ago\nservice: thermalmonitord, total successful checkins in 387873 seconds: 38583, last successful checkin: 90 seconds ago\nservice: runningboardd, total successful checkins in 387873 seconds: 38587, last successful checkin: 0 seconds ago\nservice: wifid, total successful checkins in 387873 seconds: 38574, last successful checkin: 180 seconds ago\nservice: configd, total successful checkins in\nDebugger message: panic\nMemory ID: 0x1\nOS release type: User\nOS version: 20B101\nKernel version: Darwin Kernel Version 22.1.0: Thu Oct  6 19:34:09 PDT 2022; root:xnu-8792.42.7~1\/RELEASE_ARM64_T8110\nFileset Kernelcache UUID: FF82607F3C61A56E84441A9E67F72C42\nKernel UUID: F3D9C52A-2586-37E9-A7E3-007799DEFA1F\nBoot session UUID: 6F47A85E-8223-4CEF-84CA-481F78ADDFEE\niBoot version: iBoot-8419.40.112\nsecure boot?: YES\nroots installed: 0\nPaniclog version: 14\nKernelCache slide: 0x000000000ffb4000\nKernelCache base:  0xfffffff016fb8000\nKernel slide:      0x0000000010c30000\nKernel text base:  0xfffffff017c34000\nKernel text exec slide: 0x0000000010ce8000\nKernel text exec base:  0xfffffff017cec000\nmach_absolute_time: 0x8776baf6e64\nEpoch Time:        sec       usec\n  Boot    : 0x637338d0 0x0005d0e2\n  Sleep   : 0x637b7793 0x000e0aee\n  Wake    : 0x637b780d 0x000d24ac\n  Calendar: 0x637b7c8a 0x000002da\n\nZone info:\n  Zone map: 0xffffffe11f49c000 - 0xffffffe71f49c000\n  . VM    : 0xffffffe11f49c000 - 0xffffffe205b00000\n  . RO    : 0xffffffe205b00000 - 0xffffffe2527cc000\n  . GEN0  : 0xffffffe2527cc000 - 0xffffffe338e30000\n  . GEN1  : 0xffffffe338e30000 - 0xffffffe41f494000\n  . GEN2  : 0xffffffe41f494000 - 0xffffffe505afc000\n  . GEN3  : 0xffffffe505afc000 - 0xffffffe5ec164000\n  . DATA  : 0xffffffe5ec164000 - 0xffffffe71f49c000\n  Metadata: 0xffffffe899be0000 - 0xffffffe89b3e0000\n  Bitmaps : 0xffffffe89b3e0000 - 0xffffffe89c858000\n\nCORE 0 recently retired instr at 0xfffffff017e6cc6c\nCORE 1 recently retired instr at 0xfffffff017e6e150\nCORE 2 recently retired instr at 0xfffffff017e6e150\nCORE 3 recently retired instr at 0xfffffff017e6e150\nCORE 4 recently retired instr at 0xfffffff017e6e150\nCORE 5 recently retired instr at 0xfffffff017e6e150\nTPIDRx_ELy = {1: 0xffffffe5050942f8  0: 0x0000000000000000  0ro: 0x000000016f9070e0 }\nCORE 0 is the one that panicked. Check the full backtrace for details.\nCORE 1: PC=0xfffffff017e69b38, LR=0xfffffff017e69b34, FP=0xffffffee88ddbe90\nCORE 2: PC=0xfffffff017d64584, LR=0xfffffff017d64584, FP=0xffffffee888e7f00\nCORE 3: PC=0xfffffff017cec9ec, LR=0xfffffff017dc1c14, FP=0xffffffee88cd3d40\nCORE 4: PC=0xfffffff017d64588, LR=0xfffffff017d64584, FP=0xffffffee88693f00\nCORE 5: PC=0xfffffff017d64588, LR=0xfffffff017d64584, FP=0xffffffee886dbf00\nCompressor Info: 79% of compressed pages limit (OK) and 48% of segments limit (OK) with 2 swapfiles and OK swap space\nTotal cpu_usage: 68372986\nThread task pri cpu_usage\n0xffffffe5050942f8 watchdogd 97 0\n0xffffffe505abf938 kernel_task 91 54343\n0xffffffe505ae2ba8 kernel_task 0 4782048\n0xffffffe505ae02f8 kernel_task 0 4984091\n0xffffffe505ac1088 kernel_task 0 0\n\nPanicked task 0xffffffe420790708: 74 pages, 5 threads: pid 60: watchdogd\nPanicked thread: 0xffffffe5050942f8, backtrace: 0xffffffee88f9f0d0, tid: 1839\n\t\t  lr: 0xfffffff017d31dec  fp: 0xffffffee88f9f110\n\t\t  lr: 0xfffffff017d31bc0  fp: 0xffffffee88f9f180\n\t\t  lr: 0xfffffff017e73e34  fp: 0xffffffee88f9f1a0\n\t\t  lr: 0xfffffff017e66c2c  fp: 0xffffffee88f9f210\n\t\t  lr: 0xfffffff017e65518  fp: 0xffffffee88f9f2d0\n\t\t  lr: 0xfffffff017cf36b4  fp: 0xffffffee88f9f2e0\n\t\t  lr: 0xfffffff017d315d4  fp: 0xffffffee88f9f690\n\t\t  lr: 0xfffffff018433b80  fp: 0xffffffee88f9f6b0\n\t\t  lr: 0xfffffff018613aa8  fp: 0xffffffee88f9f6d0\n\t\t  lr: 0xfffffff018613330  fp: 0xffffffee88f9f6f0\n\t\t  lr: 0xfffffff0186121e4  fp: 0xffffffee88f9f810\n\t\t  lr: 0xfffffff0183aca24  fp: 0xffffffee88f9f840\n\t\t  lr: 0xfffffff0183acd0c  fp: 0xffffffee88f9f9d0\n\t\t  lr: 0xfffffff017e38028  fp: 0xffffffee88f9faf0\n\t\t  lr: 0xfffffff017d37b30  fp: 0xffffffee88f9fb90\n\t\t  lr: 0xfffffff017d0cabc  fp: 0xffffffee88f9fbf0\n\t\t  lr: 0xfffffff017d240cc  fp: 0xffffffee88f9fc90\n\t\t  lr: 0xfffffff017d24510  fp: 0xffffffee88f9fd80\n\t\t  lr: 0xfffffff017e5ba28  fp: 0xffffffee88f9fe50\n\t\t  lr: 0xfffffff017e658f0  fp: 0xffffffee88f9ff10\n\t\t  lr: 0xfffffff017cf36b4  fp: 0xffffffee88f9ff20\n      Kernel Extensions in backtrace:\n         com.apple.driver.AppleARMWatchdogTimer(1.0)[E87C0F43-E180-33BE-B856-D3276A92C0F8]@0xfffffff01860f6e0->0xfffffff018613aa7\n            dependency: com.apple.driver.AppleARMPlatform(1.0.2)[B5937EC7-0D89-3C0B-92EB-42309DD87933]@0xfffffff0185c24b0->0xfffffff01860f6df\n\nlast started kext at 586723334: com.apple.driver.AppleIDAMInterface\t1 (addr 0xfffffff01728b050, size 3112)\nloaded kexts:\ncom.apple.driver.AppleIDAMInterface\t1\ncom.apple.driver.AppleUSBEthernetDevice\t7.0\ncom.apple.iokit.IOAccessoryPortUSB\t1.0.0\ncom.apple.driver.AppleUSBDeviceMux\t1.0.0d1\ncom.apple.driver.AppleUSBDeviceNCM\t5.0.0\ncom.apple.driver.AppleUSBMike\t1.0.0d1\ncom.apple.driver.AppleAOPAD5860\t600.99\ncom.apple.driver.AppleAOPHaptics\t600.99\ncom.apple.driver.AOPTouchKext\t311\ncom.apple.driver.AppleEmbeddedLightSensor\t1.0.0d1\ncom.apple.driver.AppleALSColorSensor\t1.0.0d1\ncom.apple.driver.AppleProxDriver\t19\ncom.apple.driver.AppleAOPVoiceTrigger\t200.4\ncom.apple.driver.AppleHapticsSupportNVM\t7.20\ncom.apple.driver.AppleBasebandPCIMAVPDP\t1\ncom.apple.driver.ApplePMP\t1\ncom.apple.driver.AppleSMCWirelessCharger\t1.0.1\ncom.apple.driver.ApplePMPFirmware\t1\ncom.apple.driver.AppleSmartBatteryManagerEmbedded\t1\ncom.apple.driver.AppleHapticsSupportLEAP\t7.20\ncom.apple.driver.AppleAVE2\t630.29.1\ncom.apple.driver.AppleSmartIO2\t1\ncom.apple.driver.AppleCS42L77Audio\t600.99\ncom.apple.driver.AppleAVD\t616.1\ncom.apple.driver.AppleIDV\t5.107.1\ncom.apple.driver.AppleProResHW\t201.4.0\ncom.apple.driver.AppleEmbeddedAudioResourceManager\t600.99\ncom.apple.AGXG14P\t227.2.39\ncom.apple.driver.AppleBluetoothModule\t1\ncom.apple.nke.l2tp\t1.9\ncom.apple.filesystems.tmpfs\t1\ncom.apple.driver.AudioDMAController-T8110\t200.21\ncom.apple.filesystems.lifs\t1\ncom.apple.filesystems.apfs\t2142.40.13\ncom.apple.IOTextEncryptionFamily\t1.0.0\ncom.apple.filesystems.hfs.kext\t627.40.1\ncom.apple.AppleFSCompression.AppleFSCompressionTypeZlib\t1.0.0\ncom.apple.driver.AppleFAN53740\t1\ncom.apple.driver.AppleJPEGDriver\t5.1.3\ncom.apple.driver.AppleBCMWLANBusInterfacePCIe\t1\ncom.apple.driver.AppleEmbeddedTouchEEPROM\t1\ncom.apple.driver.AppleGenericMultitouch\t22\ncom.apple.driver.AppleParrot\t1\ncom.apple.driver.AppleCS35L27Amp\t600.99\ncom.apple.driver.AppleMobileDispH14P-DCP\t140.0\ncom.apple.driver.AppleT8110CLPC\t1\ncom.apple.driver.AppleT8030SOCTuner\t1\ncom.apple.driver.AppleSPMIPMU\t1.0.1\ncom.apple.driver.AppleS5L8940XI2C\t1.0.0d2\ncom.apple.driver.AppleSPIMC\t1\ncom.apple.driver.AppleSamsungSerial\t1.0.0d1\ncom.apple.driver.AppleSerialShim\t1\ncom.apple.driver.AppleT8110DART\t1\ncom.apple.driver.AppleS8000AES\t1\ncom.apple.driver.AppleEventLogHandler\t1\ncom.apple.driver.AppleS5L8920XPWM\t1.0.0d1\ncom.apple.driver.AppleS8000DWI\t1.0.0d1\ncom.apple.driver.AppleS5L8960XNCO\t1\ncom.apple.driver.AppleT8110PMGR\t1\ncom.apple.driver.AppleInterruptControllerV2\t1.0.0d1\ncom.apple.driver.AppleT8110\t1\ncom.apple.driver.AppleM68Buttons\t1.0.0d1\ncom.apple.iokit.IOUserEthernet\t1.0.1\ncom.apple.driver.IOAudioCodecs\t1.0.0\ncom.apple.driver.AppleTemperatureSensor\t1.0.0d1\ncom.apple.driver.AppleDiskImages2\t198.40.3\ncom.apple.driver.ASIOKit\t10.21\ncom.apple.security.sandbox\t300.0\ncom.apple.kec.Compression\t1\ncom.apple.driver.AppleUSBDeviceAudioController\t500.2\ncom.apple.driver.AppleUSBAudio\t500.2\ncom.apple.driver.usb.networking\t5.0.0\ncom.apple.plugin.IOgPTPPlugin\t1110.14\ncom.apple.driver.AppleMultitouchDriver\t6110.6\ncom.apple.driver.ApplePearlSEPDriver\t1\ncom.apple.iokit.IOBiometricFamily\t1\ncom.apple.iokit.AppleSEPGenericTransfer\t1\ncom.apple.driver.AppleConvergedIPCOLYBTControl\t1\ncom.apple.driver.AppleConvergedPCI\t1\ncom.apple.driver.AppleSPUSphere\t1\ncom.apple.driver.AppleSPURose\t1\ncom.apple.driver.AppleAOPAudio\t200.45\ncom.apple.driver.AppleBasebandPCIMAVControl\t1\ncom.apple.driver.AppleBasebandPCI\t1\ncom.apple.iokit.IOMIPIFamily\t1\ncom.apple.AGXFirmwareKextG14PRTBuddy\t1\ncom.apple.AGXFirmwareKextRTBuddy64\t227.2.39\ncom.apple.driver.AppleC26Charger\t1.0.1\ncom.apple.driver.AppleAuthCP\t1.0.0\ncom.apple.iokit.IOMikeyBusFamily\t1.0.0\ncom.apple.driver.AppleCSEmbeddedAudio\t600.99\ncom.apple.iokit.IONVMeFamily\t2.1.0\ncom.apple.driver.DCPAVFamilyProxy\t1\ncom.apple.driver.AppleH11ANEInterface\t6.101.0\ncom.apple.iokit.IOGPUFamily\t65.0.22\ncom.apple.driver.AppleT8110PCIe\t1\ncom.apple.driver.AppleAstrisGpioProbe\t1.0.1\ncom.apple.driver.AppleBluetoothDebug\t1\ncom.apple.driver.AppleTriStar\t1.0.0\ncom.apple.nke.ppp\t1.9\ncom.apple.driver.AppleBSDKextStarter\t3\ncom.apple.driver.AppleBluetoothDebugService\t1\ncom.apple.driver.AppleBCMWLANCore\t1.0.0\ncom.apple.iokit.IO80211Family\t1200.13.0\ncom.apple.driver.IOImageLoader\t1.0.0\ncom.apple.driver.AppleDiagnosticDataAccessReadOnly\t1.0.0\ncom.apple.driver.AppleNANDConfigAccess\t1.0.0\ncom.apple.driver.AppleH13CameraInterface\t7.112.1\ncom.apple.driver.AppleH10PearlCameraInterface\t19.22.0\ncom.apple.driver.AppleMobileApNonce\t1\ncom.apple.driver.AppleHIDTransportSPI\t6110.3\ncom.apple.driver.AppleHIDTransportFIFO\t6110.3\ncom.apple.driver.AppleHIDTransport\t6110.3\ncom.apple.driver.AppleSPU\t1\ncom.apple.driver.AppleInputDeviceSupport\t6110.3\ncom.apple.driver.AppleEmbeddedAudio\t600.99\ncom.apple.iokit.AppleARMIISAudio\t200.8\ncom.apple.driver.AppleOLYHAL\t1\ncom.apple.driver.AppleMCA2-T8110\t701.14\ncom.apple.driver.AppleEmbeddedAudioLibs\t200.5\ncom.apple.iokit.IOMobileGraphicsFamily-DCP\t343.0.0\ncom.apple.driver.AppleDCP\t1\ncom.apple.driver.AppleFirmwareKit\t1\ncom.apple.driver.AppleFirmwareUpdateKext\t1\ncom.apple.iokit.IOMobileGraphicsFamily\t343.0.0\ncom.apple.driver.ApplePPMCPMS\t3.0\ncom.apple.driver.AppleUSBXDCIARM\t1.0\ncom.apple.driver.AppleUSBXDCI\t1.0\ncom.apple.iokit.IOUSBDeviceFamily\t2.0.0\ncom.apple.driver.usb.AppleSynopsysUSBXHCI\t1\ncom.apple.driver.usb.AppleUSBXHCI\t1.2\ncom.apple.driver.AppleEmbeddedUSBHost\t1\ncom.apple.driver.usb.AppleUSBHub\t1.2\ncom.apple.driver.usb.AppleUSBHostCompositeDevice\t1.2\ncom.apple.driver.AppleT8101TypeCPhy\t1\ncom.apple.driver.AppleTypeCPhy\t1\ncom.apple.driver.AppleStockholmControl\t1.0.0\ncom.apple.driver.ApplePhoneBTM\t1.0.1\ncom.apple.driver.IOHIDPowerSource\t1\ncom.apple.driver.AppleDialogPMU\t1.0.1\ncom.apple.driver.AppleSPMI\t1.0.1\ncom.apple.driver.AppleDockChannel\t1\ncom.apple.driver.AppleSART\t1\ncom.apple.driver.AppleGPIOICController\t1.0.2\ncom.apple.driver.AppleARMWatchdogTimer\t1\ncom.apple.driver.AppleFireStormErrorHandler\t1\ncom.apple.driver.AppleBasebandM20\t1.0.0d1\ncom.apple.driver.AppleMultiFunctionManager\t1\ncom.apple.driver.corecapture\t1.0.4\ncom.apple.driver.AppleEmbeddedPCIE\t1\ncom.apple.driver.usb.AppleUSBHostPacketFilter\t1.0\ncom.apple.iokit.IOUSBMassStorageDriver\t232\ncom.apple.iokit.IOSCSIArchitectureModelFamily\t476\ncom.apple.iokit.IOPCIFamily\t2.9\ncom.apple.iokit.IOUSBHostFamily\t1.2\ncom.apple.driver.AppleUSBHostMergeProperties\t1.2\ncom.apple.driver.usb.AppleUSBCommon\t1.0\ncom.apple.iokit.IOTimeSyncFamily\t1110.14\ncom.apple.driver.DiskImages\t493.0.0\ncom.apple.driver.AppleSMC\t1\ncom.apple.driver.RTBuddy\t1.0.0\ncom.apple.driver.AppleEmbeddedTempSensor\t1.0.0\ncom.apple.driver.AppleARMPMU\t1.0\ncom.apple.iokit.IOAccessoryManager\t1.0.0\ncom.apple.iokit.IOHIDFamily\t2.0.0\ncom.apple.driver.AppleOnboardSerial\t1.0\ncom.apple.iokit.IOSerialFamily\t11\ncom.apple.driver.AppleSEPKeyStore\t2\ncom.apple.driver.AppleEffaceableStorage\t1.0\ncom.apple.driver.AppleSEPCredentialManager\t1.0\ncom.apple.driver.AppleIPAppender\t1.0\ncom.apple.iokit.IOSkywalkFamily\t1.0\ncom.apple.driver.mDNSOffloadUserClient-Embedded\t1.0.1b8\ncom.apple.iokit.IONetworkingFamily\t3.4\ncom.apple.AUC\t1.0\ncom.apple.iokit.IOAVFamily\t1.0.0\ncom.apple.iokit.IOHDCPFamily\t1.0.0\ncom.apple.iokit.IOCECFamily\t1\ncom.apple.iokit.IOAudio2Family\t1.0\ncom.apple.driver.AppleIISController\t200.2\ncom.apple.driver.AppleAudioClockLibs\t200.5\ncom.apple.driver.AppleM2ScalerCSCDriver\t265.0.0\ncom.apple.iokit.IOSurface\t334.0.1\ncom.apple.driver.IODARTFamily\t1\ncom.apple.driver.AppleSSE\t1.0\ncom.apple.driver.AppleSEPManager\t1.0.1\ncom.apple.driver.AppleA7IOP\t1.0.2\ncom.apple.driver.IOSlaveProcessor\t1\ncom.apple.driver.LSKDIOKit\t19.10.0\ncom.apple.driver.FairPlayIOKit\t70.35.0\ncom.apple.kext.AppleMatch\t1.0.0d1\ncom.apple.driver.AppleMobileFileIntegrity\t1.0.5\ncom.apple.iokit.CoreAnalyticsFamily\t1\ncom.apple.driver.ApplePMGR\t1\ncom.apple.driver.AppleARMPlatform\t1.0.2\ncom.apple.iokit.IOStorageFamily\t2.1\ncom.apple.iokit.IOSlowAdaptiveClockingFamily\t1.0.0\ncom.apple.iokit.IOReportFamily\t47\ncom.apple.security.AppleImage4\t5.0.0\ncom.apple.kext.CoreTrust\t1\ncom.apple.iokit.IOCryptoAcceleratorFamily\t1.0.1\ncom.apple.kec.pthread\t1\ncom.apple.kec.Libm\t1\ncom.apple.kec.corecrypto\t12.0\n\n",
  "panicFlags" : "0x802",
  "bug_type" : "210",
  "otherString" : "\n** Stackshot Succeeded ** Bytes Traced 265819 (Uncompressed 677824) **\n",
  "repairStatus" : "2",
  "memoryStatus" : {"compressorSize":95001,"compressions":82888201,"decompressions":60359769,"busyBufferCount":1,"memoryPressureDetails":{"pagesWanted":110,"pagesReclaimed":622},"pageSize":16384,"memoryPressure":true,"memoryPages":{"active":4815,"throttled":0,"fileBacked":5817,"wired":126149,"purgeable":0,"inactive":4482,"free":1890,"speculative":333}},
  "processByPid" : { // 프로세스 번호(PID)에 따른 프로세스
   "0" : { // 프로세스 관련 정보 ... }
   "1" : { //  }
   "31" : { // }
...

자세힌 모르겠지만 느낌상 오류 원인과 관련 있을 것으로 보이는 몇몇 필드가 있다. 바로 bug_type, panicString, panicFlags. 5개 로그에서 이 필드 값들은 같거나 유사했고, 따라서 이들을 중심으로 알아보면 나의 핸드폰의 문제 원인을 찾을 수 있을 것이다.

bug_type : 210, panicFlags : 0x802

해당 오류가 패닉 풀 오류임을 나타내는 코드다. 자세한 내용을 확인하기 위해 panicString 필드를 확인해보았다.

panicString

panic(cpu 0 caller 0xfffffff018613aa8):
userspace watchdog timeout: no successful checkins from logd in 180 seconds\n

panic(cpu 1 caller 0xfffffff0231ffaa8):
userspace watchdog timeout: no successful checkins from logd in 180 seconds\n

panic(cpu 3 caller 0xfffffff027e7baa8):
userspace watchdog timeout: no successful checkins from logd in 180 seconds\n
service returned not alive with context : unresponsive dispatch queue(s): com.apple.firehose.io-wl \n
logd appears to not exist in launchd\nservice: backboardd, total successful checkins in 1509 seconds:

panic(cpu 3 caller 0xfffffff0205a7aa8):
userspace watchdog timeout: no successful checkins from wifid in 180 seconds\n
wifid has not exited since first loaded\nservice: backboardd

panic(cpu 0 caller 0xfffffff02d86faa8):
userspace watchdog timeout: no successful checkins from logd in 180 seconds

userspace watchdog timeout 이라는 문제가 공통적으로 발생한 것이 보인다. watchdog timeout이 뭘까? watchdog 이란 시스템을 감시하다가 시스템이 올바르게 동작하지 않을 때 이를 강제로 리셋하는 타이머이다. 어떠한 문제로 인해 이 watchdog 타이머가 제대로 재가동되지 못해 watchdog timeout이 발생했다.

watchdog timeout 원인, SW vs HW?

PanicString의 내용만으로 모든 것을 알 수는 없지만, 해당 기기의 문제가 소프트웨어의 문제인지, 하드웨어의 문제인지는 대강 알 수 있다.

  • 소프트웨어 문제인 경우

나의 경우 logd와 wifid라는 항목에서 계속 체크인이 실패하고 있고, 이로 인해 userspace watchdog timeout이 지속적으로 발생하였다. logd와 wifid는 각각 log daemon과 WiFi daemon을 가리킨다. 여기서 데몬이란 백그라운드에서 여러 작업을 하는 프로그램으로, logd는 로그, wifid는 와이파이와 관련된 모든 것들을 관리한다. 자세히는 알 수 없지만 일단 소프트웨어와 관련된 이슈임을 예상할 수 있었다.

  • 하드웨어 문제인 경우

하드웨어 문제일 경우에는 'no successful checkins from thermalmonitord in 180 seconds\n', 'Missing sensor(s): mic2)'와 같이, 워치독 타임아웃이 발생한 특정 부품이나 센서를 알려준다. 대표적으로 해당 두 케이스의 경우 첫번째는 충전포트, 두번째는 마이크 센서 중 하나에 결함이 생긴 것이다.

아이폰 패닉 풀 현상 해결법

위와 같이 오류 로그의 PanicString 필드를 읽은 결과 아이폰이 패닉 풀을 일으킨 원인이 부품 결함 등 하드웨어적 문제라면 홀가분한 마음으로 수리 센터에 가면 된다. 수리 센터에 방문하여 부품을 교체하면 해결되는 문제이며, 애플은 일정 횟수 이상의 패닉 풀 발생 시 무상 리퍼 또한 진행하고 있다.

나는 소프트웨어 관련 문제로 패닉 풀이 발생했다 예상했고, 수리센터에 방문한 결과 실제로 소프트웨어 관련 문제였다. 그러나 결국 센터에서도 명확한 원인은 찾을 수 없었다. 친구 말로는 저장공간이 넉넉치 않으면 그럴 수 있다고 했는데 아마 그랬던 것으로 추정..

결국 초기화를 하고 나서야 핸드폰을 쓸 수 있었다 😢 사진이 다 날아갔다.. 사진 백업을 해두긴 했는데 내가 파이썬으로 사진 정리해주는 프로그램 짰다가 실수로 반 이상을 타노스 시켜버렸다.. 우하하 (사실 내 잘못) 아무튼 패닉 풀이 발생한 김에 블로그에 글을 작성해보았다 😅 오류 로그로 어떤 부분이 문제였는지 알 수 있는 경우도 있고, 아닌 경우도 있으니 HW/SW 중 어떤 쪽에 문제가 있는지 정도만 참고하면 좋을 듯 하다.