Make buildworld broken on RELENG_9?

Jeremy Chadwick jdc at koitsu.org
Fri Apr 19 20:21:42 UTC 2013


On Fri, Apr 19, 2013 at 09:57:46PM +0200, Paul van der Zwan wrote:
> 
> On 19 Apr 2013, at 1:36 , Jeremy Chadwick <jdc at koitsu.org> wrote:
> 
> > On Thu, Apr 18, 2013 at 02:16:28PM -0700, Jeremy Chadwick wrote:
> >> On Thu, Apr 18, 2013 at 10:59:29PM +0200, Paul van der Zwan wrote:
> >>> Since last weekend or so my make buildworld terminate at the following error:
> >>> ===> share/tabset (all)
> >>> uudecode < /usr/src/share/tabset/3101.uu
> >>> uudecode < /usr/src/share/tabset/9837.uu
> >>> uudecode < /usr/src/share/tabset/aa.uu
> >>> uudecode < /usr/src/share/tabset/aed512.uu
> >>> uudecode < /usr/src/share/tabset/beehive.uu
> >>> uudecode < /usr/src/share/tabset/diablo.uu
> >>> uudecode < /usr/src/share/tabset/dtc382.uu
> >>> uudecode < /usr/src/share/tabset/hp700-wy.uu
> >>> uudecode < /usr/src/share/tabset/ibm3101.uu
> >>> uudecode < /usr/src/share/tabset/std.uu
> >>> uudecode < /usr/src/share/tabset/stdcrt.uu
> >>> uudecode < /usr/src/share/tabset/tandem653.uu
> >>> uudecode < /usr/src/share/tabset/teleray.uu
> >>> uudecode < /usr/src/share/tabset/vt100.uu
> >>> uudecode < /usr/src/share/tabset/vt100-w.uu
> >>> uudecode < /usr/src/share/tabset/wyse-adds.uu
> >>> uudecode < /usr/src/share/tabset/xerox1720.uu
> >>> uudecode < /usr/src/share/tabset/xerox1730.uu
> >>> uudecode < /usr/src/share/tabset/xerox1730-lm.uu
> >>> uudecode < /usr/src/share/tabset/zenith29.uu
> >>> ===> share/termcap (all)
> >>> gzip -cn /usr/src/share/termcap/termcap.5 > termcap.5.gz
> >>> TERM=dumb TERMCAP=dumb: ex - /usr/src/share/termcap/termcap.src < /usr/src/share/termcap/reorder
> >>> script, 2: Pattern not found
> >>> *** [termcap] Error code 1
> >>> 
> >>> Stop in /usr/src/share/termcap.
> >>> *** [all] Error code 1
> >>> 
> >>> Stop in /usr/src/share.
> >>> *** [share.all__D] Error code 1
> >>> 
> >>> Stop in /usr/src.
> >>> *** [everything] Error code 1
> >>> 
> >>> Stop in /usr/src.
> >>> *** [buildworld] Error code 1
> >>> 
> >>> Stop in /usr/src.
> >>> 
> >>> Even after updateing /usr/src using svn I keep this.
> >>> Before this build I updated it:
> >>> $ cd /data/src ; svn up ; 
> >>> U    sys/sys/vnode.h
> >>> U   sys/sys
> >>> U    sys/geom/geom_disk.c
> >>> U    sys/geom/geom_int.h
> >>> U    sys/geom/geom_subr.c
> >>> U    sys/geom/geom_dev.c
> >>> U    sys/geom/geom_event.c
> >>> U    sys/ufs/ufs/ufs_lookup.c
> >>> U    sys/ufs/ffs/ffs_softdep.c
> >>> U    sys/cam/cam_xpt.c
> >>> U    sys/cam/cam_periph.c
> >>> U    sys/cam/cam_sim.c
> >>> U    sys/cam/cam_periph.h
> >>> U    sys/cam/cam_sim.h
> >>> U    sys/cam/scsi/scsi_xpt.c
> >>> U    sys/cam/scsi/scsi_da.c
> >>> U    sys/cam/scsi/scsi_pass.c
> >>> U    sys/cam/scsi/scsi_cd.c
> >>> U    sys/cam/ata/ata_da.c
> >>> U    sys/cam/ata/ata_all.c
> >>> U    sys/cam/ata/ata_xpt.c
> >>> U    sys/dev/usb/controller/xhci_pci.c
> >>> U   sys/dev
> >>> U    sys/kern/vfs_cache.c
> >>> U   sys
> >>> Updated to revision 249624.
> >>> 
> >>> /etc/make.conf is almost empty :
> >>> $ cat /etc/make.conf
> >>> KERNCONF=vbox
> >>> CFLAGS= -O2 -fno-strict-aliasing -pipe
> >>> COPTFLAGS= -O -pipe
> >>> 
> >>> # added by use.perl 2013-03-12 18:50:12
> >>> PERL_VERSION=5.14.2
> >>> 
> >>> Any ideas ?
> >> 
> >> I've been able to build stable/9 world without issue even as recent as
> >> last night.  I'll rm -fr /usr/obj/* and rebuild world under "script"
> >> then go look at the output to see if I see anything anomalous around
> >> the area you've shown.  I'll reply when that's done.
> >> 
> >> {snip}
> > 
> > Can't reproduce the issue.
> > 
> > root at testbox:/usr/src # svn info
> > Path: .
> > Working Copy Root Path: /usr/src
> > URL: svn://svn.freebsd.org/base/stable/9
> > Repository Root: svn://svn.freebsd.org/base
> > Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
> > Revision: 249628
> > Node Kind: directory
> > Schedule: normal
> > Last Changed Author: mav
> > Last Changed Rev: 249624
> > Last Changed Date: 2013-04-18 06:19:41 -0700 (Thu, 18 Apr 2013)
> > 
> > Here's what I get, around where yours fails:
> > 
> > ===> share/termcap (all)
> > gzip -cn /usr/src/share/termcap/termcap.5 > termcap.5.gz
> > TERM=dumb TERMCAP=dumb: ex - /usr/src/share/termcap/termcap.src < /usr/src/share/termcap/reorder
> > cap_mkdb -l termcap
> > ===> share/timedef (all)
> > grep -v '^#' < /usr/src/share/timedef/am_ET.UTF-8.src > am_ET.UTF-8.out
> > 
> > Note that yours says "script, 2: Pattern not found" with no mention of
> > cap_mkdb.
> > 
> > My guess is that you have one of the following:
> > 
> > a) A corrupted src/share/termcap/Makefile,
> > b) A corrupted SVN repo,
> 
> Deleted the content of src/share/termcap and reran svn.
> Now the build succeeds.

Not surprised.  :-)

> > c) Silent filesystem corruption,
> > d) Physical disk issues (e.g. bit rot).
> > 
> /usr/src is NFS mounted from an OpenIndiana server so the underlying FS is ZFS, so no bitrot or silent corruption
> should be possible.

As long as the pool configuration is using something that ZFS can induce
recovery from (specifically: mirrors, raidzX, or a combination of vdevs
that make such possible), then that's true.  If a stripe of disks, or a
single disk, then only detection of such problems is possible.

zpool status will shed light on the situation.

> I made a snapshot before I deleted the files and ran svn:
> $ ls -l /data//src/.zfs/snapshot/20130419/share/termcap/
> total 669
> -rw-r--r--   1 paulz    home         731 Nov 18 22:26 Makefile
> -rw-r--r--   1 paulz    home        2501 Nov 18 22:26 README
> -rw-r--r--   1 paulz    home        1467 Nov 18 22:26 reorder
> -rw-r--r--   1 paulz    home        3531 Nov 18 22:26 tck
> -rw-r--r--   1 paulz    home       66181 Nov 18 22:26 termcap.5
> -rw-r--r--   1 paulz    home      214309 Apr 16 18:55 termcap.src
> $ ls -l
> total 669
> -rw-r--r--   1 paulz    home         731 Apr 19 17:01 Makefile
> -rw-r--r--   1 paulz    home        2501 Apr 19 17:01 README
> -rw-r--r--   1 paulz    home        1467 Apr 19 17:01 reorder
> -rw-r--r--   1 paulz    home        3531 Apr 19 17:01 tck
> -rw-r--r--   1 paulz    home       66181 Apr 19 17:01 termcap.5
> -rw-r--r--   1 paulz    home      208289 Apr 19 17:01 termcap.src
> 
> So it looks like termcap.src was very different but somehow svn never updated that file.
> I have only used svn to pull in the FreeBSD source so at the moment no idea if that is normal,
> but it surprised my that this happened..

I also find this interesting -- note that multiple files I have are
different sizes than yours (the only ones which are the same size are
README and tck).

root at icarus:/usr/src # ls -l /usr/src/share/termcap/
total 288
-rw-r--r--    1 root      wheel        797 Jan 24 16:58 Makefile
-rw-r--r--    1 root      wheel       2501 Jan 24 16:58 README
-rw-r--r--    1 root      wheel       1533 Jan 24 16:58 reorder
-rw-r--r--    1 root      wheel       3531 Jan 24 16:58 tck
-rw-r--r--    1 root      wheel      66248 Jan 24 16:58 termcap.5
-rw-r--r--    1 root      wheel     208361 Jan 24 16:58 termcap.src
root at icarus:/usr/src # svn info
Path: .
Working Copy Root Path: /usr/src
URL: svn://svn.freebsd.org/base/stable/9
Repository Root: svn://svn.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 249650
Node Kind: directory
Schedule: normal
Last Changed Author: mm
Last Changed Rev: 249643
Last Changed Date: 2013-04-19 02:19:10 -0700 (Fri, 19 Apr 2013)

And now to try something:

root at icarus:/usr/src # cp -pR share/termcap /tmp
root at icarus:/usr/src # rm -fr share/termcap
root at icarus:/usr/src # svn update
Updating '.':
Restored 'share/termcap'
Restored 'share/termcap/Makefile'
Restored 'share/termcap/README'
Restored 'share/termcap/termcap.5'
Restored 'share/termcap/tck'
Restored 'share/termcap/termcap.src'
Restored 'share/termcap/reorder'
A    lib/libpmc/pmc.haswelluc.3
A    lib/libpmc/pmc.haswell.3
U    lib/libpmc/Makefile
U    lib/libpmc/libpmc.c
 U   lib/libpmc
U    sys/dev/hwpmc/pmc_events.h
U    sys/dev/hwpmc/hwpmc_intel.c
U    sys/dev/hwpmc/hwpmc_core.c
U    sys/dev/hwpmc/hwpmc_uncore.c
 U   sys/dev
U    sys/sys/pmc.h
 U   sys/sys
 U   sys
Updated to revision 249658.
root at icarus:/usr/src # ls -l /usr/src/share/termcap/
total 288
-rw-r--r--  1 root  wheel     797 Apr 19 13:14 Makefile
-rw-r--r--  1 root  wheel    2501 Apr 19 13:14 README
-rw-r--r--  1 root  wheel    1533 Apr 19 13:14 reorder
-rw-r--r--  1 root  wheel    3531 Apr 19 13:14 tck
-rw-r--r--  1 root  wheel   66248 Apr 19 13:14 termcap.5
-rw-r--r--  1 root  wheel  208361 Apr 19 13:14 termcap.src
root at icarus:/usr/src # diff -ruN share/termcap /tmp/termcap
root at icarus:/usr/src #

Are you following a different branch than I am?  I'm using stable/9,
as shown.  The SVN mirror I use is also shown.

If you're following stable/9, then something is very much out of whack
on your system, or the SVN repo you're using is giving you very strange
results.

My recommendations:

1. Try a different SVN repo mirror,

2. Remove NFS from the picture entirely; use a local disk instead,
at least for testing/figuring this out,

3. Start over fresh.  DO NOT just delete individual files or dirs --
there is a "database" SVN uses (just like csup/cvsup!) to try and keep
track of what's what.  To start over fresh:

rm -fr /usr/src /usr/src/.svn
svn checkout svn://wherever/base/stable/9 /usr/src

Good luck, and I look forward to the results of your investigation.

-- 
| Jeremy Chadwick                                   jdc at koitsu.org |
| UNIX Systems Administrator                http://jdc.koitsu.org/ |
| Mountain View, CA, US                                            |
| Making life hard for others since 1977.             PGP 4BD6C0CB |


More information about the freebsd-stable mailing list