Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Jun 2009 21:19:03 -0400
From:      Edwin Shao <poleris@gmail.com>
To:        freebsd-xen@freebsd.org
Subject:   -current XEN build fails with WITNESS off
Message-ID:  <17ca67550906061819g635b6ddew5a95a9fea1311884@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi all,

I am running Adrian's Xen image on a pygrub domU and am building the
kernel targeted towards production use. With that in mind, commenting
out the lines:
#options        WITNESS                 # Enable checks to detect
deadlocks and cycles
#options        WITNESS_SKIPSPIN        # Don't run witness on
spinlocks for speed

Yields the error:
In file included from /usr/src/sys/dev/xen/netfront/netfront.c:33:
/usr/src/sys/sys/sx.h:211:2: error: #error "LOCK_DEBUG not defined,
include <sys/lock.h> before <sys/sx.h>"
mkdep: compile failed

This is reproducible, at the very least, between 20090520 and 20090606.

A very simple fix is:
diff netfront.c netfront.old.c
33d32
< #include <sys/lock.h>

Let me know if I am doing something stupidly wrong (as I've only been
running FreeBSD since yesterday) or if you need any more information.

Thanks,
Edwin

PS. If there is any interest, I can provide weekly or so kernel
builds. My config file is aimed towards use in a production
environment with jails use, and thus has debugging options off and
pf/vlan/NULLFS/FDESCFS enabled.


---------- Error Log ----------


--------------------------------------------------------------
>>> Kernel build for XENNEKO started on Sat Jun =A06 20:55:49 EDT 2009
--------------------------------------------------------------
=3D=3D=3D> XENNEKO
mkdir -p /usr/obj/usr/src/sys

--------------------------------------------------------------
>>> stage 1: configuring the kernel
--------------------------------------------------------------
cd /usr/src/sys/i386/conf;
PATH=3D/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr=
/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/u=
sr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/s=
bin:/usr/bin
=A0config =A0-d /usr/obj/usr/src/sys/XENNEKO
/usr/src/sys/i386/conf/XENNEKO
Kernel build directory is /usr/obj/usr/src/sys/XENNEKO
Don't forget to do ``make cleandepend && make depend''

--------------------------------------------------------------
>>> stage 2.1: cleaning up the object tree
--------------------------------------------------------------
cd /usr/obj/usr/src/sys/XENNEKO; MAKEOBJDIRPREFIX=3D/usr/obj
MACHINE_ARCH=3Di386 =A0MACHINE=3Di386 =A0CPUTYPE=3Dpentiumpro
GROFF_BIN_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/bin
GROFF_FONT_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/share/groff_font
GROFF_TMAC_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/share/tmac
_SHLIBDIRPREFIX=3D/usr/obj/usr/src/tmp =A0VERSION=3D"FreeBSD 8.0-CURRENT
i386 800095" =A0INSTALL=3D"sh /usr/src/tools/install.sh"
PATH=3D/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr=
/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/u=
sr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/s=
bin:/usr/bin
NO_CTF=3D1 make KERNEL=3Dkernel cleandir
rm -f *.o *.so *.So *.ko *.s eddep errs =A0kernel.debug kernel
kernel.symbols =A0linterrs makelinks tags vers.c =A0vnode_if.c vnode_if.h
vnode_if_newproto.h vnode_if_typedef.h =A0eisa_if.c mmcbr_if.c
mmcbus_if.c card_if.c power_if.c pci_if.c pcib_if.c g_part_if.c
isa_if.c bus_if.c clock_if.c cpufreq_if.c device_if.c linker_if.c
serdev_if.c xenbus_if.c acpi_if.c eisa_if.h mmcbr_if.h mmcbus_if.h
card_if.h power_if.h pci_if.h pcib_if.h g_part_if.h isa_if.h bus_if.h
clock_if.h cpufreq_if.h device_if.h linker_if.h serdev_if.h
xenbus_if.h acpi_if.h =A0pccarddevs.h
rm -f .depend machine
cd /usr/src/sys/modules;
MAKEOBJDIRPREFIX=3D/usr/obj/usr/src/sys/XENNEKO/modules
KMODDIR=3D/boot/kernel MODULES_OVERRIDE=3D"""" DEBUG_FLAGS=3D"-g"
MACHINE=3Di386 KERNBUILDDIR=3D"/usr/obj/usr/src/sys/XENNEKO"
SYSDIR=3D"/usr/src/sys" make =A0cleandir

--------------------------------------------------------------
>>> stage 2.2: rebuilding the object tree
--------------------------------------------------------------
cd /usr/obj/usr/src/sys/XENNEKO; MAKEOBJDIRPREFIX=3D/usr/obj
MACHINE_ARCH=3Di386 =A0MACHINE=3Di386 =A0CPUTYPE=3Dpentiumpro
GROFF_BIN_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/bin
GROFF_FONT_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/share/groff_font
GROFF_TMAC_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/share/tmac
_SHLIBDIRPREFIX=3D/usr/obj/usr/src/tmp =A0VERSION=3D"FreeBSD 8.0-CURRENT
i386 800095" =A0INSTALL=3D"sh /usr/src/tools/install.sh"
PATH=3D/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr=
/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/u=
sr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/s=
bin:/usr/bin
NO_CTF=3D1 make KERNEL=3Dkernel obj
cd /usr/src/sys/modules;
MAKEOBJDIRPREFIX=3D/usr/obj/usr/src/sys/XENNEKO/modules
KMODDIR=3D/boot/kernel MODULES_OVERRIDE=3D"""" DEBUG_FLAGS=3D"-g"
MACHINE=3Di386 KERNBUILDDIR=3D"/usr/obj/usr/src/sys/XENNEKO"
SYSDIR=3D"/usr/src/sys" make =A0obj

--------------------------------------------------------------
>>> stage 2.3: build tools
--------------------------------------------------------------
cd /usr/obj/usr/src/sys/XENNEKO;
MAKESRCPATH=3D/usr/src/sys/dev/aic7xxx/aicasm =A0make SSP_CFLAGS=3D
-DNO_CPU_CFLAGS -DNO_CTF =A0-f /usr/src/sys/dev/aic7xxx/aicasm/Makefile
Warning: Object directory not changed from original /usr/obj/usr/src/sys/XE=
NNEKO
cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
-I/usr/src/sys/dev/aic7xxx/aicasm -std=3Dgnu99 =A0-Wsystem-headers -Werror
-Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
-Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
-Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
-Wno-pointer-sign -c /usr/src/sys/dev/aic7xxx/aicasm/aicasm.c
cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
-I/usr/src/sys/dev/aic7xxx/aicasm -std=3Dgnu99 =A0-Wsystem-headers -Werror
-Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
-Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
-Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
-Wno-pointer-sign -c /usr/src/sys/dev/aic7xxx/aicasm/aicasm_symbol.c
cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
-I/usr/src/sys/dev/aic7xxx/aicasm -std=3Dgnu99 =A0-Wsystem-headers -Werror
-Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
-Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
-Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
-Wno-pointer-sign -c aicasm_gram.c
cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
-I/usr/src/sys/dev/aic7xxx/aicasm -std=3Dgnu99 =A0-Wsystem-headers -Werror
-Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
-Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
-Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
-Wno-pointer-sign -c aicasm_macro_gram.c
cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
-I/usr/src/sys/dev/aic7xxx/aicasm -std=3Dgnu99 =A0-Wsystem-headers -Werror
-Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
-Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
-Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
-Wno-pointer-sign -c aicasm_scan.c
cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
-I/usr/src/sys/dev/aic7xxx/aicasm -std=3Dgnu99 =A0-Wsystem-headers -Werror
-Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
-Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
-Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
-Wno-pointer-sign -c aicasm_macro_scan.c
cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
-I/usr/src/sys/dev/aic7xxx/aicasm -std=3Dgnu99 =A0-Wsystem-headers -Werror
-Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
-Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
-Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
-Wno-pointer-sign =A0-o aicasm aicasm.o aicasm_symbol.o aicasm_gram.o
aicasm_macro_gram.o aicasm_scan.o aicasm_macro_scan.o -ll
cd /usr/src/sys/modules/aic7xxx/aicasm;
MAKEOBJDIRPREFIX=3D/usr/obj/usr/src/sys/XENNEKO/modules =A0make
SSP_CFLAGS=3D -DNO_CPU_CFLAGS -DNO_CTF obj
cd /usr/src/sys/modules/aic7xxx/aicasm;
MAKEOBJDIRPREFIX=3D/usr/obj/usr/src/sys/XENNEKO/modules =A0make
SSP_CFLAGS=3D -DNO_CPU_CFLAGS -DNO_CTF depend
cd /usr/src/sys/modules/aic7xxx/aicasm;
MAKEOBJDIRPREFIX=3D/usr/obj/usr/src/sys/XENNEKO/modules =A0make
SSP_CFLAGS=3D -DNO_CPU_CFLAGS -DNO_CTF all

--------------------------------------------------------------
>>> stage 3.1: making dependencies
--------------------------------------------------------------
cd /usr/obj/usr/src/sys/XENNEKO; MAKEOBJDIRPREFIX=3D/usr/obj
MACHINE_ARCH=3Di386 =A0MACHINE=3Di386 =A0CPUTYPE=3Dpentiumpro
GROFF_BIN_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/bin
GROFF_FONT_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/share/groff_font
GROFF_TMAC_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/share/tmac
_SHLIBDIRPREFIX=3D/usr/obj/usr/src/tmp =A0VERSION=3D"FreeBSD 8.0-CURRENT
i386 800095" =A0INSTALL=3D"sh /usr/src/tools/install.sh"
PATH=3D/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr=
/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/u=
sr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/s=
bin:/usr/bin
NO_CTF=3D1 make KERNEL=3Dkernel depend -DNO_MODULES_OBJ
machine -> /usr/src/sys/i386/include
cc -c -O -pipe -march=3Dpentiumpro -std=3Dc99 -g -Wall -Wredundant-decls
-Wnested-externs -Wstrict-prototypes -Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign
-fformat-extensions -nostdinc -I. -I/usr/src/sys
-I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter
-I/usr/src/sys/contrib/pf -I/usr/src/sys/dev/ath
-I/usr/src/sys/dev/ath/ath_hal -I/usr/src/sys/contrib/ngatm
-I/usr/src/sys/dev/twa -I/usr/src/sys/gnu/fs/xfs/FreeBSD
-I/usr/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/src/sys/gnu/fs/xfs
-I/usr/src/sys/contrib/opensolaris/compat -I/usr/src/sys/dev/cxgb
-D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h
-finline-limit=3D8000 --param inline-unit-growth=3D100 --param
large-function-growth=3D1000 -mno-align-long-strings
-mpreferred-stack-boundary=3D2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
-mno-sse3 -ffreestanding -fstack-protector
/usr/src/sys/i386/i386/genassym.c
NM=3D'nm' sh /usr/src/sys/kern/genassym.sh genassym.o > assym.s
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -p
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -q
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -h
awk -f /usr/src/sys/tools/pccarddevs2h.awk /usr/src/sys/dev/pccard/pccardde=
vs
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/eisa/eisa_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbr_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbus_if.m -=
c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/card_if.m =
-c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/power_if.m=
 -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pcib_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/part/g_part_if.m=
 -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/isa/isa_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/clock_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/cpufreq_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/linker_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/serdev_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/xen/xenbus/xenbus_if.=
m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/acpica/acpi_if.m =
-c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/eisa/eisa_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbr_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbus_if.m -=
h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/card_if.m =
-h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/power_if.m=
 -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pcib_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/part/g_part_if.m=
 -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/isa/isa_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/clock_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/cpufreq_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/linker_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/serdev_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/xen/xenbus/xenbus_if.=
m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/acpica/acpi_if.m =
-h
rm -f .newdep
make -V CFILES -V SYSTEM_CFILES -V GEN_CFILES | =A0MKDEP_CPP=3D"cc -E"
CC=3D"cc" xargs mkdep -a -f .newdep -O -pipe -march=3Dpentiumpro -std=3Dc99
-g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual =A0-Wundef
-Wno-pointer-sign -fformat-extensions -nostdinc =A0-I. -I/usr/src/sys
-I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter
-I/usr/src/sys/contrib/pf -I/usr/src/sys/dev/ath
-I/usr/src/sys/dev/ath/ath_hal -I/usr/src/sys/contrib/ngatm
-I/usr/src/sys/dev/twa -I/usr/src/sys/gnu/fs/xfs/FreeBSD
-I/usr/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/src/sys/gnu/fs/xfs
-I/usr/src/sys/contrib/opensolaris/compat -I/usr/src/sys/dev/cxgb
-D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h
-fno-common -finline-limit=3D8000 --param inline-unit-growth=3D100 --param
large-function-growth=3D1000 =A0-mno-align-long-strings
-mpreferred-stack-boundary=3D2 =A0-mno-mmx -mno-3dnow -mno-sse -mno-sse2
-mno-sse3 -ffreestanding -fstack-protec!
=A0tor
*** Error code 1

Stop in /usr/obj/usr/src/sys/XENNEKO.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.

In file included from /usr/src/sys/dev/xen/netfront/netfront.c:33:
/usr/src/sys/sys/sx.h:211:2: error: #error "LOCK_DEBUG not defined,
include <sys/lock.h> before <sys/sx.h>"
mkdep: compile failed



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?17ca67550906061819g635b6ddew5a95a9fea1311884>