expireover core (perhaps an ov3search bug)
Christophe Wolfhugel
wolf at oleane.net
Fri Apr 14 16:17:10 UTC 2000
Running inn-CURRENT-20000411 with tradindexed. The overview file is possibly
corrupted due to a system crash.
And here is the stack trace :
#0 0x804d171 in OVERGetHeader (
p=0x62ab6936 <Address 0x62ab6936 out of bounds>, field=3) at ov.c:946
946 for (; field-- >= 0 && *p; p++)
(gdb) where
#0 0x804d171 in OVERGetHeader (
p=0x62ab6936 <Address 0x62ab6936 out of bounds>, field=3) at ov.c:946
#1 0x804d779 in OVhisthasmsgid (
data=0x62ab6936 <Address 0x62ab6936 out of bounds>) at ov.c:1138
#2 0x805d265 in tradindexed_expiregroup (
group=0x8081004 "comp.infosystems.www.servers.ms-windows", lo=0xbfbfcea0)
at ov3.c:1109
#3 0x804bfdf in OVexpiregroup (
group=0x8081004 "comp.infosystems.www.servers.ms-windows", lo=0xbfbfcea0)
at ov.c:357
#4 0x8049c92 in main (argc=1, argv=0xbfbfef28) at expireover.c:140
#5 0x8049741 in _start ()
It happens that iv storage/ov3/ov3.c:1103, the call to ov3search
returns an invalid address in "data".
I believe the bug is still there as ov3.c has not changed in more recent
snapshots. From doing further tracing, it happens that the index entry if
corrupted. When in ov3search, I get following :
$7 = {offset = 7310001941813201206, length = 1948269158, arrived = 1853125477,
expires = 779319141, token = {type = 111 'o', class = 108 'l',
token = "eane.net dk.frit"}}
Clearly the offset and other data seem to be wrong : offset should be
zero here as it's the first entry in the overview file.
Are there some sanity checks which can be done at this point in order to
eliminate bogus entries ?
--
Christophe Wolfhugel -+- wolf at oleane.net -+- France Telecom Oleane
More information about the inn-workers
mailing list