VirtualBox

Ticket #4329 (closed defect: fixed)

Opened 5 years ago

Last modified 4 years ago

VirtualBox 3.0.0 fails to start any vm on snv_117

Reported by: jmcp Owned by:
Priority: major Component: VMM
Version: VirtualBox 3.0.0 Keywords:
Cc: Guest type: other
Host type: Solaris

Description

Just installed VirtualBox 3.0.0 on my workstation (u40m2) which is running Solaris Express snv_117.

I pkgrm'd 2.2.4 before pkgadding 3.0.0. I did noticed at the time that the postinstall script failed to complete successfully, but thought this was just an artefact of being unable to unload the old modules.

Following a reboot, I again removed the packages, and added them, however the SUNWvbox postinstall script still failed to complete, which in turn is due to the vboxdrv.sh script failing at this line:

/opt/VirtualBox/vboxdrv.sh stopall silentunload checkarch

ifconfig: unplumb: SIOCGLIFFLAGS: vboxnet0: no such interface can't unload the module: Invalid argument ## Failed to unload VirtualBox NetAdapter kernel module. Old one still active!!

So the postinstall script "partially fail"s, and fails to install the drivers required - so no entry in /etc/name_to_major, no entry in /etc/devlink.tab.... and therefore the modules fail to load.

I also noticed, on the reboot, that there was an /etc/hostname.vboxnet0 file which contained an arbitrary /24 IP address - this is entirely unwanted.

The modules fail to load properly:

# modinfo |grep vb 296 fffffffff8aaf000 20060 - 1 vboxdrv (VirtualBox HostDrv 3.0.0r49315) 297 fffffffff87c7000 3368 - 1 vbi (VirtualBox Interfaces V5) 298 fffffffff8394000 10b88 - 1 vboxnet (VirtualBox NetAdp 3.0.0r49315) 300 fffffffff83a3000 5f80 - 1 vboxflt (VirtualBox NetDrv 3.0.0r49315) 300 fffffffff83a3000 5f80 - 1 vboxflt (VirtualBox NetMod 3.0.0r49315)

but in /var/adm/messages:

Jul 1 12:14:53 blinder vboxdrv: [ID 256364 kern.notice] vboxdrv:mod_install failed! rc=6

And there is code in  http://www.virtualbox.org/browser/trunk/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c which actively prevents their unloading.

Net result - VirtualBox 3.0.0 fails to work at all, with any guest.

Change History

comment:1 follow-up: ↓ 3 Changed 5 years ago by jmcp

workaround:

*completely* uninstall SUNWvbox and SUNWvboxkern

regenerate your boot archive

reboot

install fresh

comment:2 in reply to: ↑ description Changed 5 years ago by ramshankar

Replying to jmcp:

I pkgrm'd 2.2.4 before pkgadding 3.0.0. I did noticed at the time that the postinstall script failed to complete successfully, but thought this was just an artefact of being unable to unload the old modules.

All the modules should bne unloaded properly, otherwise the new install _should_ fail. We do not want a situation where you have a mixed install with older modules.

So if the old modules did not unload there must be a reason for this, why were they still being referenced? Why did the uninstaller not remove them? There can be several reasons for this.

And there is code in  http://www.virtualbox.org/browser/trunk/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c which actively prevents their unloading.

VBoxDrv prevents auto-unloading of the module (by modload's autounload) due to runtime dependencies, hence is different. It doesn't prevent explicit unloading when it's no longer referenced.

comment:3 in reply to: ↑ 1 Changed 5 years ago by ramshankar

Replying to jmcp:

workaround:

*completely* uninstall SUNWvbox and SUNWvboxkern

What do you mean by completely? How did you uninstall the first time?

regenerate your boot archive

reboot

install fresh

comment:4 Changed 5 years ago by jmcp

I had 2.2.4 installed, and ran "pkgrm SUNWvboxkern SUNWvbox" - since I had the packages installed using pkgadd, running pkgrm should have removed all the components which were installed.

I then ran "pkgadd -G -d VirtualBoxKern-3.0.0-SunOS-r49315.pkg ; pkgadd -G -d VirtualBox-3.0.0-SunOS-r49315.pkg"

Following the reboot and realising that the modules were not installed properly, I re-ran "pkgrm SUNWvboxkern SUNWvbox", then I regenerated the boot archive and rebooted again. After this second reboot, I then was able to successfully install the 3.0.0 release and run VirtualBox.

I should point out that prior to the installation after the second reboot, I noticed that there was an entire directory structure left *after* the pkgrm:

drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/additions/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/i386/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/i386/accessible/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/i386/components/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/i386/nls/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/rdesktop-vrdp-keymaps/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/amd64/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/amd64/accessible/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/amd64/nls/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/amd64/components/
drwxr-xr-x 0/0 0 Jun 30 22:28 2009 VirtualBox/amd64/64/
drwxr-xr-x 0/2 0 Jan 23 17:07 2009 VirtualBox/components/
-rw-r--r-- 0/0 15319 Jan 17 11:01 2009 VirtualBox/components/xpti.dat
-rw-r--r-- 0/0 1091 Jan 17 11:01 2009 VirtualBox/components/compreg.dat
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/64/
drwxr-xr-x 0/0 0 Jun 30 22:31 2009 VirtualBox/sdk/
drwxr-xr-x 0/0 0 Jun 30 22:31 2009 VirtualBox/sdk/bindings/
drwxr-xr-x 0/0 0 Jun 30 22:31 2009 VirtualBox/sdk/bindings/xpcom/
drwxr-xr-x 0/0 0 Jun 30 22:31 2009 VirtualBox/sdk/bindings/xpcom/python/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/sdk/bindings/xpcom/python/xpcom/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/sdk/bindings/xpcom/python/xpcom/client/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/sdk/bindings/xpcom/python/xpcom/server/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/sdk/installer/
drwxr-xr-x 0/0 0 Jul 1 13:13 2009 VirtualBox/sdk/installer/vboxapi/

I tar'd up a copy of that structure, then removed /opt/VirtualBox, then the installation proceeded.

comment:5 Changed 5 years ago by ramshankar

The empty directory structure shouldn't be the breaker, it seems something was referencing vboxnet while you uninstalled when you got failure while vboxnet module couldn't be unloaded.

Namely:

can't unload the module: Invalid argument
## Failed to unload VirtualBox NetAdapter? kernel module. Old one still active!!

Shouldn't happen. Checking the possibilities here.

comment:6 Changed 5 years ago by jmcp

I agree, the stray elements in the directory structure are incredibly unlikely to have been the cause. I just mention them so you've got the whole picture.

comment:7 Changed 5 years ago by jmcp

Just upgraded to snv_123. Starting up vbox 3.0.4 gave me the "new version available" popup, so ran the following commands:


# yes | pkgrm SUNWvbox SUNWvboxkern ; pkgadd -G -d VirtualBoxKern-3.0.6-SunOS-r52128.pkg; pkgadd -G -d VirtualBox-3.0.6-SunOS-r52128.pkg

The following package is currently installed:
   SUNWvbox      Sun VirtualBox
                 (i386) 3.0.4,REV=2009.08.04.19.55.50677

Do you want to remove this package? [y,n,?,q] 
## Removing installed package instance <SUNWvbox>

This package contains scripts which will be executed with super-user
permission during the process of removing this package.

Do you want to continue with the removal of this package [y,n,?,q] ## Verifying package <SUNWvbox> dependencies in global zone
## Processing package information.
## Executing preremove script.
Sun VirtualBox - preremove script
This script will unload the VirtualBox kernel module...
VirtualBox USB kernel module unloaded.
can't unload the module: Device busy
Device busy
Cannot unload module: vboxnet
Will be unloaded upon reboot.
VirtualBox NetAdapter kernel module unloaded.
VirtualBox NetFilter kernel module unloaded.
can't unload the module: Device busy
Device busy
Cannot unload module: vboxdrv
Will be unloaded upon reboot.
VirtualBox Host kernel module unloaded.
can't unload the module: Device busy
Done.
...
Removal of <SUNWvbox> was successful.

The following package is currently installed:
   SUNWvboxkern  Sun VirtualBox Kernel Interface Module
                 (i386) 3.0.4,REV=2009.08.04.19.54

Do you want to remove this package? [y,n,?,q] 
## Removing installed package instance <SUNWvboxkern>

This package contains scripts which will be executed with super-user
permission during the process of removing this package.

Do you want to continue with the removal of this package [y,n,?,q] ## Verifying package <SUNWvboxkern> dependencies in global zone
## Processing package information.
## Executing preremove script.
Sun VirtualBox Kernel Package - preremove script
This script will unload the VirtualBox kernel interface module...
can't unload the module: Device busy
Done.
## Removing pathnames in class <none>
/platform/i86pc/kernel/misc/vbi
/platform/i86pc/kernel/misc/amd64/vbi
/platform/i86pc/kernel/misc/amd64 <shared pathname not removed>
## Updating system information.

Removal of <SUNWvboxkern> was successful.

Two problems here (apart from the fact that this issue is still happening) : (1) the modules are not being uninstalled. This just isn't acceptable - no VirtualBoxes were running, the webservice and zone-access services were not running.... *none* of it was running and yet the modules declined the opportunity to unload.

(2) The package removal claimed to be successful. That's dubious, given that the modules are not unloaded. Sure, the files might have been removed from the filesystem, but there's still cruft in memory from the prior packages.

comment:8 Changed 4 years ago by ramshankar

  • Status changed from new to closed
  • Resolution set to fixed

Significant portions of the installer were rewritten. Please reopen if this same problem persists, closing ticket until then.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use