VirtualBox

Ticket #7799 (reopened defect)

Opened 3 years ago

Last modified 7 months ago

Modules cannot be unloaded on Solaris 10

Reported by: laurent Owned by:
Priority: minor Component: host support
Version: VirtualBox 3.2.10 Keywords:
Cc: Guest type: other
Host type: Solaris

Description (last modified by ramshankar) (diff)

On a patched Solaris 10U9, when trying to update from 3.2.10 to 3.2.12, the system refuses to unload the modules.

# modinfo | grep vbox
150 fffffffff04c9808    a90 226   1  vboxnet (VirtualBox NetAdp 3.2.10r66523)
152 fffffffff0524000  27db0  34   1  vboxdrv (VirtualBox HostDrv 3.2.10r66523)
216 fffffffff0e3c000   7230 227   1  vboxflt (VirtualBox NetDrv 3.2.10r66523)
216 fffffffff0e3c000   7230   -   1  vboxflt (VirtualBox NetMod 3.2.10r66523)

# modunload -i 150
can't unload the module: Device busy

# modunload -i 152
can't unload the module: Device busy

# modunload -i 216
can't unload the module: Device busy

VirtualBox was closed before starting to pkgrm, and after uninstall, ifconfig -a reports no vboxnet anymore. FWIW, the same happened when upgrading from 3.2.8 to 3.2.10 on a patched S10u8 at the time. I know a reboot will clear this, but it is not always practical to reboot only for a virtualBox upgrade.

Attachments

vbox_unload_error.txt Download (33.6 KB) - added by laurent 3 years ago.
modunload issue on pkgrm

Change History

comment:1 Changed 3 years ago by ramshankar

When you performed a pkgrm what error did you get? Could you paste the output of pkgrm? Was there any VBox processes still running?

Changed 3 years ago by laurent

modunload issue on pkgrm

comment:2 Changed 3 years ago by laurent

I attached a file showing the issue with version 4.0.6.

I rebooted the system without VBox, so nothing loaded on boot. I did a pkgadd then immediately a pkgrm, without starting anything: module unloading failed.

comment:3 Changed 3 years ago by ramshankar

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

Is this problem still persistent with latest VirtualBox versions? If so please re-open it. Closing for now as it was never reproducible and no other users report this issue on S10.

comment:4 Changed 17 months ago by LAGoldstein

I am having this same problem on unpatched Solaris 10u6 trying to remove 4.0.4 so I can install 4.2.4. Now I can't install either version without getting the modunload errors at the end of pkgadd (pkgrm shows the same error at the start of the run). It's good to know that a reboot will clear this, but it is an inconvenience.

Checking for older bits...
   - Unloaded: Web service
   - Unloaded: Balloon control service
   - Unloaded: Zone access service
can't unload the module: Device busy
   - Unloading: NetAdapter module ...FAILED!
## ERROR!! Failed to remove older/partially installed bits.
pkgadd: ERROR: postinstall script did not complete successfully

Installation of <SUNWvbox> failed.

And here's the output of modinfo and modunload:

lucid<131># modinfo|grep vbox
142 ffffffffef9ff730    b00 226   1  vboxnet (VirtualBox NetAdp 4.0.4r70112)
144 ffffffffefb1a000  2c058 225   1  vboxdrv (VirtualBox HostDrv 4.0.4r70112)
lucid<132># modunload -i 142
can't unload the module: Device busy
lucid<133># modunload -i 144
can't unload the module: Device busy

comment:5 Changed 13 months ago by Giacomo

  • Status changed from closed to reopened
  • Resolution worksforme deleted

Sorry but it doesn't "worksforme" either. Solaris 10u11.

pkgrm fails with:

...
## Executing preremove script.
Removing VirtualBox services and drivers...
   - Unloaded: Web service
   - Unloaded: Balloon control service
   - Unloaded: Autostart service
   - Unloaded: Zone access service
can't unload the module: Device busy
   - Unloading: NetAdapter module ...FAILED!
can't unload the module: Device busy
   - Unloading: Host module ...FAILED!
Done.
...

and leaves:

# modinfo | grep vbox
216 fffffffff8a67000  34f00 258   1  vboxdrv (VirtualBox HostDrv 4.2.6r82870)
217 fffffffff89785a0    ce0 259   1  vboxnet (VirtualBox NetAdp 4.2.6r82870)

# modunload -i 216
can't unload the module: Device busy

which stops me installing any versions. Hints on how to clear manually without reboot welcomed.

comment:6 Changed 13 months ago by ramshankar

  • Description modified (diff)

That doesn't look right, looks like something is holding vboxnet0 referenced.

Anyway, you can forcefully unload the drivers after kicking out vboxnetX.

Try this as root:

ifconfig vboxnet0 unplumb
/opt/VirtualBox/vboxconfig.sh --preremove

comment:7 Changed 13 months ago by Giacomo

Thanks for the suggestion but vboxnet0 isn't plumbed and vboxconfig.sh --preremove ends just as pkgrm.

# ifconfig vboxnet0
ifconfig: status: SIOCGLIFFLAGS: vboxnet0: no such interface
# /opt/VirtualBox/vboxconfig.sh --preremove
   - Unloaded: Web service
   - Unloaded: Balloon control service
   - Unloaded: Autostart service
   - Unloaded: Zone access service
can't unload the module: Device busy
   - Unloading: NetAdapter module ...FAILED!
can't unload the module: Device busy
   - Unloading: Host module ...FAILED!

comment:8 Changed 13 months ago by ramshankar

Well, something's keeping vboxnet referenced, could you please post output of the following as root:

modinfo | grep -i vbox
ps -ef | grep -i vbox
fuser -d "/devices/pseudo/clone@0:vboxnet"

comment:9 Changed 13 months ago by Giacomo

# modinfo | grep -i vbox
216 fffffffff8a67000  34f00 258   1  vboxdrv (VirtualBox HostDrv 4.2.6r82870)
217 fffffffff89785a0    ce0 259   1  vboxnet (VirtualBox NetAdp 4.2.6r82870)
# ps -ef | grep -i vbox
    root 15820  5123   0 18:40:49 pts/61      0:00 grep -i vbox
# fuser -d "/devices/pseudo/clone@0:vboxnet"
/devices/pseudo/clone@0:vboxnet:

comment:10 Changed 12 months ago by Giacomo

I scheduled a reboot and the module is now reset. Remembering we are trying to emulate Microsoft, I presume this is the module that requires the system to be regularly rebooted.

I updated from 4.2.10 to 4.2.12 so whatever the problem is I don't have it for now.

Last edited 12 months ago by Giacomo (previous) (diff)

comment:11 Changed 7 months ago by Giacomo

This is still a problem!

# pkgrm SUNWvbox

The following package is currently installed:
   SUNWvbox  Oracle VM VirtualBox
             (i386) 4.2.16,REV=2013.07.04.16.25.86992

Do you want to remove this package? [y,n,?,q] y

## 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] y
## Verifying package <SUNWvbox> dependencies in global zone
## Processing package information.
## Executing preremove script.
Removing VirtualBox services and drivers...
   - Unloaded: Web service
   - Unloaded: Balloon control service
   - Unloaded: Autostart service
   - Unloaded: Zone access service
   - Unloaded: NetFilter (STREAMS) module
   - Removed: NetFilter (STREAMS) module
can't unload the module: Device busy
   - Unloading: NetAdapter module ...FAILED!
Device busy
Cannot unload module: vboxnet
Will be unloaded upon reboot.
   - Removed: NetAdapter module
can't unload the module: Device busy
   - Unloading: Host module ...FAILED!
Device busy
Cannot unload module: vboxdrv
Will be unloaded upon reboot.
   - Removed: Host module
Updating the boot archive...
Done.
## Removing pathnames in class <manifest>
Waiting up to 60 seconds for svc:/application/virtualbox/zoneaccess:default to stop... modinfo | grep -i vbox

Waiting up to 60 seconds for svc:/application/virtualbox/webservice:default to stop...
Waiting up to 60 seconds for svc:/application/virtualbox/balloonctrl:default to stop...
## Removing pathnames in class <none>
/var/svc/manifest/application/virtualbox/virtualbox-autostart.xml
/var/svc/manifest/application/virtualbox
/usr/share/pixmaps/virtualbox.png
...
# modinfo | grep -i vbox
165 fffffffff782f588    ce8 259   1  vboxnet (VirtualBox NetAdp 4.2.16r86992)
167 fffffffff80ac000  34fa0 258   1  vboxdrv (VirtualBox HostDrv 4.2.16r86992)
# ps -ef | grep -i vbox
    root  7697 18992   0 14:19:40 pts/14      0:00 grep -i vbox
# fuser -d "/devices/pseudo/clone@0:vboxnet"
/devices/pseudo/clone@0:vboxnet:

comment:12 Changed 7 months ago by Giacomo

Solution/workaround:

# svcadm restart rarp
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use