Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 May 1996 20:46:41 +0000 ()
From:      Dror Matalon <dror@dnai.com>
To:        Brian Tao <taob@io.org>
Cc:        FREEBSD-ISP-L <freebsd-isp@freebsd.org>
Subject:   Re: Any inn1.4unoff4 on 2.1R caveats?
Message-ID:  <Pine.BSF.3.91.960505121339.5783h-100000@mars.dnai.com>
In-Reply-To: <Pine.NEB.3.92.960505142820.20955R-100000@zot.io.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 5 May 1996, Brian Tao wrote:

>     For some reason, innd core dumped three times so far today (and
> it's only early afternoon).  It was behaving fairly well up until
> recently when two kernel panics caused reboots.
> 
>     Is there any way of tracking down the cause of the core dumps?
> Could it be a corrupt history file (how do I check)?  I remember
> something about a bad cancel control message a couple months ago
> causing innd's all over the place to spew.
> 
>     I've turned off our outgoing feeds for now to narrow down the
> problem.  I'm also upgrading from unoff3 to unoff4 to see if that will
> help.  Have others noticed any unusual instabilities with their
> FreeBSD servers recently?  Mine's a 2.1R box.  Thanks.

The following Perl script finds problems in your history files and fixes
them. THe comments indicate how to use.it. Use at your own risk.

#!/usr/local/bin/perl
#
# history database sanity checker
# David Barr <barr@math.psu.edu>
# version 1.1
# Throw away history entries with:
#   malformed lines (too long, contain nulls or special characters)
#
# INN Usage:
#   ctlinnd throttle 'fixing history'
#   ./fixhist <history >history.n
#   makehistory -r -s `wc -l <history` -f history.n
#   mv history.n history
#   mv history.n.dir history.dir
#   mv history.n.pag history.pag
#   ctlinnd go 'fixing history'
# any malformed entries will be output to stderr.



$MAXKEYLEN=255;
$now=time();

while (<>) {
        chop;
        ($msgid,$dates,$arts,$xtra) = split('\t');
        if ($xtra) {
                &tossit();              # too many fields
                next;
        }
        unless ($msgid) {
                &tossit();              # too few fields (emtpy, usually)
                next;
        }
        if (length($msgid) >= $MAXKEYLEN) {
                &tossit();              # message-id too long
                next;
        }
        if ($msgid !~ /^<[^< ]*>/) {
                &tossit();              # malformed msg-ids
                next;
        }
        if (/[\000-\010\012-\037\177-\377]/) { # non control-chars except tab
                &tossit();              # illegal chars
                next;
        }
#       if ($dates) {
#               ($date_a,$date_e,$date_p)= split('~');
#               $date_e=0 if ($date_e='-');
#               $date_p=0 if ($date_p='-');
#       }
#       print "$_\n";
}
sub tossit {
        print STDERR "$_\n";
}



Dror

Dror Matalon                                            Voice: 510 649-6110
Direct Network Access                                   Fax:   510 649-7130
2039 Shattuck Avenue                                    Modem: 510 649-6116
Berkeley, CA 94704                                      Email: dror@dnai.com





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.960505121339.5783h-100000>