ctlinnd begin inpaths\! cores innd

Miquel van Smoorenburg list-inn-workers at news.cistron.nl
Sat Apr 7 09:27:30 UTC 2001


If I attach to innd (2.4 CVS) with gdb and in another window
do an 'ctlinnd begin inpaths\!' to reload my inpaths process
innd coredumps.

It appears that the newsfeeds file isn't reloaded properly, and
the Sites array has nonsense in it.

It should look like this:

(gdb) print Sites[0].Name
$1 = 0x82ea528 "innfeed!"
(gdb) print Sites[1].Name
$2 = 0x82ea570 "controlchan!"
(gdb) print Sites[2].Name
$3 = 0x82ea5d0 "inpaths!"
(gdb) print Sites[3].Name
$4 = 0x82ea618 "newsgate.cistron.nl"
(gdb) print Sites[4].Name
$5 = 0x82ea660 "news.cistron.nl"
(gdb) print Sites[5].Name
$6 = 0x0
(gdb) print nSites
$7 = 5
(gdb) c

But instead, after ctlinnd begin, it looks like:

(gdb) print Sites[0].Name
$28 = 0x82f7d90 "innfeed!"
(gdb) print Sites[1].Name
$29 = 0x0
(gdb) print Sites[2].Name
$30 = 0x0
(gdb) print Sites[3].Name
$31 = 0x82fa098 "newsgate.cistron.nl"
(gdb) print Sites[4].Name
$32 = 0x82ea4c8 "news.cistron.nl"
(gdb) print Sites[5].Name
$33 = 0x0
(gdb) print nSites
$34 = 5

The first place it then crashes is
(gdb) where
#0  0x400e53c0 in strcasecmp ()
#1  0x805ff9a in ListHas (list=0x82fb758, p=0x0) at art.c:1581
#2  0x806017a in ARTpropagate (data=0x40354c68, hops=0x82fb758, hopcount=9, 
    list=0x854e6f8, ControlStore=false, OverviewCreated=true) at art.c:1650
#3  0x806219f in ARTpost (cp=0x40354838) at art.c:2673
#4  0x806a484 in NCpostit (cp=0x40354838) at nc.c:194
#5  0x806baf5 in NCproc (cp=0x40354838) at nc.c:975
#6  0x806c24f in NCreader (cp=0x40354838) at nc.c:1177
#7  0x8066f2c in CHANreadloop () at chan.c:1078
#8  0x8069ec4 in main (ac=2, av=0xbffffe74) at innd.c:639
#9  0x400a8a52 in   ()

But ofcourse that could happen anywhere since Sites contains
zeroed out entries - any access would cause a SEGV.

A plain 'ctlinnd reload newsfeeds' appears to work fine:

% ctlinnd reload newsfeeds test
Ok
(gdb) print Sites[0].Name
$1 = 0x82f7dd8 "innfeed!"
(gdb) print Sites[1].Name
$2 = 0x82f6c10 "controlchan!"
(gdb) print Sites[2].Name
$3 = 0x82f6c70 "inpaths!"
(gdb) print Sites[3].Name
$4 = 0x82fa0e0 "newsgate.cistron.nl"
(gdb) print Sites[4].Name
$5 = 0x82ea510 "news.cistron.nl"
(gdb) print Sites[5].Name
$6 = 0x0
(gdb) print nSites
$7 = 5

If you need my newsfeeds file let me know.

Mike.

-- 
The From: and Reply-To: addresses are internal news2mail gateway addresses.
Reply to the list or to miquels at cistron-office.nl (Miquel van Smoorenburg)


More information about the inn-workers mailing list