Transient(?) error: install for kernel module of multimedia/cuse4bsd-kmod

David Wolfskill david at catwhisker.org
Fri Aug 21 12:24:55 UTC 2015


This is slightly weird, so don't claim you weren't warned. :-}

It occurred during today's (daily) update of FreeBSD basse on my laptop.
The laptop was running:

FreeBSD g1-252.catwhisker.org 10.2-STABLE FreeBSD 10.2-STABLE #123  r286912M/286918:1002500: Wed Aug 19 04:05:06 PDT 2015     root at g1-252.catwhisker.org:/common/S1/obj/usr/src/sys/CANARY  amd64

at the time, and was being updated to r286961.  My ports tree was
(and is, as of this writing) head @r394934.

As some of the ports I have installed locally have kernel modules,
and as I rebuild the kernel often (daily, usually -- along with
userland and installed ports), I specify that the kernel update
should also rebuild the kernel modules of those ports (in /etc/src.conf):

g1-252(11.0-C)[2] grep PORT /etc/src.conf 
PORTS_MODULES=x11/nvidia-driver
PORTS_MODULES+=multimedia/cuse4bsd-kmod
PORTS_MODULES+=emulators/virtualbox-ose-kmod
g1-252(11.0-C)[3] 

I perform the updates within script(1) so I have a record of what
happened, and keep the most recent 2 typescripts.

So, looking at yesterday's typescript (to set expectations), I see:

...
>>> World build completed on Thu Aug 20 04:04:47 PDT 2015
>>> Kernel build for CANARY started on Thu Aug 20 04:04:47 PDT 2015
===> CANARY
>>> stage 1: configuring the kernel
>>> stage 2.2: rebuilding the object tree
...
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
...
>>> stage 3.2: building everything
...
===> usb/template (all)
===> Ports module x11/nvidia-driver (all)
===>  Cleaning for nvidia-driver-346.47
===>  License NVIDIA accepted by the user
...
===>  Configuring for nvidia-driver-346.47
===>  Building for nvidia-driver-346.47
===> src (all)
...
===> doc (all)
===>  Staging for nvidia-driver-346.47
===>   nvidia-driver-346.47 depends on package: libGL>0 - found
===>   nvidia-driver-346.47 depends on file: /usr/local/libdata/pkgconfig/xorg-server.pc - found
===>   Generating temporary packing list
===> src (install)
...
ompressing man pages (compress-man)
===> Ports module multimedia/cuse4bsd-kmod (all)
===>  Cleaning for cuse4bsd-kmod-0.1.36
===>  Found saved configuration for cuse4bsd-kmod-0.1.35
===>   cuse4bsd-kmod-0.1.36 depends on file: /usr/local/sbin/pkg - found
...
====> Compressing man pages (compress-man)
===> Ports module emulators/virtualbox-ose-kmod (all)
===>  Cleaning for virtualbox-ose-kmod-4.3.30
===>  License GPLv2 accepted by the user
===>  Found saved configuration for virtualbox-ose-kmod-4.3.20
===>   virtualbox-ose-kmod-4.3.30 depends on file: /usr/local/sbin/pkg - found
...
===> Staging rc.d startup script(s)
>>> Kernel build for CANARY completed on Thu Aug 20 04:05:44 PDT 2015
===>  Cleaning for nvidia-driver-346.47
>>> Installing kernel CANARY
...
===> iscsi_initiator (install)
===> Ports module x11/nvidia-driver (install)
===>  Deinstalling for nvidia-driver
===>   Deinstalling nvidia-driver-346.47
===>  Installing for nvidia-driver-346.47
===>   nvidia-driver-346.47 depends on package: libGL>0 - found
===>   nvidia-driver-346.47 depends on file: /usr/local/libdata/pkgconfig/xorg-server.pc - found
...
===> Ports module multimedia/cuse4bsd-kmod (install)
===>  Deinstalling for cuse4bsd-kmod
===>   Deinstalling cuse4bsd-kmod-0.1.36
===>  Installing for cuse4bsd-kmod-0.1.36
...
===> Ports module emulators/virtualbox-ose-kmod (install)
===>  Deinstalling for virtualbox-ose-kmod
===>   Deinstalling virtualbox-ose-kmod-4.3.30
===>  Installing for virtualbox-ose-kmod-4.3.30
...
>>> Making hierarchy
>>> Installing everything
===> share/info (install)
...
>>> Removing old files (only deletes safe to delete libs)
>>> Old files removed
>>> Removing old directories
....


What happened this morning (the first time around) started the same,
but ended a bit prematurely:

...
>>> World build completed on Fri Aug 21 04:07:02 PDT 2015
>>> Kernel build for CANARY started on Fri Aug 21 04:07:02 PDT 2015
===> CANARY
>>> stage 1: configuring the kernel
>>> stage 2.2: rebuilding the object tree
...
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
...
>>> stage 3.2: building everything
...
===> usb/template (all)
===> Ports module x11/nvidia-driver (all)
===>  Cleaning for nvidia-driver-346.47
===>  License NVIDIA accepted by the user
...
===>  Configuring for nvidia-driver-346.47
===>  Building for nvidia-driver-346.47
===> src (all)
...
===> doc (all)
===>  Staging for nvidia-driver-346.47
===>   nvidia-driver-346.47 depends on package: libGL>0 - found
===>   nvidia-driver-346.47 depends on file: /usr/local/libdata/pkgconfig/xorg-server.pc - found
===>   Generating temporary packing list
===> src (install)
...
ompressing man pages (compress-man)
===> Ports module multimedia/cuse4bsd-kmod (all)
===>  Cleaning for cuse4bsd-kmod-0.1.36
===>  Found saved configuration for cuse4bsd-kmod-0.1.35
===>   cuse4bsd-kmod-0.1.36 depends on file: /usr/local/sbin/pkg - found
...
====> Compressing man pages (compress-man)
===> Ports module emulators/virtualbox-ose-kmod (all)
===>  Cleaning for virtualbox-ose-kmod-4.3.30
===>  License GPLv2 accepted by the user
===>  Found saved configuration for virtualbox-ose-kmod-4.3.20
===>   virtualbox-ose-kmod-4.3.30 depends on file: /usr/local/sbin/pkg - found
...
===> Staging rc.d startup script(s)
>>> Kernel build for CANARY completed on Fri Aug 21 04:08:25 PDT 2015
===>  Cleaning for nvidia-driver-346.47
>>> Installing kernel CANARY
...
===> iscsi_initiator (install)
===> Ports module x11/nvidia-driver (install)
===>  Deinstalling for nvidia-driver
===>   Deinstalling nvidia-driver-346.47
===>  Installing for nvidia-driver-346.47
===>   nvidia-driver-346.47 depends on package: libGL>0 - found
===>   nvidia-driver-346.47 depends on file: /usr/local/libdata/pkgconfig/xorg-server.pc - found
...
===> Ports module multimedia/cuse4bsd-kmod (install)
===>  Deinstalling for cuse4bsd-kmod
pkg-static: Cannot get an advisory lock on a database, it is locked by another process
*** Error code 75

Stop.
make[3]: stopped in /common/ports/multimedia/cuse4bsd-kmod
*** Error code 1

Stop.
make[2]: stopped in /common/S1/obj/usr/src/sys/CANARY
*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error code 1

Stop.
make: stopped in /usr/src



Now, I promise I wasn't doing anything else with port-building at
the time.  Maybe there's a race condition?  Because the next thing I did
was (the equivalent of):

rm -fr /boot/modules.old && \
 cp -pr /boot/modules{,.old} && \
 make installkernel && \
 date && \
 pushd /usr/ports && \
 pushd x11/nvidia-driver && \
 make clean ; popd ; popd && \
 date && \
 mergemaster -U -u 0022 -p && \
 date && \
 rm -fr /usr/include.old && \
 date && \
 mv /usr/include{,.old} && \
 date && \
 rm -fr /usr/share/man && \
 date && \
 make installworld && \
 date && \
 mergemaster -F -U -u 0022 -i && \
 date && \
 make delete-old && \
 date && \
 df -k

[I use csh aliases to avoid the typing....]

And that worked (including the installation of the previously-build
ports kernel modules); the laptop successfully rebooted to:

FreeBSD g1-252.catwhisker.org 10.2-STABLE FreeBSD 10.2-STABLE #124  r286961M/286986:1002500: Fri Aug 21 04:07:13 PDT 2015     root at g1-252.catwhisker.org:/common/S1/obj/usr/src/sys/CANARY  amd64

I've been doing this with considerable (some might think "alarming")
frequency, and this morning is the first I recall encountering that
error report.

Peace,
david
-- 
David H. Wolfskill				david at catwhisker.org
Those who would murder in the name of God or prophet are blasphemous cowards.

See http://www.catwhisker.org/~david/publickey.gpg for my public key.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 949 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20150821/6c9342a0/attachment.bin>


More information about the freebsd-ports mailing list