[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

stable innd is segfaulting



I'm encountering a really strange problem on a friend's slink box. We
were trying to fix a few things in his news configuration - rebuilding
suck with perl support and fiddling about with a few configuration files
(like newsfeeds - 'ctlinnd checkfile' is happy, BTW). Suddenly suck
stopped working, which understandably irritated us a bit. Putting all
the configuration files back to (as far as we can remember) the way they
were and reinstalling the original suck package doesn't help.

Eventually I traced the problem to innd itself dying when innxmit tries
to submit articles to it. The tail of an strace looks like this
(apologies for the long lines):

[pid 17274] setsockopt(17, SOL_SOCKET, SO_SNDBUF, [24576], 4) = 0
[pid 17274] setsockopt(17, SOL_SOCKET, SO_RCVBUF, [24576], 4) = 0
[pid 17274] setsockopt(17, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
[pid 17274] write(17, "200 drmanhattan InterNetNews ser"..., 65) = 65
[pid 17274] time([947982516])           = 947982516
[pid 17274] sigaction(SIGPIPE, {0x4007f8a0, [], 0}, {0x8058fb0, [], SA_RESTART}) = 0
[pid 17274] send(3, "<61>Jan 16 00:28:36 innd: drmanh"..., 95, 0) = 95
[pid 17274] sigaction(SIGPIPE, {0x8058fb0, [], SA_RESTART}, NULL) = 0
[pid 17274] select(18, [4 11 13 17], [], NULL, {300, 0}) = 1 (in [17], left {299, 990000})
[pid 17274] gettimeofday({947982516, 604642}, NULL) = 0
[pid 17274] read(17, "ihave <0b2fea80.341afdec@usw-ex0"..., 4095) = 53
[pid 17274] lseek(9, 278336, SEEK_SET)  = 278336
[pid 17274] read(9, "274450\trec.puzzles/393\n", 23) = 23
[pid 17274] read(9, "<Yjrd4.10679$Ce.193756@monger.ne"..., 64) = 64
[pid 17274] write(17, "335\r\n", 5)     = 5
[pid 17274] select(18, [4 11 13 17], [], NULL, {300, 0}) = 1 (in [17], left {299, 980000})
[pid 17274] gettimeofday({947982516, 627961}, NULL) = 0
[pid 17274] read(17, "Path: news4.giganews.com!nntp2.g"..., 4095) = 1019
[pid 17274] --- SIGSEGV (Segmentation fault) ---
<... read resumed> "", 8192)            = 0
close(0)                                = 0
_exit(0)                                = ?

I've tried reading the source, but my knowledge of the internals of innd
is not that deep and I'm stumped. Has anyone encountered this problem
before, and even better do they know how to fix it? It happens in both
streaming and non-streaming mode, and after restarting the server. I'm
going to try rebuilding the active, history, and overview files now, but
their format looks generally OK.

I'd much appreciate any advice anyone might have.

Thanks,

-- 
Colin Watson                                           [cjw44@cam.ac.uk]


Reply to: