Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Jun 2009 11:58:44 +0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Edwin Shao <poleris@gmail.com>
Cc:        freebsd-xen@freebsd.org
Subject:   Re: -current XEN build fails with WITNESS off
Message-ID:  <d763ac660906062058p2350291eqa773a3b92d3517f1@mail.gmail.com>
In-Reply-To: <17ca67550906061819g635b6ddew5a95a9fea1311884@mail.gmail.com>
References:  <17ca67550906061819g635b6ddew5a95a9fea1311884@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
You absolutely want to run the witness checks; freebsd/xen is still in
development.

I'll commit the netfront fix though. Thanks!


Adrian

2009/6/7 Edwin Shao <poleris@gmail.com>:
> 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 =A0 =A0 =A0 =A0WITNESS =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Enable =
checks to detect
> deadlocks and cycles
> #options =A0 =A0 =A0 =A0WITNESS_SKIPSPIN =A0 =A0 =A0 =A0# Don't run witne=
ss 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/u=
sr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:=
/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr=
/sbin:/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/u=
sr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:=
/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr=
/sbin:/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/u=
sr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:=
/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr=
/sbin:/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/=
XENNEKO
> cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
> -I/usr/src/sys/dev/aic7xxx/aicasm -std=3Dgnu99 =A0-Wsystem-headers -Werro=
r
> -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 -Werro=
r
> -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 -Werro=
r
> -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 -Werro=
r
> -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 -Werro=
r
> -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 -Werro=
r
> -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 -Werro=
r
> -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/u=
sr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:=
/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr=
/sbin:/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/pccard=
devs
> 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_i=
f.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_i=
f.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=3Dc=
99
> -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 --para=
m
> 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
> _______________________________________________
> freebsd-xen@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-xen
> To unsubscribe, send any mail to "freebsd-xen-unsubscribe@freebsd.org"
>



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