# NV-Log Analyzer NVIDIA Bug Report 로그 자가 진단 서비스 `nvidia-bug-report.log.gz` 파일을 업로드하면 XID 에러, GPU 상태, 커널 로그를 자동 분석하여 권장 조치를 안내합니다. ## 주요 기능 - **XID 에러 탐지**: `NVRM: Xid` 패턴 자동 검출 + 에러 코드별 한글 권장 조치 제공 - **GPU 헬스 체크**: 온도, 전력, ECC 에러, 메모리 상태 요약 - **커널 로그 필터링**: dmesg 내 Critical, Error, OOM, PCIe 에러 추출 - **원본 로그 검색**: 키워드 기반 로그 검색 기능 - **XID 코드 조회**: 사이드바에서 XID 번호로 즉시 의미 확인 ## 빠른 시작 ### 방법 1: 로컬 실행 ```bash pip install -r requirements.txt streamlit run app.py ``` 브라우저에서 `http://localhost:8501` 접속 ### 방법 2: Docker ```bash docker-compose up -d ``` 브라우저에서 `http://localhost:8501` 접속 ## 프로젝트 구조 ``` nvidia/ ├── app.py # Streamlit 대시보드 (메인 UI) ├── log_parser.py # 핵심 분석 엔진 ├── data/ │ └── xid_database.json # XID 에러 코드 매핑 DB (18종) ├── requirements.txt ├── Dockerfile ├── docker-compose.yml └── README.md ``` ## 분석 대상 로그 생성 방법 GPU 서버에서 아래 명령 실행: ```bash sudo nvidia-bug-report.sh ``` 생성된 `nvidia-bug-report.log.gz` 파일을 웹 대시보드에 업로드하면 됩니다. ## 지원하는 XID 코드 현재 시스템은 `Xid-Catalog.xlsx` 분석을 통해 총 **172개**의 XID 코드를 지원합니다. | XID | 이름 | 심각도 | 설명 | |-----|------|--------|------| | 1 | ROBUST_CHANNEL_FIFO_ERROR_FIFO_METHOD | 심각 | Unused | | 2 | ROBUST_CHANNEL_FIFO_ERROR_SW_METHOD | 심각 | Unused | | 3 | ROBUST_CHANNEL_FIFO_ERROR_UNK_METHOD | 심각 | Unused | | 4 | ROBUST_CHANNEL_FIFO_ERROR_CHANNEL_BUSY | 심각 | Unused | | 5 | ROBUST_CHANNEL_FIFO_ERROR_RUNOUT_OVERFLOW | 심각 | Unused | | 6 | ROBUST_CHANNEL_FIFO_ERROR_PARSE_ERR | 심각 | Unused | | 7 | ROBUST_CHANNEL_FIFO_ERROR_PTE_ERR | 심각 | Unused | | 8 | GPU Stopped Responding | 심각 | GPU가 응답을 중단했습니다. 하드웨어 결함 또는 드라이버 문제일 수 있습니다. | | 9 | ROBUST_CHANNEL_GR_ERROR_INSTANCE | 심각 | Unused | | 10 | ROBUST_CHANNEL_GR_ERROR_SINGLE_STEP | 심각 | Unused | | 11 | ROBUST_CHANNEL_GR_ERROR_MISSING_HW | 경고 | Invalid or corrupted push buffer stream | | 12 | ROBUST_CHANNEL_GR_ERROR_SW_METHOD | 심각 | Unused | | 13 | Graphics Engine Exception | 심각 | 그래픽 엔진에서 예외가 발생했습니다. GPU 코어 또는 메모리 결함 가능성. | | 14 | ROBUST_CHANNEL_FAKE_ERROR | 정보 | Unused | | 15 | ROBUST_CHANNEL_SCANLINE_TIMEOUT | 심각 | Unused | | 16 | ROBUST_CHANNEL_VBLANK_CALLBACK_TIMEOUT | 심각 | Unused | | 17 | ROBUST_CHANNEL_PARAMETER_ERROR | 심각 | Unused | | 18 | ROBUST_CHANNEL_BUS_MASTER_TIMEOUT_ERROR | 심각 | Unused | | 19 | ROBUST_CHANNEL_DISP_MISSED_NOTIFIER | 심각 | Unused | | 20 | ROBUST_CHANNEL_MPEG_ERROR_SW_METHOD | 심각 | Unused | | 21 | ROBUST_CHANNEL_ME_ERROR_SW_METHOD | 심각 | Unused | | 22 | ROBUST_CHANNEL_VP_ERROR_SW_METHOD | 심각 | Unused | | 23 | ROBUST_CHANNEL_RC_LOGGING_ENABLED | 심각 | Unused | | 24 | ROBUST_CHANNEL_GR_SEMAPHORE_TIMEOUT | 심각 | Unused | | 25 | ROBUST_CHANNEL_GR_ILLEGAL_NOTIFY | 경고 | Invalid or illegal push buffer stream | | 26 | ROBUST_CHANNEL_FIFO_ERROR_FBISTATE_TIMEOUT | 심각 | Unused | | 27 | ROBUST_CHANNEL_VP_ERROR | 심각 | Unused | | 28 | ROBUST_CHANNEL_VP2_ERROR | 심각 | Unused | | 29 | ROBUST_CHANNEL_BSP_ERROR | 심각 | Unused | | 30 | ROBUST_CHANNEL_BAD_ADDR_ACCESS | 심각 | Unused | | 31 | GPU Memory Page Fault | 심각 | GPU 메모리 페이지 폴트. 메모리 손상 또는 드라이버 버그 가능성. | | 32 | Invalid or Corrupted Push Buffer | 경고 | 손상된 푸시 버퍼 감지. 드라이버 또는 애플리케이션 문제. | | 33 | ROBUST_CHANNEL_SEC_ERROR | 심각 | Unused | | 34 | ROBUST_CHANNEL_MSVLD_ERROR | 심각 | Unused | | 35 | ROBUST_CHANNEL_MSPDEC_ERROR | 심각 | Unused | | 36 | ROBUST_CHANNEL_MSPPP_ERROR | 심각 | Unused | | 37 | ROBUST_CHANNEL_FECS_ERR_UNIMP_FIRMWARE_METHOD | 정보 | Driver firmware error | | 38 | Driver Firmware Mismatch | 경고 | 드라이버와 펌웨어 버전 불일치. | | 39 | ROBUST_CHANNEL_CE0_ERROR | 경고 | Copy Engine Exception | | 40 | ROBUST_CHANNEL_CE1_ERROR | 경고 | Copy Engine Exception | | 41 | ROBUST_CHANNEL_CE2_ERROR | 경고 | Copy Engine Exception | | 42 | ROBUST_CHANNEL_VIC_ERROR | 심각 | Unused | | 43 | GPU Stopped Processing | 심각 | GPU 처리가 중단됨. 심각한 하드웨어 또는 드라이버 문제. | | 44 | ROBUST_CHANNEL_GR_FAULT_DURING_CTXSW | 정보 | Graphics Engine fault during context switch | | 45 | GPU Preemption Failure | 경고 | GPU 선점 실패. 특정 워크로드에서 타임아웃 발생. | | 46 | ROBUST_CHANNEL_GPU_TIMEOUT_ERROR | 정보 | GPU stopped processing | | 47 | ROBUST_CHANNEL_NVENC0_ERROR | 심각 | Unused | | 48 | Double Bit ECC Error | 심각 | 수정 불가능한 Double Bit ECC 에러 발생. GPU 메모리 물리적 손상. | | 49 | SILENT_RUNNING_CONSTANT_LEVEL_SET_BY_REGISTRY | 심각 | Unused | | 50 | SILENT_RUNNING_LEVEL_TRANSITION_DUE_TO_RC_ERROR | 심각 | Unused | | 51 | SILENT_RUNNING_STRESS_TEST_FAILURE | 심각 | Unused | | 52 | SILENT_RUNNING_LEVEL_TRANS_DUE_TO_TEMP_RISE | 심각 | Unused | | 53 | SILENT_RUNNING_TEMP_REDUCED_CLOCKING | 심각 | Unused | | 54 | SILENT_RUNNING_PWR_REDUCED_CLOCKING | 경고 | Auxiliary power is not connected to the GPU board | | 55 | SILENT_RUNNING_TEMPERATURE_READ_ERROR | 심각 | Unused | | 56 | DISPLAY_CHANNEL_EXCEPTION | 심각 | Unused | | 57 | FB_LINK_TRAINING_FAILURE_ERROR | 심각 | Unused | | 58 | FB_MEMORY_ERROR | 심각 | Unused | | 59 | PMU_ERROR | 심각 | Unused | | 60 | ROBUST_CHANNEL_SEC2_ERROR | 경고 | Video processor exception | | 61 | GPU Fallen Off the Bus | 심각 | GPU가 PCIe 버스에서 분리됨. 전원 또는 물리적 연결 문제. | | 62 | GPU ECC Page Retirement | 경고 | ECC 에러로 인한 메모리 페이지 은퇴 처리. | | 63 | ECC Page Retirement: Double Bit | 심각 | Double Bit ECC 에러로 인한 페이지 은퇴. 심각한 메모리 손상. | | 64 | ECC Page Retirement Failure | 심각 | ECC 에러 페이지 은퇴 실패. 더 이상 은퇴할 수 있는 페이지가 없음. | | 65 | ROBUST_CHANNEL_NVENC1_ERROR | 심각 | Unused | | 66 | ROBUST_CHANNEL_FECS_ERR_REG_ACCESS_VIOLATION | 정보 | Illegal access by driver | | 67 | ROBUST_CHANNEL_FECS_ERR_VERIF_VIOLATION | 정보 | Illegal access by driver | | 68 | ROBUST_CHANNEL_NVDEC0_ERROR | 경고 | NVDEC0 Exception | | 69 | GPU Access to System Memory Failed | 경고 | GPU에서 시스템 메모리 접근 실패. IOMMU 또는 드라이버 문제. | | 70 | ROBUST_CHANNEL_CE3_ERROR | 경고 | CE3: Unknown Error | | 71 | ROBUST_CHANNEL_CE4_ERROR | 경고 | CE4: Unknown Error | | 72 | ROBUST_CHANNEL_CE5_ERROR | 경고 | CE5: Unknown Error | | 73 | ROBUST_CHANNEL_NVENC2_ERROR | 심각 | Unused | | 74 | NVLINK_ERROR | 정보 | NVLINK Error | | 75 | ROBUST_CHANNEL_CE6_ERROR | 경고 | CE6: Unknown Error | | 76 | ROBUST_CHANNEL_CE7_ERROR | 경고 | CE7: Unknown Error | | 77 | ROBUST_CHANNEL_CE8_ERROR | 경고 | CE8: Unknown Error | | 78 | VGPU_START_ERROR | 경고 | vGPU Start Error | | 79 | GPU Fallen Off the Bus (Fatal) | 심각 | GPU가 PCIe 버스에서 완전히 분리됨. Xid 61의 치명적 버전. | | 80 | PBDMA_PUSHBUFFER_CRC_MISMATCH | 경고 | Corrupted data sent to GPU | | 81 | ROBUST_CHANNEL_VGA_SUBSYSTEM_ERROR | 심각 | Unused | | 82 | ROBUST_CHANNEL_NVJPG0_ERROR | 경고 | NVJPG0 Error | | 83 | ROBUST_CHANNEL_NVDEC1_ERROR | 경고 | NVDEC1 Error | | 84 | ROBUST_CHANNEL_NVDEC2_ERROR | 경고 | NVDEC2 Error | | 85 | ROBUST_CHANNEL_CE9_ERROR | 경고 | CE9: Unknown Error | | 86 | ROBUST_CHANNEL_OFA0_ERROR | 경고 | OFA Exception | | 87 | NVTELEMETRY_DRIVER_REPORT | 심각 | Unused | | 88 | ROBUST_CHANNEL_NVDEC3_ERROR | 경고 | NVDEC3 Error | | 89 | ROBUST_CHANNEL_NVDEC4_ERROR | 경고 | NVDEC4 Error | | 90 | LTC_ERROR | 심각 | Unused | | 91 | RESERVED_XID | 심각 | Unused | | 92 | High Single-bit ECC Error Rate | 경고 | 단일 비트 ECC 에러 빈도가 높음. 메모리 노후화 징후. | | 93 | INFOROM_ERASE_LIMIT_EXCEEDED | 정보 | Non-fatal violation of provisioned InfoROM wear limit | | 94 | Contained ECC Error | 정보 | 격리된 ECC 에러. 자동으로 수정되었으나 모니터링 필요. | | 95 | Uncontained ECC Error | 심각 | 격리되지 않은 ECC 에러. 데이터 손상 가능성. | | 96 | ROBUST_CHANNEL_NVDEC5_ERROR | 경고 | NVDEC5 Error | | 97 | ROBUST_CHANNEL_NVDEC6_ERROR | 경고 | NVDEC6 Error | | 98 | ROBUST_CHANNEL_NVDEC7_ERROR | 경고 | NVDEC7 Error | | 99 | ROBUST_CHANNEL_NVJPG1_ERROR | 경고 | NVJPG1 Error | | 100 | ROBUST_CHANNEL_NVJPG2_ERROR | 경고 | NVJPG2 Error | | 101 | ROBUST_CHANNEL_NVJPG3_ERROR | 경고 | NVJPG3 Error | | 102 | ROBUST_CHANNEL_NVJPG4_ERROR | 경고 | NVJPG4 Error | | 103 | ROBUST_CHANNEL_NVJPG5_ERROR | 경고 | NVJPG5 Error | | 104 | ROBUST_CHANNEL_NVJPG6_ERROR | 경고 | NVJPG6 Error | | 105 | ROBUST_CHANNEL_NVJPG7_ERROR | 경고 | NVJPG7 Error | | 106 | SMBPBI_TEST_MESSAGE | 정보 | SMBPBI Test Message | | 107 | SMBPBI_TEST_MESSAGE_SILENT | 정보 | SMBPBI Test Message Silent | | 108 | NVLINK_REMOTE_TRANSLATION_ERROR | 정보 | Unused | | 109 | ROBUST_CHANNEL_CTXSW_TIMEOUT_ERROR | 정보 | Context Switch Timeout Error | | 110 | SEC_FAULT_ERROR | 정보 | Security Fault Error | | 111 | BUNDLE_ERROR_EVENT | 심각 | Unused | | 112 | DISP_SUPERVISOR_ERROR | 심각 | Unused | | 113 | DP_LT_FAILURE | 심각 | Unused | | 114 | HEAD_RG_UNDERFLOW | 심각 | Unused | | 115 | CORE_CHANNEL_REGS | 심각 | Unused | | 116 | WINDOW_CHANNEL_REGS | 심각 | Unused | | 117 | CURSOR_CHANNEL_REGS | 심각 | Unused | | 118 | HEAD_REGS | 심각 | Unused | | 119 | GPU Recovery Action | 정보 | GPU 복구 작업 수행됨. 일시적 에러에서 자동 복구. | | 120 | GSP_ERROR | 정보 | GSP Error | | 121 | C2C_ERROR | 정보 | C2C Error | | 122 | SPI_PMU_RPC_READ_FAIL | 심각 | Unused | | 123 | SPI_PMU_RPC_WRITE_FAIL | 심각 | Unused | | 124 | SPI_PMU_RPC_ERASE_FAIL | 심각 | Unused | | 125 | INFOROM_FS_ERROR | 심각 | Unused | | 126 | ROBUST_CHANNEL_CE10_ERROR | 경고 | CE10: Unknown Error | | 127 | ROBUST_CHANNEL_CE11_ERROR | 경고 | CE11: Unknown Error | | 128 | ROBUST_CHANNEL_CE12_ERROR | 경고 | CE12: Unknown Error | | 129 | ROBUST_CHANNEL_CE13_ERROR | 경고 | CE13: Unknown Error | | 130 | ROBUST_CHANNEL_CE14_ERROR | 경고 | CE14: Unknown Error | | 131 | ROBUST_CHANNEL_CE15_ERROR | 경고 | CE15: Unknown Error | | 132 | ROBUST_CHANNEL_CE16_ERROR | 경고 | CE16: Unknown Error | | 133 | ROBUST_CHANNEL_CE17_ERROR | 경고 | CE17: Unknown Error | | 134 | ROBUST_CHANNEL_CE18_ERROR | 경고 | CE18: Unknown Error | | 135 | ROBUST_CHANNEL_CE19_ERROR | 경고 | CE19: Unknown Error | | 136 | ALI_TRAINING_FAIL | 정보 | Link Training Failed | | 137 | NVLINK_PRIV_ERR | 정보 | NVLink Privilege Error | | 138 | ROBUST_CHANNEL_DLA_ERROR | 심각 | Unused | | 139 | ROBUST_CHANNEL_OFA1_ERROR | 경고 | OFA1 Error | | 140 | UNRECOVERABLE_ECC_ERROR_ESCAPE | 정보 | ECC Unrecovered Error | | 141 | ROBUST_CHANNEL_FAST_PATH_ERROR | 정보 | CUDA Fast Path Error | | 142 | ROBUST_CHANNEL_NVENC3_ERROR | 심각 | NVENC3 Error | | 143 | GPU_INIT_ERROR | 정보 | GPU Initialization Error | | 144 | NVLINK_SAW_ERROR | 정보 | NVLINK: SAW Error | | 145 | NVLINK_RLW_ERROR | 정보 | NVLINK: RLW Error | | 146 | NVLINK_TLW_ERROR | 정보 | NVLINK: TLW Error | | 147 | NVLINK_TREX_ERROR | 정보 | NVLINK: TREX Error | | 148 | NVLINK_NVLPW_CTRL_ERROR | 정보 | NVLINK: NVLPW_CTRL Error | | 149 | NVLINK_NETIR_ERROR | 정보 | NVLINK: NETIR Error | | 150 | NVLINK_MSE_ERROR | 정보 | NVLINK: MSE Error | | 151 | ROBUST_CHANNEL_KEY_ROTATION_ERROR | 경고 | Key rotation Error | | 152 | ROBUST_CHANNEL_DLA_SMMU_ERROR | 정보 | DLA SMMU Error | | 153 | ROBUST_CHANNEL_DLA_TIMEOUT | 정보 | DLA timeout Error | | 154 | GPU_RECOVERY_ACTION_CHANGED | 정보 | GPU Recovery Action Changed | | 155 | NVLINK_SW_DEFINED_ERROR | 정보 | NVLINK: SW Defined Error | | 156 | RESOURCE_RETIREMENT_EVENT | 정보 | Resource Retirement Event | | 157 | RESOURCE_RETIREMENT_FAILURE | 정보 | Resource Retirement Failure | | 158 | GPU_FATAL_TIMEOUT | 정보 | GPU Fatal Timeout | | 159 | ROBUST_CHANNEL_CHI_NON_DATA_ERROR | 경고 | CHI Non-Data Error | | 160 | CHANNEL_RETIREMENT_EVENT | 정보 | Channel Retirement Event | | 161 | CHANNEL_RETIREMENT_FAILURE | 정보 | Channel Retirement Failure | | 162 | PSHC_REENGAGED | 정보 | Power Smoothing HW Circuitry capability reengaged | | 163 | PSHC_DISENGAGED | 정보 | Power Smoothing HW Circuitry capability disengaged | | 164 | PSHC_LOW_LIFETIME | 정보 | Power Smoothing HW Circuitry low lifetime reached | | 165 | PSHC_ZERO_LIFETIME | 정보 | Power Smoothing HW Circuitry lifetime exhausted | | 166 | NVLINK_SECURE_CRYPTO_ERR | 정보 | CC traffic seen prior to link properly being configured for encrypted traffic | | 167 | PCIE_FATAL_TIMEOUT | 정보 | PCIE_FATAL_TIMEOUT | | 168 | REDUCED_GPU_MEMORY_CAPACITY | 정보 | Errors found in WPR (write protected region) | | 169 | SEC2_HALT_ERROR | 정보 | Internal micro-controller halt | | 170 | NVLINK_SECURE_OTHER | 정보 | Interrupt seen in CC mode | | 171 | UNCORRECTABLE_DRAM_ERROR | 정보 | Additional to Xid 48 providing more details on particulars of fault to differentiate DRAM/SRAM | | 172 | UNCORRECTABLE_SRAM_ERROR | 정보 | Additional to Xid 48 providing more details on particulars of fault to differentiate DRAM/SRAM |