Does virtualbox have bugs? Because when I access the memory that is already mapped, there is a PageFault.
I mapped low 4G physical memory to low 4G linear address space, but when I access the data of AHCI, I will get a PageFault.
VirtualBox have BUG?
Re: VirtualBox have BUG?
Impossible to say without knowing in detail what your apparently custom OS is doing.
Re: VirtualBox have BUG?
That is what i am doing.
I mapped low 4G physical memory to low 4G linear address space, and only mapped those memories.
Then when I access the data of the AHCI controller, the virtual machine crashes and the address I access is 0xE1404000.
The reason I'm seeing the crash in the log is that VERR_PAGE_TABLE_NOT_PRESENT is generated.
I set the VM type to Other and the version to Other/Unknown 64-bit, and add a virtual hard disk (VHD) to a AHCI controller.
I mapped low 4G physical memory to low 4G linear address space, and only mapped those memories.
Then when I access the data of the AHCI controller, the virtual machine crashes and the address I access is 0xE1404000.
The reason I'm seeing the crash in the log is that VERR_PAGE_TABLE_NOT_PRESENT is generated.
I set the VM type to Other and the version to Other/Unknown 64-bit, and add a virtual hard disk (VHD) to a AHCI controller.
Re: VirtualBox have BUG?
Useful extra words but still far from what I'd call "details". An 1:1 identity mapping can be done in many ways, and you're not saying what's exactly in the page tables. Additionally (because it's clearly stated in the forum posting guide that it's vital information) I'd have hoped to get at least a VBox.log file showing the error.
Re: VirtualBox have BUG?
It is very easy.
First, I used a 4K page with a physical address of 0x00100000 as variable 'L1', and memset it to 0.
And then, I used a 4K page with a physical address of 0x00101000 as variable 'L2', and memset it to 0.
Then, i set L1[0] to L2 bitwise or 3, it is, L1[0] = (L2 | 0x03).
And finally, i used four 1G page to mapping low 4G physical memory, it is:
and write L1 to CR3.
This looks exactly right, but VERR_PAGE_TABLE_NOT_PRESENT get when I access the address 0xE1404000.
The last log file is
First, I used a 4K page with a physical address of 0x00100000 as variable 'L1', and memset it to 0.
And then, I used a 4K page with a physical address of 0x00101000 as variable 'L2', and memset it to 0.
Then, i set L1[0] to L2 bitwise or 3, it is, L1[0] = (L2 | 0x03).
And finally, i used four 1G page to mapping low 4G physical memory, it is:
Code: Select all
L2[0] = 0x00000083;
L2[1] = 0x40000083;
L2[2] = 0x80000083;
L2[3] = 0xC0000083;
This looks exactly right, but VERR_PAGE_TABLE_NOT_PRESENT get when I access the address 0xE1404000.
The last log file is
- Attachments
-
- VBox.log
- (251.12 KiB) Downloaded 63 times
-
- Volunteer
- Posts: 771
- Joined: 3. Mar 2015, 07:27
- Primary OS: Mac OS X other
- VBox Version: OSE other
- Guest OSses: Linux, macOS, Windows
Re: VirtualBox have BUG?
A couple of things:
1. You are running an unsupported version of VirtualBox. You should upgrade to VirtualBox 7.0.20.
2. Your VM memory is oversubscribed. Free some RAM in the host OS (i.e close browser, email etc) or allocate less to the VM.
1. You are running an unsupported version of VirtualBox. You should upgrade to VirtualBox 7.0.20.
Code: Select all
00:00:03.114165 VirtualBox VM 6.1.50 r161033 win.amd64 (Jan 11 2024 13:01:44) release log
Code: Select all
00:00:03.189428 Host RAM: 16207MB (15.8GB) total, 8075MB (7.8GB) available
00:00:03.481208 RamSize <integer> = 0x0000000200000000 (8 589 934 592, 8 192 MB, 8.0 GB)
Re: VirtualBox have BUG?
I tried:
1. Reduce the vm ram size to 4096MB, and crashed caused by VERR_PAGE_TABLE_NOT_PRESENT, got VBox1.log
2. Update VirtualBox to 7.0.20 (latest), and crashed caused by VERR_PAGE_TABLE_NOT_PRESENT, got VBox2.log
3. Install "VirtualBox 7.0.20 Oracle VirtualBox Extension Pack", and crashed caused by VERR_PAGE_TABLE_NOT_PRESENT, got VBox3.log
The VM RAM size for all three attempts was 4096MB.
Since the files were too large to upload, I packaged them as a zip file.
1. Reduce the vm ram size to 4096MB, and crashed caused by VERR_PAGE_TABLE_NOT_PRESENT, got VBox1.log
2. Update VirtualBox to 7.0.20 (latest), and crashed caused by VERR_PAGE_TABLE_NOT_PRESENT, got VBox2.log
3. Install "VirtualBox 7.0.20 Oracle VirtualBox Extension Pack", and crashed caused by VERR_PAGE_TABLE_NOT_PRESENT, got VBox3.log
The VM RAM size for all three attempts was 4096MB.
Since the files were too large to upload, I packaged them as a zip file.
- Attachments
-
- VBox.zip
- (155.82 KiB) Downloaded 75 times
Re: VirtualBox have BUG?
So can you guys fix this bug?
-
- Volunteer
- Posts: 1258
- Joined: 14. Sep 2019, 16:51
- Primary OS: Mac OS X other
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Windows, Linux, BSD
- Location: United Kingdom
Re: VirtualBox have BUG?
First, this is a VirtualBox User Forum, i.e. User to User 'self-help' not an official support channel. And before considering possible VirtualBox 'bugs' you need to provide evidence that this Strawberry-OS" you are attempting to virtualise does actually install and run successfully on real x86 hardware and what hardware spec. it requires. As you are attempting to virtualise an OS not on the officially supported list, without more information other interested forum users aren't likely to be able to offer much help.
However, there are some issues identified in the VBox3.log. starting with:
The 'Guru Meditation - Triple Fault' message suggests that there is 'something seriously amiss' with the VM's OS and/or its configuration that VirtualBox is unable to understand/resolve.
However, there are some issues identified in the VBox3.log. starting with:
and later, following some attempts to reset the VM screen:00:00:05.835413 HM: HMR3Init: Attempting fall back to NEM: VT-x is not available
00:00:05.920019 NEM: info: Found optional import WinHvPlatform.dll!WHvQueryGpaRangeDirtyBitmap.
00:00:05.920159 NEM: WHvCapabilityCodeHypervisorPresent is TRUE, so this might work...
00:00:05.920165 NEM: WHvCapabilityCodeExtendedVmExits = 0x0000000000007fff
00:00:05.920169 NEM: fExtendedMsrExit: 1
00:00:05.920172 NEM: fExtendedCpuIdExit: 1
00:00:05.920175 NEM: fExtendedXcptExit: 1
00:00:05.920178 NEM: Warning! Unknown VM exit definitions: 0x7fff
00:00:05.920181 NEM: Warning! Unknown feature definitions: 0x2ff
...
00:00:05.920366 NEM: Warning! Unknown CPU features: 0x1819f8cfe7f7859f
...
00:00:05.921435 NEM: NEMR3Init: Active.
00:00:05.921445 MM: cbHyperHeap=0x200000 (2097152)
00:00:05.922885 CPUM: No hardware-virtualization capability detected
...
00:00:07.497422 NEM: NEMR3Init: Snail execution mode is active!
00:00:07.497423 NEM: Note! VirtualBox is not able to run at its full potential in this execution mode.
00:00:07.497423 NEM: To see VirtualBox run at max speed you need to disable all Windows features
00:00:07.497423 NEM: making use of Hyper-V. That is a moving target, so google how and carefully
00:00:07.497423 NEM: consider the consequences of disabling these features.
00:00:07.497423 NEM:
00:00:07.497445 CPUM: No hardware-virtualization capability detected
There is more information on handling the on the 'Attempting fall back to NEM' issue can be found in the VirtualBox User Manual; and also in this Forum Guide: viewtopic.php?t=9939000:00:08.151253 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
00:00:08.151254 !!
00:00:08.151254 !! VCPU0: Guru Meditation 1155 (VINF_EM_TRIPLE_FAULT)
00:00:08.151282 !!
00:00:08.151287 !! Skipping ring-0 registers and stack, rcErr=VINF_EM_TRIPLE_FAULT
00:00:08.151290 !!
00:00:08.151290 !! {mappings, <NULL>}
00:00:08.151291 !!
00:00:08.151300 !!
00:00:08.151301 !! {hma, <NULL>}
00:00:08.151301 !!
00:00:08.151302 Hypervisor Memory Area (HMA) Layout: Base 00000000a0000000, 0x02800000 bytes
00:00:08.151305 00000000a108f000-00000000a109d000 000000000b790000 ffffd107661f1000 LOCKED alloc once (VMM)
00:00:08.151310 00000000a0290000-00000000a108f000 000000000a680000 ffffbdfe36e00000 LOCKED alloc once (PGM_PHYS)
00:00:08.151313 00000000a0225000-00000000a0290000 000000000a470000 ffffd10769e53000 LOCKED alloc once (PGM_POOL)
00:00:08.151316 00000000a0224000-00000000a0225000 00000000053f0000 ffffd107620e3000 LOCKED alloc once (CPUM_CTX)
00:00:08.151319 00000000a0024000-00000000a0224000 000000000a240000 ffffbdfe36a00000 LOCKED Heap
00:00:08.151322 00000000a000f000-00000000a0024000 0000000005390000 ffffd107625d3000 LOCKED VMCPU
00:00:08.151324 00000000a0000000-00000000a000f000 0000000005380000 ffffd107625c2000 LOCKED
The 'Guru Meditation - Triple Fault' message suggests that there is 'something seriously amiss' with the VM's OS and/or its configuration that VirtualBox is unable to understand/resolve.