VirtualBox

Opened 8 years ago

Last modified 6 years ago

#14923 new defect

`guestcontrol run` memory leak in host

Reported by: iano Owned by:
Component: guest control Version: VirtualBox 5.0.10
Keywords: Memory, leak Cc:
Guest type: Windows Host type: Linux

Description

#14850 is the only other open memory leak I can find. That looks like a guest side leak associated with disk IO, but this is a host side leak associated with vboxmanage <name> guestcontrol run

I'm running an Ubuntu host, and a Windows 7 (all updates installed) guest. The guest is given 1 CPU and 2GB of RAM, but I can get it to consume >8GB of RAM (enough to have the Linux OOM system kill it). I verified that the guest stabilizes at using ~650MB of RAM in this case, so the leak is definitely on the host side. To trigger the leak, I first start my VM:

ian$ vboxheadless -startvm win-7-pro-loaded-base

Then I run:

ian$ vboxmanage guestcontrol win-7-pro-loaded-base run --username administrator "C:\\Windows\\System32\\ping.exe" -- "-t" "localhost" 2>&1

You can accelerate the leak by running many of the vboxmanage commands in parallel. With 6 running, the vboxheadless process went from using 3GB to 5GB (RES in htop) RAM in 12 minutes.

Attached are the VBox.log from one occassion of running this, along with an image of vboxheadless memory use over time with 6 vboxmanage commands running, and an image of the stabilized guest memory.

I also attached a zip of running:

sudo strace -i -ff -p <vboxheadless first thread PID> -o strace_output/strace

for a few minutes while the 6 vboxmanage commands were running.

Let me know if there's more information I can supply, or if you'd like me to try anything. I started along the path of building and running virtualbox from source so I could poke around, but I'm having a few issues.

Thanks in advance for all of your help!

Attachments (4)

vboxheadless_pinging-localhost-with-guestcontrol-run_VBox.log (67.6 KB ) - added by iano 8 years ago.
VBox.log
host_memory_skyrockets.png (25.7 KB ) - added by iano 8 years ago.
Plot of host vboxheadless memory usage over time. Total memory is 18GB, so in 15 minutes about 2.5GB are consumed. This continues on until OOM kicks in.
guest_memory_stabilized.png (37.9 KB ) - added by iano 8 years ago.
Guest memory stabilized after a few minutes
vboxheadless_24GVirt+15GReal.png (7.5 KB ) - added by iano 8 years ago.
htop of vboxheadless using 24G Virtual + 15G Real memory as a result of this bug

Download all attachments as: .zip

Change History (11)

by iano, 8 years ago

Attachment: host_memory_skyrockets.png added

Plot of host vboxheadless memory usage over time. Total memory is 18GB, so in 15 minutes about 2.5GB are consumed. This continues on until OOM kicks in.

by iano, 8 years ago

Attachment: guest_memory_stabilized.png added

Guest memory stabilized after a few minutes

comment:1 by iano, 8 years ago

My strace .zip is too large (11MB) to attach, so here's a link: https://drive.google.com/file/d/0B5Pxwih4KbQmTDZEbmZWNFhQNHc/view?usp=sharing

comment:2 by iano, 8 years ago

I can replicate this with virtualbox-5.0_5.0.10-104061-Ubuntu-precise_amd64.deb and the testing build VirtualBox-5.0.11-104602-Linux_amd64.run

comment:3 by iano, 8 years ago

I left the same VM running over the weekend without any vboxmanage guestcontrol ... run running, and it stays steady at 12.6 MEM% (RES=2204MB) in the host.

comment:4 by iano, 8 years ago

I can get this to occur with virtualbox-5.0_5.0.0-101573-Ubuntu-trusty_amd64.deb as well. It seems considerably worse in that version: after 25 minutes of 6x ping.exe running via guestcontrol ... run, vboxheadless consumes 7GB of RAM in the host.

comment:5 by iano, 8 years ago

I have virtualbox building, so I'm attempting to track this down on my own. I can't help but think it's something around memory allocation for STDOUT pumping, but I'm not familiar with the code base so it's slow moving.

Is there more information I can give to you that will help this ticket get noticed and make it easier to act on? Let me know!

by iano, 8 years ago

htop of vboxheadless using 24G Virtual + 15G Real memory as a result of this bug

comment:6 by pentagonik, 6 years ago

Can you please retry with latest 5.2.18 and check if the issue still persists? Thanks

comment:7 by Socratis, 6 years ago

pentagonik, don't you mean the latest test build? The 5.2.18 release didn't contain the fixes, it needs GAs r124533 or later.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use