expireover core dump

John P Speno speno at isc.upenn.edu
Tue Aug 10 23:48:45 UTC 1999


On Wed, Aug 11, 1999 at 06:25:54AM +0900, Katsuhiro Kondou wrote:
> In article <19990810104836.A79557 at isc>,
> 	John P Speno <speno at isc.upenn.edu> wrote;
> 
> } expireover is core dumping every night in OVclose because there is no
> } tradindexed_close function in storage/ov3/ov3.c. expireover seg faults
> } because it is dereferencing a null pointer. 
> 
> tradindexed_close() exists in ov3.c.

So there is. I guess there is a different problem then. It could be a
compiler bug. Here's what I see when I run expireover under a debugger on
my Digital UNIX 4.0f system:

dbx version 3.11.10
Type 'help' for help.

main:  25  char                activefn[BIG_BUFFER] = "";
(dbx) print ov_methods
{
    [0] struct {
        name = 0x140000b80 = "buffindexed"
        open = 0x120018db4
        groupstats = 0x1200193c0
        groupadd = 0x120019584
        groupdel = 0x120019c9c
        add = 0x12001a650
        cancel = 0x12001abc8
        opensearch = 0x12001b568
        search = 0x12001b5f0
        closesearch = 0x12001b7d8
        getartinfo = 0x12001b828
        expiregroup = 0x12001c4a8
        probe = 0x12001c864
        close = (nil)
    }
    [1] struct {
        name = 0x140000b90 = "tradindexed"
        open = 0x12001c920
        groupstats = 0x12001cea0
        groupadd = 0x12001cf94
        groupdel = 0x12001d660
        add = 0x12001e948
        cancel = 0x12001ee3c
        opensearch = 0x12001ee54
        search = 0x12001efbc
        closesearch = 0x12001f154
        getartinfo = 0x12001f1b4
        expiregroup = 0x12001f9e4
        probe = 0x120020064
        close = (nil)
    }
} 
(dbx) print tradindexed_close
0x120020064 

So, the function exists, but my ov_methods structures have (nil) for the
close function.

I've tested this on another system, and it seems to be fine there. That's a
Digital UNIX 4.0d system.


More information about the inn-workers mailing list