가끔 다음과 같은 오류 로그가 표시됩니다.
https://bugzilla.redhat.com/show_bug.cgi?id=1641402
!!!! X64 Exception Type - 0D(#GP - General Protection) CPU Apic ID - 00000000 !!!!
ExceptionData - 0000000000000000
RIP - 00000000BFF8E976, CS - 0000000000000038, RFLAGS - 0000000000210202
RAX - 0000000000000001, RCX - 0000000000000010, RDX - AFAFAFAFAFAFAFA7
RBX - 0000000000000020, RSP - 00000000BFF7EF60, RBP - 00000000BEC00F98
RSI - AFAFAFAFAFAFAFAF, RDI - 00000000BFFA1720
R8 - 0000000000000000, R9 - 0000000000000028, R10 - 0000000000000020
R11 - 0000000000000002, R12 - 00000000BED0E618, R13 - 00000000BED0E818
R14 - 00000000BFF7F038, R15 - 00000000BED0E658
DS - 0000000000000030, ES - 0000000000000030, FS - 0000000000000030
GS - 0000000000000030, SS - 0000000000000030
CR0 - 0000000080010033, CR2 - 0000000000000000, CR3 - 00000000BFC01000
CR4 - 0000000000000668, CR8 - 0000000000000000
DR0 - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
DR3 - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
GDTR - 00000000BFBEE698 0000000000000047, LDTR - 0000000000000000
IDTR - 00000000BF1B2018 0000000000000FFF, TR - 0000000000000000
OS 정지 문제입니까, 아니면 하드웨어 정지 문제입니까?
답변1
일반 보호 결함 일반 보호 결함은 여러 가지 이유로 발생할 수 있습니다. 가장 일반적인 것은 다음과 같습니다.
분할 오류(권한, 유형, 제한, 읽기/쓰기 권한) CPL != 0일 때 특권 명령어를 실행합니다. 예약된 레지스터 필드에 1 또는 잘못된 값 조합(예: PE=0 및 PG=1인 CR0)을 씁니다. null 설명자를 참조하거나 액세스합니다. 저장된 명령어 포인터는 예외를 발생시킨 명령어를 가리킵니다.