VirtualBox have BUG?

Discussions related to using VirtualBox on other (unsupported) hosts like FreeBSD.
Post Reply
MeiVi
Posts: 5
Joined: 25. Jul 2024, 02:14

VirtualBox have BUG?

Post by MeiVi »

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.
klaus
Oracle Corporation
Posts: 1406
Joined: 10. May 2007, 14:57

Re: VirtualBox have BUG?

Post by klaus »

Impossible to say without knowing in detail what your apparently custom OS is doing.
MeiVi
Posts: 5
Joined: 25. Jul 2024, 02:14

Re: VirtualBox have BUG?

Post by MeiVi »

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.
klaus
Oracle Corporation
Posts: 1406
Joined: 10. May 2007, 14:57

Re: VirtualBox have BUG?

Post by klaus »

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.
MeiVi
Posts: 5
Joined: 25. Jul 2024, 02:14

Re: VirtualBox have BUG?

Post by MeiVi »

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:

Code: Select all

L2[0] = 0x00000083;
L2[1] = 0x40000083;
L2[2] = 0x80000083;
L2[3] = 0xC0000083;
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
Attachments
VBox.log
(251.12 KiB) Downloaded 63 times
granada29
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?

Post by granada29 »

A couple of things:

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
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.

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)
MeiVi
Posts: 5
Joined: 25. Jul 2024, 02:14

Re: VirtualBox have BUG?

Post by MeiVi »

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.
Attachments
VBox.zip
(155.82 KiB) Downloaded 75 times
MeiVi
Posts: 5
Joined: 25. Jul 2024, 02:14

Re: VirtualBox have BUG?

Post by MeiVi »

So can you guys fix this bug?
multiOS
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?

Post by multiOS »

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:
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
and later, following some attempts to reset the VM screen:
00: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
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=99390

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.
Post Reply