Page 1 of 1

VirtualBox memory leak (#18640)

Posted: 13. May 2019, 09:10
by supsup

ModEdit; related ticket: #18640: xoBV tag memory leak
When I run Win10 as Guest on Win10 ас host, I can see the memory leak.
xoBV tag started to consume all memory by slowly growing up. At least thats what poolmon is showing me.
I use latest VirtualBox version, which is 6.0.6 r130049 (Qt5.6.2)
Have 16GB of memory and it takes xoBV a few days to fill the memory with Modified memory that never gets written to disk according to the task manager. Currently the modified memory is 3GB+ and growing.
If I do not starting VirtualBox, no xoBV tag is running and the PC works normally.
Tried to search the problem, but was unable to find an answer.
Any help how to solve this?

Re: VirtualBox memory leak

Posted: 13. May 2019, 09:13
by mpack
That doesn't sound like a memory leak, it sounds like disk sectors are being cached. That memory will be freed if anything needs it.

Btw, this has been discussed a bazillion times already. Please search for previous discussions before posting.

Re: VirtualBox memory leak

Posted: 13. May 2019, 09:17
by supsup
Unfortunately this is not the case, as the memory is never freed. After all memory is consumed by the xoBV tag, VirtualBox is crashing with some error

Re: VirtualBox memory leak

Posted: 13. May 2019, 18:47
by mpack
I'm afraid that "some error" isn't going to get us very far. Precision please.

Btw, I'm not aware that anyone else is reporting this problem, even though some users are running servers that run indefinitely. So if you really have a problem I'm not convinced that VirtualBox is the cause.

Btw, I'm not familiar with Poolmon, but I assume that whomever allocates kernel memory must tag it so you can identify who the culprit is. Can you point me to documentation which says that VirtualBox uses the "xoBV" tag?

Re: VirtualBox memory leak

Posted: 13. May 2019, 19:31
by supsup
I'm afraid that "some error" isn't going to get us very far. Precision please.
Unfortunately, can not tell you exact error message, as I need to wait until all the memory will be consumed by this xoBV tag and VirtualBox will quit with the error. But once it happens, I will report here.
Btw, I'm not aware that anyone else is reporting this problem, even though some users are running servers that run indefinitely.
Yes, you right, I searched the internet too, but could not find anyone with the exactly same problem, however, I have it!
So if you really have a problem I'm not convinced that VirtualBox is the cause.
Can you point me to documentation which says that VirtualBox uses the "xoBV" tag?
It's quite hard to find exact documentation saying the "xoBV" tag is part of the VirtualBox, however, if you google xoBV and add "VirtualBox" - you can find lots of links showing IT IS a part of the VirtualBox. Also, xoBV tag is running right once VirtualBox is started, so the only logical conclusion is - this is the part of VirtualBox package.
Btw, I'm not familiar with Poolmon, but I assume that whomever allocates kernel memory must tag it so you can identify who the culprit is.
I can not post links yet, as I'm just registered and not allowed to post URLs, but PoolMon is a very common utility to find memory leaks. Its part of Windows Driver Kit (WDK).
By googling "poolmon memory leak" you can find instantly lots of different links about it. This is highly recommended tool by many researchers to find memory leaks.

Btw, thanks for your replies and the intention to help. Appreciate that!

Re: VirtualBox memory leak

Posted: 14. May 2019, 08:51
by supsup
Some updates to prove the xoBV is a part of the VirtualBox.
I run such command:
findstr /m /l /s xoBV %Systemroot%\System32\drivers\*.sys
Results: C:\WINDOWS\System32\drivers\VBoxDrv.sys
Now I run sigcheck (which is a part of sysinternals). Here are results:
sigcheck64 C:\Windows\System32\drivers\VBoxDrv.sys

Sigcheck v2.72 - File version and signature viewer
Copyright (C) 2004-2019 Mark Russinovich

c:\windows\system32\drivers\VBoxDrv.sys:
        Verified:       Signed
        Signing date:   12:52 16-Apr-19
        Publisher:      Oracle Corporation
        Company:        Oracle Corporation
        Description:    VirtualBox Support Driver
        Product:        Oracle VM VirtualBox
        Prod version:   6.0.6.130049
        File version:   6.0.6.130049
        MachineType:    64-bit
So now we can see that xoBV is definitely a part of the VirtualBox and VBoxDrv.sys have some memory leak. Its seems not so common for others people as I can not find complains. But I went that far to detect the problem. Any thoughts?

Re: VirtualBox memory leak

Posted: 14. May 2019, 09:37
by mpack
I think it would be best if you raised a BugTracker ticket for this. Provide a zipped log file and a link to this discussion.

Re: VirtualBox memory leak

Posted: 14. May 2019, 15:53
by supsup
Yeah, this is what I already did: https://www.virtualbox.org/ticket/18640
Anyway, thanks for the help!

Re: VirtualBox memory leak (#18640)

Posted: 28. Jun 2019, 00:25
by bugguru
Running poolmon.exe seems to indicate there are a very high number of allocations and frees for xoBV compared to other things using memory (the first 4 columns), but the overall bytes do not appear to be increasing in numbers indicating any kind of memory leak.

Re: VirtualBox memory leak (#18640)

Posted: 21. Aug 2019, 09:37
by superme
After many months and reports the problem is still not fixed....unfortunately.

Re: VirtualBox memory leak (#18640)

Posted: 21. Aug 2019, 11:52
by mpack
After all these months I finally noticed that xoBV is "VBox" backwards. I guess that is strong evidence of VBox involvement after all. :) (and I guess the tag works like a fourcc code).

Anyway I agree with responses in the ticket, I see the memory being allocated and deallocated, the braces all seem to be in the right place, there are no early aborts. The only think I can think of is that something else bumps the reference count on that block of memory, causing the deallocation to be ignored - and I'm not sure that's even how kernel allocations work. In that case the culprit needn't be part of VirtualBox, e.g. it could be some kind of I/O snooping tool.