Hacker News new | past | comments | ask | show | jobs | submit login
VirtualBox is garbage (lkml.org)
101 points by hbrouwer on Oct 7, 2011 | hide | past | favorite | 96 comments



The content of the article which does not work for most of HN.

    Enter your search termsSubmit search formWeblkml.org
    Date	Thu, 6 Oct 2011 15:05:27 -0400
    From	Dave Jones <>
    Subject	RFC: virtualbox tainting.
    The number of bug reports we get from people with virtualbox loaded are
    truly astonishing.  It's GPL, but sadly that doesn't mean it's good.
    Nearly all of these bugs look like random corruption. (corrupt linked lists,
    corrupt page tables, and just plain 'weird' crashes).

    This diff adds tainting to the module loader to treat it as we do with stuff
    from staging/ (crap). With this tainting in place, automatic bug filing tools
    can opt out of automatically filing kernel bugs, and inform the user to file
    bugs somewhere more appropriate.

    Signed-off-by: Dave Jones <davej@redhat.com>

    diff --git a/kernel/module.c b/kernel/module.c
    index 04379f92..d26c9a3 100644
    --- a/kernel/module.c
    +++ b/kernel/module.c
    @@ -2653,6 +2653,10 @@ static int check_module_license_and_versions(struct module *mod)
        if (strcmp(mod->name, "ndiswrapper") == 0)
            add_taint(TAINT_PROPRIETARY_MODULE);
     
    +	/* vbox is garbage. */
    +	if (strcmp(mod->name, "vboxdrv") == 0)
    +		add_taint(TAINT_CRAP);
    +
        /* driverloader was caught wrongly pretending to be under GPL */
        if (strcmp(mod->name, "driverloader") == 0)
            add_taint_module(mod, TAINT_PROPRIETARY_MODULE);


Honest question: is a strcmp really the best way there is to test for specific kernel modules?


What's wrong with it?


strcmp (and many other string routines like strlen, strcpy) relies on strings being null terminated. Safe versions (strncmp, strnlen, strncpy) have a parameter for maximum string length.

I am pretty sure that in this particular case it is not passed any user input, so it's kinda safe.


In this case it should be fine because the second argument is a string literal (guaranteed to be null-terminated) and the function doesn't continue past the end of the first null-terminated string.


Would be a pretty neat exploit to buffer overflow someone's actual kernel via a carefully constructed module name, though.


A neat hack, yes...but probably not worthwhile from the perspective of an actual attacker (if you've got permissions to load a kernel module, you could just load one of your own crafting to do whatever nefarious things you wanted directly).


If you haven't validated or ensured that your string is a string you've already lost.


Good as any for their use. Follow that the thread on lkml (there is a gmane link in the comments here somewhere) for more discussion on identifying taint-introducing modules.


Seems reasonable to use strcmp to compare two strings.


funny is how they bitch about virtualbox and then their own dam site is down at the same time. A bit of the pot calling the kettle black?


Virtualbox works fine for me. Though I only use it to run Windows XP so I'm probably not a demanding customer, but calling it garbage is kind of over-the top. It's very useful for me for running some windows-only software that refuses to work in Wine, and to test my sw on windows without having to reboot...


Virtualbox works fine for you (And me too, apparently). But it visibly does not for many, as vboxdrv makes things crash in such volume that it spams bug reporting databases enough for someone to be pissed out enough by that fact to put together a patch containing creative names. Also enough (yet probably not vbox specific but it sure masks vboxdrv data) that Debian, Suse and RHEL took proactive measures to flag all out of tree modules.


I agree, I run XP and Vista under Virtualbox for testing websites, plus Debian for when I want to guarantee a clean development environment. I've never had any problems, other than with some Windows games which can't detect the CD drive because they assume it will be at D:\


I run windows 7 with Aero effects enabled

Virtualbox is wonderful. Does it have bugs and need work? Of course.

What software doesn't?


kvm, for one. Not quite as featureful, and the UI is a command line (though there's the virt manager stuff that I haven't tried). But it's rock solid virtualization that never gives me problems.

I think people are misunderstanding this thread. This is a kernel developers thread, where Dave Jones is complaining that virtualbox is the source of too much random corruption and arbitrary crashes in the kernel, and he's submitting a patch that "taints" the module such the presence of virtualbox gets flagged in kernel panics (and thus automated bug reports, etc..).

It's unstable software, and that taint is important information that prevents people from wasting effort chasing non-bugs in other components. No one is flaming about it vs. vmware or whatever, or telling you what to use.


>"No one is flaming about it vs. vmware or whatever, or telling you what to use."

Well saying virtualbox is garbage is pretty much flaming. It doesn't bother me but I imagine those working on virtualbox won't exactly be happy about it.


All the more motivation for them to fix the bugs, no?


Depends on their personalities.

Often just calling stuff people are giving away for free "rubbish" will lead them to simply stop giving it away.


"kvm, for one."

Surely you're not saying KVM is bug free? Looks like it. That's almost certainly wrong.


kvm is very high quality. When the SmartOS developers ported it to the OpenIndiana (or is it IllumOS? the naming is a joke) kernel, they found almost no bugs in kvm. Porting usually exposes bugs.


I am surely not saying kvm is bug free. I am, however, saying it's much better than virtualbox.


No it's not. It has its own set of problems. And bugs too! KVM has its pluses too, I agree, it's a VMM in kernel mode which apparently makes it faster, it is very non-intrusive to the rest of the kernel and hence got readily accepted upstream and so some might argue in that sense that it's better. But even though I have been hacking into KVM recently, for running a VM at home on my laptop/PC, I will always opt for VirtualBox for its simple ease of usage.


Can you give a few reasons from your own experience? I found it much, much easier to get Windows XP sound and USB passthrough working in virtualbox than in kvm.


I recently switched from VMWare to Virtualbox because i was sick of finding patches for VMWare kernel modules everytime there is a new kernel version out. I had some major bugs on VMWare too, usually. Either some keys stopped working (in the host system!) or the VM crashed completely.. I used Virtualbox only for a few hours but it didn't have any hickups so far.

Unfortunately i can't read the article either..


That's the mailinglist entry:

http://pastebin.com/WiVPiMgp


Potentially easier link to read, in terms of the threading:

http://thread.gmane.org/gmane.linux.kernel/1200194


There are many voices in defense of VirtualBox in this thread already, but I will still add mine, because VirtualBox has been a great tool for me and I feel it deserves to be defended. For the last three years I use Virtualbox to run Windows and Linux VMs on a Linux host. Other than a handful of weird hickups of Windows XP guests, which can probably be attributed to the guest OS, I did not run into any major problems in what must be thousands of hours of guest and hypervisor uptime.

VMware Workstation, OTOH, crashed my host(!) system hard several times, which actually drove me to Virtualbox in the first place. Granted, that was three years ago, but I did not have any reason to give VMware Workstation another try, as Virtualbox works very well for me.


The link in the parent is https, try this regular http link if you can't read the article:

http://lkml.org/lkml/2011/10/6/317




Thank you SIR!


A slightly less caustic way of saying it would be to say that bug reports from things running on virtual box are garbage.


I read it as being that the hosts themselves are the ones generating garbage bug reports, rather than the virtualized OS's?

Otherwise, yours would be a much better title for this.


[deleted]


I thought vboxdrv, which is listed in the bug reports, is the host machine process??

I can certainly be wrong about this...


Whoops, I guess you're right. Never mind.


Although I am a heavy VirtualBox-user (vagrant is just too good), I can relate to this.

The only reason why my machine ever panicks is exactly the one cited in this mail: vboxdrv.



It's an extremely complex piece of software that's free. I'm thankful to have it available and find it to work well.


I have used VirtualBox on a linux host with WinXP as the client operating system for about three years, every day. I depend on it for work and have found it to be rock-solid and completely dependable. I really appreciate the contributors to the project. They deserve some love!


Same anecdote: fulltime dev for 3 years using multiple windows guests on Linux host running Vbox (only switching to host occasionally). Linux box never crashes. I and a coworker (using windows on windows 95% of time in guest) love VirtualBox.

But no arguments if those with real data flag driver as SHIT - a crash rate of o. I am just thankful that I have never had any crashes.


Same anecdote: fulltime dev for 3 years using multiple windows guests on Linux host running Vbox (only switching to host occasionally). Linux box never crashes. I and a coworker (using windows on windows 95% of time in guest) love VirtualBox.

But no arguments if those with real data flag driver as SHIT. I am just thankful that I have never had any crashes.


VirtualBox is a fantastic piece of software. Just because it's not perfect, doesn't mean it's garbage. Far from it.


The VirtualBox software (as in the UI, etc) is great, however this article/mail listing is discussing the 'vboxdrv' Linux kernel module, which is a source of a large number of bug reports to the Linux kernel project.


Maybe there are so many bug reports because so many people use it?


Maybe you should read the article to learn what he specific issue being discussed is.


"Garbage" is programmer speak for "has some serious bugs that need attention before it can be considered high-quality software".


I've had quite a few issues with it.

1. Copy + paste randomly breaks between host win32, client ubuntu32.

2. Random freezes every so often.

3. Seamless mode extremely unreliable, does not draw correctly.

4. Horrible issues with shared folders breaking io operations. I actually got a (trivial) patch into golang to work around this issue (!). This also completely breaks ido mode completions in emacs.

5. Occasionally shared folders get into an odd state and no files can be read from/written to them.

4 + 5 might be specific to the way I use shared folders though, as I access them via a dropbox folder sat in a truecrypt volume.


I use VirtualBox to run Ubuntu 32-bit and various other Linux distros on Win7 64-bit. No Truecrypt or Dropbox is involved. I have similar occasional issues with shared folders.

Access denied randomly when trying to overwrite files. Files renamed in the host becoming inaccessible from the guest. NTFS symlinks in the host appearing as normal folders in the guest one day and as broken links the next day. Terribly slow I/O overall. I used to bookmark and keep track of several bug reports on the official bugtracker, but I gave up because nobody seemed to care.

The only reason I still use shared folders is because it's still slightly less painful than CIFS/Samba.


Hm, I've seen some really weird unicode-related corruption hitting files shared between guest and host due to (I assume) different line ending convention. Figuring out what was going on was not fun at all.


I've definately noticed number 4 and 5. For my Windows Host, Ubuntu Guest, modified files work fine, but I have to remount (or reboot) for new or moved files... It's awful and makes me mad every time, but not much I can do about it.

I use a virtual machine each for my php and django apps, and use VboxHeadlessTray to hide them in my system bar. Works great except for painful upgrades of VirtualBox in Windows, associated having to upgrade guest additions and the shared folders.


I run Ubuntu guest on a Win 7 host, and I notice 1 and 2 quite often. 4 and 5 I have NEVER hit, and yet a lot of replies to this seem to never have hit 1 or 2 and ONLY 4 and 5.

It seems to have gotten less stable for me during the 3.x to 4.x switch, but not nearly so much as to make me want to stop using it (although there are days...) It allows me to do work I wouldn't otherwise be able to easily; I freaking love it.


Yeah, VirtualBox crashes for me all the time. Does it have automatic error reporting to Oracle on why it is unstable? I would hope that these crashes are fixable.


one particular aspect of VirtualBox has pissed me off in recent days. the system-level debugger is complete trash; it totally fails to do even simple things like inserting working breakpoints. at one point I had to resort to dropping int 3s into my code wherever I thought I might eventually want a breakpoint, and even that doesn't work most of the time.

so I gave up on VirtualBox and switched to QEMU, which works significantly better.


I can't remember the last time I saw a stock Ubuntu guest crash a VM process, but VirtualBox crashed 4 times in the last 2 days.


I think I managed to crash it about ten times last sunday, doing nothing but browsing the web on a VM.


I can't remember the last time I crashed VirtualBox, browsing or not. Even with older 64-bit Flash. Only issue I recall is some snapshot breakage a while back.

Yay anecdotes.


Seconded. It's never crashed for me, I love it.


I had a lot of instability until I upgraded to a newer vm kernel.

I was on 2.6.38 fedora 64bit vm and it would crash once a day

now I am on 2.6.40 and it has been stable for 50 days


I run my startup on a MBP with multiple VMs. It's been a love/hate affair with VirtualBox, but so far I manage to live with the shortcomings. Can't argue with free. Tried Parallel early on when truly frustrated, but found it doesn't add much over VBox to justify the price. Here are a few tips that I live by:

1. Obviously, never put critical data on a VM not matter how stable it seems. Definitely have Dropbox installed.

2. Make it a good habit to pause the VM before you pack up and go or switch to a different network. When turning it back on, disconnect the network interface then reconnect.

3. When the UI freezes, you can rescue on a Mac with AppleKey+F6 (or a few other Func keys) to another tty console. Login there and reboot. After you get the VM back, VBox likes it when you do a proper reboot before you resume working.

4. Take snapshot regularly, definitely right after you just checkin a major chunk of code!


Not Garbage. Default configuration is not optimal, however.

I use it all the time on Windows XP to run Ubuntu.

Initially, I did have a few problems because I didn't have Ubuntu or Virtualbox configured correctly. Also, I wasn't using 'VBOXADDITIONS,' which actually are extremely useful and important.

Some quick googling fixed my problems, in any case and I don't have any problems with it anymore.


Except that this is a common kernel panic cause using Linux as a host machine.


Wonder if there's a selection bias here; VirtualBox may be less stable than native hardware or commercial VMs, but it's user base is also using VirtualBox for different scenarios than native users.

I know I use VirtualBox all the time to try out "risky" behaviors that often end in a crash, because I know I can just roll back if it doesn't work out.


The issue is that virtualbox is crashing the host kernel, not the guest machines. And specifically that it's polluting Red Hat's automated bug reports from those crashes, and thus wasting QA effort. Being able to filter those out by the taint mechanism in the patch is important and useful information. Read the thread, it's a technical and process discussion, not a flame.


Ah, missed that, thanks for noting. Yep, that's messed up :)


The post isn't talking about crashes within VBox, but rather vboxdrv crashing and taking out the host OS, which should (ideally) never happen.


So shouldn't the title be: VBox is crap on Linux?


VirtualBox running on a Windows 7 host with a Linux guest works great and improves each major release.

That being said, I've had severe issues with networking on older releases. Often the interface would work on the guest right after install, but would then completely fail the next time the VM was powered on.

It seems that has largely been fixed though.


I'm running into an issue where I get intermittent internet disconnection on the guest. I can't pinpoint what's causing but gmail will just start to time out. Wasn't there in Vbox 3.x though.


VirtualBox has always worked very well for me. Perhaps the poster did not install it correctly or just doesn't know what they are doing?

Just not me: I know about a half dozen people who also use VirtualBox, and I haven'heard complaints. Perhaps the poster works for one of the commercial competitors.

Strange rant against a good, and free tool.


I can't read the article at the moment as it seems the server has died but I can say that in my use of VirtualBox on OS X in the last 2 years I have yet to have a major crash. The majority of the time it has been used for very temporary staging environments in Debian and it's been perfect for this.


VirtualBox runs XP and Win7 perfectly on my MBP2011; it has saved my skin a number of times and am not sure why it does not work for some people. I was considering getting Parallels but this seems to do the trick and works for 2 other people I know as well. Plus it's free....


I agree that VirtualBox has problems.I was running Ubuntu on Mac OS X using VirtualBox because it was free, however it kept crashing constantly and didn't shut down properly.

I bought Parallels instead, and I am happy so far


The project has some other notable issues that can be quite frustrating. Primary among them the performance of the shared folder file system with complex file structures (the reason why Vagrant uses NFS).


I've been using VirtualBox for the last 15 months on a daily basis. I've used it on Windows XP, Windows 7, Ubuntu and recently on Mac hosts with Windows XP, Windows 7, and Ubuntu guests. I've never ran into any problems with it. The only thing that doesn't work properly is 3D Acceleration which I think has something to do with my system's graphics card probably.

Two of my friends however lost their guest machines (Windows and Ubuntu) on the Mac version. Hope it doesn't happen on my Mac.

In my opinion, VirtualBox is an amazing piece of software, and calling it "garbage" is harsh and unprofessional.


I only use it as a local development server running Ubuntu, but I've never had any problems with Virtualbox running on OSX or Win7.


Works fine for me - there's aren't any other free options that I'm aware of, so I guess I'm kind of stuck with it.


I wouldn't know about kernel bugs, but from having tried many VMs I prefer VirtualBox by a long shot.


Has anyone managed to get Windows 8 running in VirtualBox on OS X? I've tried, keep getting errors.


Yup, worked for me. Have you ticked all the relevant options in the VM Settings?

  First stop in the System menu. Start with the Motherboard
  sub-menu and check Enable IO APIC to improve performance 
  for your virtual machine. In the Processor sub-menu check
  Enable PAE/NX (again, to boost performance). Finally under 
  the Acceleration sub-menu make sure both of the hardware 
  virtualization boxes are checked—VT-x/AMD-V and Nested 
  Paging, respectively.
- Taken from http://www.howtogeek.com/74515/how-to-test-drive-windows-8-i... (which I know is a Windows guide, but check the same settings in OS X)


Hadn't seen those, will give it a shot!


It works fairly well (a bit slow) on Win7. Have you followed these instructions? https://news.ycombinator.com/item?id=2995010


i guess not much has changed in their code in 3 years:

http://old.nabble.com/Bug-reports-regarding-Innotek-VirtualB...


I've tried vbox when I used a mac and couldn't get past the user interface. The gui severely limits what I can easily do with it, and it's just plain irritating sometimes.

Now I'm back on linux and kvm/qemu, and I'm much happier. Why are people using vbox over kvm?


VBox has an extensive commandine tool suite and configuration language at least on Windows.


although i love VBox, i confess i've had serious issues with it on OSX running the Win8 Dev Preview.

(the amount of times i've now seen the apple lightbox of death is pretty ridic)


Aw, I think we killed the site :(

Has someone got a copy of the text?



Either that, or the site is running in a VirtualBox VM.


I wonder if he was hosting it on his VBox VM? :P


Apart from VirtualBox being notably slower (and less complete in working D3D/OpenGL support) than f.e. Parallels Desktop, I can't say I've had any gripes or stability issues with it, barring a recent, short-lived bug that caused VBox to automatically power down an active VM as soon as it went idle. I've been using VBox on OS X for a bit over 2 years now, for development purposes related to Windows XP, OpenBSD, one or two Linux distributions, and even Haiku.


[deleted]


vboxdrv isn't getting TAINT_PROPRIETARY_MODULE, It's getting TAINT_CRAP.

See kids...


I've used it for years on Ubuntu and Windows with almost no issues. This headline is garbage.


Not necessarily. You're presenting a data point only, while the poster of the patch marked the module CRAP for a specific reason - that module produced too many bug reports which are not relevant to the distributions since they originate in vboxdrv. From that perspective vboxdrv is garbage and people who deal with that problem agree.

Data point is as relevant as "I keep crossing on red light for years now and nothing bad happened".


These are kernel developers saying that the majority of crash reports they receive are caused by the virtual box driver.


You're doing everything wrong. Literally everything.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: