Crash when kernel is compiled in debug mode
Created by: ids1024
MemoryArea { base_addr: 0, length: 654336, _type: 1, acpi: 0 }
MemoryArea { base_addr: 654336, length: 1024, _type: 2, acpi: 0 }
MemoryArea { base_addr: 983040, length: 65536, _type: 2, acpi: 0 }
MemoryArea { base_addr: 1048576, length: 1072553984, _type: 1, acpi: 0 }
MemoryArea { base_addr: 1073602560, length: 139264, _type: 2, acpi: 0 }
MemoryArea { base_addr: 2952790016, length: 268435456, _type: 2, acpi: 0 }
MemoryArea { base_addr: 4275159040, length: 16384, _type: 2, acpi: 0 }
MemoryArea { base_addr: 4278173696, length: 16384, _type: 2, acpi: 0 }
MemoryArea { base_addr: 4294705152, length: 262144, _type: 2, acpi: 0 }
RSDT:
FACP: 3FFE0040
DSDT: 8031
APIC: FEE00000: 1
X2APIC 0
HPET: Unknown
MCFG: Unknown
BSP: Ok(ContextId(1)) 1
PANIC: attempt to subtract with overflow
FILE: kernel/src/context/memory.rs
LINE: 247
TRACE: FFFFFF400000D820
FFFFFF400000D820: FFFFFF000015B89B
FFFFFF400000DB90: FFFFFF00001081D3
FFFFFF400000DC40: FFFFFF0000107F83
FFFFFF400000DD00: FFFFFF0000157D94
FFFFFF400000DDE0: FFFFFF0000159E70
FFFFFF400000DFF0: FFFFFF000013C7FD
FFFFFF400000E160: FFFFFF000013FD58
FFFFFF400000E1E0: FFFFFF000013EFF9
FFFFFF400000E330: FFFFFF00001924B0
FFFFFF4000010070: FFFFFF000016F3F6
FFFFFF4000010F40: FFFFFF000014B27F
FFFFFF4000010FA0: FFFFFF000014B21D
00000180000FF5F0: GUARD PAGE
HALT
It appears to be subtracting an unsigned integer from a smaller unsigned integer. This issue does not appear in the --release
build since the check is disabled when compiling with optimization.