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