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