Opened 11 years ago
Closed 8 years ago
#11936 closed defect (obsolete)
Large USB transfers never finish
Reported by: | sl4mmy | Owned by: | |
---|---|---|---|
Component: | USB | Version: | VirtualBox 4.2.16 |
Keywords: | iphone itunes usb hang | Cc: | |
Guest type: | Windows | Host type: | Linux |
Description
TL;DR - I believe there is a bug in VirtualBox's USB system that causes large transfers to timeout in multiproc guests running on hosts with multiple NUMA nodes.
I sync my iPhone with iTunes running in a Windows XP guest. That guest is configured with two CPUs.
A long time ago (circa VirtualBox 4.0) everything worked fine, but somewhere along the way something changed such that I could no longer backup or sync my iPhone. The backup or sync would start and run for a while, but eventually the process would stop making progress (the iTunes progress bar never moved). I observed that when the backup or sync first started the red "activity dot" on the USB cable icon in the VirtualBox toolbar was constantly on, and at the point when progress stopped the red dot also stopped and would only flash periodically.
I was able to work-around this problem by changing my guest to only have one CPU. With that change every backup and sync completed successfully.
During the course of troubleshooting #11610 I noticed that if I used numactl on my host to bind VirtualBox to a single NUMA node (e.g. numactl --cpunodebind=0 --localalloc -- /opt/VirtualBox/VirtualBox) then my iPhone backups and syncs worked just fine even when the guest was configured with two CPUs. However, when testing VirtualBox 4.2.16 without the numactl hack to confirm that #11610 was indeed fixed I noticed that my iPhone backups started hanging again when the guest is configured with more than one CPU.
Once again I'm working around the problem by configuring my guest with only one CPU, but based on Frank's comments in the discussion of #11610 (https://www.virtualbox.org/ticket/11610#comment:54 and https://www.virtualbox.org/ticket/11610#comment:55) I wanted to document this issue for the VirtualBox team's future NUMA refactoring. :)
Please reopen if still relevant with a recent VirtualBox release.