buffindexed: could not open overview
Sang-yong Suh
sysuh at kigam.re.kr
Tue Dec 3 00:57:51 UTC 2002
On Sun, Dec 01, 2002 at 02:43:29PM +0900, Katsuhiro Kondou wrote:
> I'm writing the explanation of buffindexed. Still in
> the way and may not well described, but here shows it
> anyway for your understanding.
Thank you for the new document. It helped me a lot to understanding the
code.
By the way my news.err contains following lines:
Dec 3 03:29:09 yfs expireover[3852]: buffindexed: ovgroupmmap
ovbuff is null(ovindex is 12848, ovblock is 842543923
Dec 3 03:29:09 yfs expireover[3852]: buffindexed: could not open
overview for 'demon.answers'
The overview DB has been rebuilt two days ago and INND was running
smoothly until now. I mean the overview DB should be clean.
I've run buffindexed in debug mode and got following:
---------------------------------------------------------------------
% gdb buffindexed
(gdb) b 1546
Breakpoint 1 at 0x804cc3e: file buffindexed.c, line 1546.
(gdb) r demon.answers
Starting program: /home/news/src/INN/inn-STABLE-20021127/storage/buffindexed/buffindexed demon.answers
GROUPheader->freelist.recno is 51281(0x0000c851)
base 96832(1), cur 96832(1), expired at Tue Dec 3 03:29:09 2002
demon.answers: low is 853, high is 853, count is 1, flag is 'm'
Breakpoint 1, ovgroupmmap (ge=0x40149a98, low=853, high=853, needov=1)
at buffindexed.c:1546
1546 munmap(addr, len);
(gdb) print addr
$1 = 0x40021000 "338202\tRe: Are Buddhists really welcome in the Boy Scouts ?\tNonexistent <none at all.com>\tFri, 29 Nov 2002 01:42:31 GMT\t<3DE6C606.2060704 at all.com>\t<a386bae7.0211261921.1f6e16e9 at posting.google.com> <1MrF9"...
(gdb) print ovblock->ovindexhead
$2 = {next = {blocknum = 842543923, index = 12848}, low = 1092631141,
high = 1109419378}
---------------------------------------------------------------------
The code tries to read ovindexhead. However, the actual content is
overview data. The block number, if multiplied by block_size(8192)
produces an offset which is beyond the file limit. This causes
MMAP on the next loop to fail resulting the syslog error:
"ovgroupmmap ovbuff is null".
Is there a way to fix this?
--
sysuh
More information about the inn-workers
mailing list