[news.software.b] Problem with C news addmissing

darrell@urbana.mcd.mot.com (Darrell McIntosh) (03/06/91)

We've been running C news (Patchdate 15-Dec-1990) on our system here for
the past month and it's been great - barely any problems.  However,
yesterday I decided to run addmissing from cron overnight and ran into a
problem.  I got a complaint from histslash saying that an assert had
failed:

    histslash urping on
    Assertion failed: last != NULL, file histslash.c, line 33
    /usr/tools/local/contrib/cnews/bin/maint/addmissing: 9795 abort - core dumped

I did a little investigating and found the source of the problem.  In
addmissing there is a command line that looks like

    comm -13 /tmp/hist$$ /tmp/tree$$ | histinfo | sort |
	    awk -f $NEWSBIN/expire/histdups | histslash >/tmp/new$$

The comm command found no differences in the two files (meaning I didn't
have any missing files).  Things in the pipeline worked fine until it got
to the awk script which added a null line to the pipe.  (In the END
portion of the awk script it fails to check if the script had read
anything.)  The null line causes histslash to fail the assert.

The following context diff is a fix for the problem in expire/histdups:

*** histdups.old	Tue Mar  5 12:15:42 1991
--- histdups	Tue Mar  5 12:15:49 1991
***************
*** 11,14 ****
  	} else
  		names = names " " $3
  }
! END { print mesgid, dates, names }
--- 11,16 ----
  	} else
  		names = names " " $3
  }
! END { if (mesgid != "")
! 	print mesgid, dates, names
! }

-- 
Darrell McIntosh, Motorola Computer Group, Urbana Design Center
Email:  darrell@urbana.mcd.mot.com, udc!darrell, uunet!uiucuxc!udc!darrell

henry@zoo.toronto.edu (Henry Spencer) (03/06/91)

In article <1991Mar5.184229.10851@urbana.mcd.mot.com> darrell@urbana.mcd.mot.com (Darrell McIntosh) writes:
>The following context diff is a fix for the problem in expire/histdups:

Yup.  A virtually identical fix will be along in the next patch (ETA:
early next week; would be tomorrow except that I insist on running the
stuff for a few days first).

This one is annoying but more or less harmless, since you get it only
if addmissing didn't have any work to do. :-)
-- 
"But this *is* the simplified version   | Henry Spencer @ U of Toronto Zoology
for the general public."     -S. Harris |  henry@zoo.toronto.edu  utzoo!henry

res@colnet.uucp (Rob Stampfli) (03/09/91)

>>The following context diff is a fix for the problem in expire/histdups:
>
>This one is annoying but more or less harmless, since you get it only
>if addmissing didn't have any work to do. :-)

I ran addmissing once, when I noticed a problem with an orphan note.  It
worked fine.  I don't generally run it, though, on any regular basis.  My
question:  is it something I should stick it in the crontab to sweep out
any potential problems once a week or so, or should I only run it when there
is cause?
-- 
Rob Stampfli, 614-864-9377, res@kd8wk.uucp (osu-cis!kd8wk!res), kd8wk@n8jyv.oh

henry@zoo.toronto.edu (Henry Spencer) (03/12/91)

In article <1991Mar8.213005.1660@colnet.uucp> res@colnet.uucp (Rob Stampfli) writes:
>I ran addmissing once, when I noticed a problem with an orphan note.  It
>worked fine.  I don't generally run it, though, on any regular basis.  My
>question:  is it something I should stick it in the crontab to sweep out
>any potential problems once a week or so, or should I only run it when there
>is cause?

The intent was that it be run only for cause.  Barring system failures or
resource exhaustion, C News does not lose articles.  When I ran addmissing
for testing, at a time when our system had run many months without a history
rebuild, it turned up a total of four articles, all orphaned due to a messy
crash during news processing.  We're admittedly in a favorable position
because utzoo is very reliable.  If you've got significant reliability
problems, you might want to run addmissing, say, once every couple of months.
If you need it more often than that, you've got problems that need fixing.
-- 
"But this *is* the simplified version   | Henry Spencer @ U of Toronto Zoology
for the general public."     -S. Harris |  henry@zoo.toronto.edu  utzoo!henry