inn-2.3.0, expire with delayrm, tradspool, seems not working

Benedict Lofstedt benedict at daimi.au.dk
Mon Oct 2 08:13:23 UTC 2000



Hi Katsuhiro,

 > In article <14800.45185.535035.810259 at caligula.daimi.au.dk>,
 > =09Benedict Lofstedt <benedict at daimi.au.dk> wrote;
 >=20
 > } Can't unlink @05000000000300079DFA0000000000000000@
 > }=20
 > } and, eventually, I had a core dump.
 >=20
 > Could you do back trace for it?
 >=20

See below.

 > } If I don't do 'delayrm', expire works fine ...
 >=20
 > Could you show expire.log for both?

Unfortunately, no.  And it turns out that this was not the issue.

 > --=20
 > Katsuhiro Kondou

It turned out that my initial analysis was wrong - expireover dumped co=
re
with or without delayrm. See below for a traceback - I'm afraid I can't=
 get
any better information than that.

Meanwhile, I have got my server back up by

     1) removing all control/cancel articles
     2) removing alt.* articles that were too old with
        find $SPOOL/alt -mtime +2 -type f | xargs rm
     3) removing $PATHOVERVIEW/*
     4) rebuilding history and overview databases with
        makehistory -O ...
     5) starting the server
     6) /news/bin/news.daily

I'm still annoyed by the thousands of log entries from makehistory whic=
h
result from cross-posted articles where some of the cross-postings have=

been removed.  An article like this one:

Xref: news.daimi.au.dk talk.politics.misc:1589510 alt.society.anarchy:1=
46527 alt.fan.noam-chomsky:93243 alt.activism:499181 alt.punk:541916 al=
t.politics.radical-left:300160

talk/politics/misc/1589510 existed, but all the crosspostings didn't.
Result: makehistory puts out a log entry for each token,
e.g. alt/activism/499181.

--- benedict

[news at gjallar:~/etc]$ gdb /news/bin/expireover core
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and yo=
u are
welcome to change it and/or distribute copies of it under certain condi=
tions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for deta=
ils.
This GDB was configured as "mips-sgi-irix6.5"...
Core was generated by `expireover'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib32/libc.so.1...done.
#0  0x0 in ?? ()
(gdb) dir /news/tmp/inn-2.3.0/storage /news/tmp/inn-2.3.0/expire=20
Source directories searched: /news/tmp/inn-2.3.0/storage:/news/tmp/inn-=
2.3.0/expire:$cdir:$cwd
(gdb) bt
#0  0x0 in ?? ()
#1  0x10021090 in OVgroupbasedexpire (token=3D{type =3D 0 '\000',=20
      class =3D 0 '\000',=20
      token =3D "\000\000\000\000\000\000\000\000\000\001\000\000\000\0=
04\000"},=20
    group=3D0x10025994 "=FF=A2", data=3D0x1004cd68 "", len=3D0, arrived=
=3D268589600,=20
    expires=3D0) at ov.c:1085
Cannot access memory at address 0x2c
(gdb) list
24      static int signalled =3D 0;
25      void sigfunc(int sig)
26      {
27          signalled =3D 1;
28          xsignal(sig, SIG_DFL);
29      }
30     =20
31      int main(int argc, char *argv[]) {
32          int         i;
33          char        activefn[BIG_BUFFER] =3D "";
(gdb) up
#1  0x10021090 in OVgroupbasedexpire (token=3D{type =3D 0 '\000',=20
      class =3D 0 '\000',=20
      token =3D "\000\000\000\000\000\000\000\000\000\001\000\000\000\0=
04\000"},=20
    group=3D0x10025994 "=FF=A2", data=3D0x1004cd68 "", len=3D0, arrived=
=3D268589600,=20
    expires=3D0) at ov.c:1085
1085        if ((Xref =3D OVERGetHeader(data, Xrefindex)) =3D=3D NULL) =
{
(gdb) list
1080                return TRUE;
1081            }
1082        } else {
1083            when =3D arrived;
1084        }
1085        if ((Xref =3D OVERGetHeader(data, Xrefindex)) =3D=3D NULL) =
{
1086            if (Group !=3D NULL) {
1087                DISPOSE(Group);
1088            }
1089            Group =3D NEW(char, strlen(group) + 1);
(gdb) print data
$1 =3D 0x1004cd68 ""
(gdb) print Xrefindex
$2 =3D 7
(gdb)=20



More information about the inn-bugs mailing list