*BSD News Article 92189


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.ecn.uoknor.edu!feed1.news.erols.com!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!news-peer.gsl.net!news.gsl.net!hammer.uoregon.edu!zephyr.texoma.net!uunet!in1.uu.net!198.68.191.16!news.accessone.com!not-for-mail
From: jdp@polstra.com (John Polstra)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: cvsup broken beyond compare
Date: 27 Mar 1997 09:07:01 -0800
Organization: Polstra & Co., Seattle, WA
Lines: 61
Message-ID: <5he9fl$69o@austin.polstra.com>
References: <5hcl00$1ad$1@news.nol.net>
NNTP-Posting-Host: austin.polstra.com
Summary: "options DEBUG" in kernel config
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:37938

Brett Hawn <blh@nol.net> wrote:
> Ok, so we're on a brand new freebsd 2.2-RELEASE machine, everything else
> works just bloody fine but cvsup .. well, using an exact duplicate of
> /usr/share/examples/cvsup/standard-supfile .... we see the following:
> 
> Script started on Wed Mar 26 20:05:29 1997
> # cvsup -g -L 2 standard-supfile
> fatal process exception: page fault, fault VA = 0x108150
> 
> fatal process exception: page fault, fault VA = 0x108150
> [...]

These messages are coming out of your kernel, not out of cvsup.
They are coming out because you built your kernel with "options
DEBUG".  As has been stated a number of times in the various FreeBSD
mailing lists, "options DEBUG" is strictly for kernel debugging, and
is _not_ for use in a running system.  The DEBUG option enables all
kinds of cruft in the kernel, and all bets are off if you use it.

The Modula-3 runtime uses a sophisticated VM-synchronized garbage
collector, which protects certain pages of the address space and
then catches the SIGBUS signals in order to manage the heap.  With
DEBUG on in the kernel, you'll see a message for every one of those
signals.  The program is still working, mind you.  It's just causing
your kernel to waste a lot of time in printf.

If you insist on keeping the DEBUG option, you can work around the
problem by adding a magic argument "@M3novm" to the cvsup and/or
cvsupd command lines.  That disables the VM-synchronization feature.

> Needless to say its pretty annoying, least they could have was
> leave the regular sup servers up and working until cvsup had fewer
> bugs :(

Speaking of annoying, here's something that's pretty annoying.
You see a problem that needs to be solved, and you get some good
ideas.  You spend a few months designing, implementing, testing,
and refining a program.  You show it to a few people, and they like
it.  They show it to some more people.  The program becomes popular,
and pretty soon hundreds of people are happily using it.  You feel
proud and happy.

Then some guy comes along and tries the program.  He has a screwy
setup, and things don't work quite right at first.  What does he do?

Does he consider that hundreds of people use the program daily, and
ask himself what might be different about his system to cause it not
to work there?  Nooooooo.

Does he send a bug report to the author?  Nooooooo.

Does he ask for help?  Noooooo.

No, he just picks up the nearest megaphone and shouts to anybody
who'll listen that the program is "broken beyond compare."

Now _that's_ annoying.
-- 
   John Polstra                                       jdp@polstra.com
   John D. Polstra & Co., Inc.                Seattle, Washington USA
   "Self-knowledge is always bad news."                 -- John Barth