buffindexed, a racing problem?

Sang-yong Suh sysuh at kigam.re.kr
Wed Dec 18 06:48:52 UTC 2002


On Wed, Dec 18, 2002 at 09:17:39AM +0900, Sang-yong Suh wrote:
> 
> Yesterday, I've rebuilt INN with OV_DEBUG turned on, rebuilt overview
> data, and started rc.news.  By the way, during the expireover run,
> the innd aborted with following message.
> 
>     $ cat news.err
>     Dec 18 00:39:47 yfs innd: buffindexed: 0x00007aa7 trying to occupy
>         new block(0, 105633), but already occupied

Reading buffindexed.c carefully, I realized that Katsuhiro left good
debugging tools in the code.  I am now able to understand the history of
the problematic block(0, 105633). The cronological usage of the block is
as follows:

1. Dec 17 16:08:48 makehistory[32596] group 107a allocated the block (0,105633).

   Actually, the time mark of my history run was

   starting makehistory Tue Dec 17 15:19:38 KST 2002
   starting news Tue Dec 17 20:36:50 KST 2002

2. Dec 18 00:29:31 expireover[4889] group 107a freed the block (0,105633).

3. Dec 18 00:39:47 expireover[4889] group 1379 allocated the block (0,105633).

and at almost the same time,

4. Dec 18 00:39:47 yfs innd: buffindexed: 0x00007aa7 trying to occupy
        new block(0, 105633), but already occupied

Isn't it a racing problem?
--
sysuh


More information about the inn-workers mailing list