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

Re: [leafnode-list] Segmentation error



Here's what I get in /var/log/messages:

Jan 16 20:31:15 server fetchnews[30412]: news.nerim.net: Error: got unparsable 
XOVER line from server, too few fields (0): ""
Jan 16 20:31:15 server fetchnews[30412]: news.nerim.net: Error: got unparsable 
XOVER line from server, too few fields (1): "^A"

BTW, I'm now having the following error:
Cannot obtain lock file, aborting.

Bye!
Nicolas.

Le Jeudi 16 Janvier 2003 00:00, vous avez écrit :
> Nicolas <oxstone@xxxxxxx> writes:
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x4202d71f in __strtoul_internal () from /lib/i686/libc.so.6
> > (gdb) backtrace full
> > #0  0x4202d71f in __strtoul_internal () from /lib/i686/libc.so.6
> > No symbol table info available.
> > #1  0x0804b373 in getgroup (g=0x40265624, server=1)
> >     at /usr/include/stdlib.h:308
>
> I'm at a loss here, because the line number information is missing. The
> getgroup function is rather longish, so I can't figure which of the many
> strtoul calls barfed.
>
> I *guess* it died around line 820, in art = strtoul(fields[0], &q, 10)
>
> -- that'd match this line:
> >         fields = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
>
> and the fact that t and l are non-NULL.
>
> Anyways, I ask for two things:
>
> 1. unpack your leafnode-1.9.32 source (or reuse the old unpacked source)
>    and patch it with this patch, then recompile (make) and reinstall
>    leafnode (make install, do not use make install-strip), see below for
>    instructions.
>
> 2. See the DEBUGGING section in the README file, it tells you how to
>    configure your syslogd to log news output. Oh, and type "touch
>    /var/log/news.all" before sending a -HUP to syslogd.
>
> Just save this mail into your leafnode-1.9.32 as "patchmail", then cd
> there and type "patch <patchmail", then type "make && make install".
>
> Let me know what it logs, and if it still crashes. Of particular
> interest are the "Error: got unparsable XOVER line from server"
> lines. By all means, NEVER use cut and paste, but redirect output to a
> file, edit the output file (cut irrelevant parts) and use the "insert
> file" function of your editor, if in doubt, uuencode.
>
> If you want to attach a file, send it to my private address, the mailing
> list software doesn't handle attachments. (it is going to be exchanged
> real soon now).
>
> --- ./fetchnews.c.orig	2003-01-15 23:58:57 +0100
> +++ ./fetchnews.c	2003-01-15 23:59:30 +0100
> @@ -797,7 +797,10 @@
>  	    unsigned long art;
>  	    const char *t;
>  	    char *q;
> +	    static mastr *ol;
> +	    if (!ol) ol = mastr_new(1024);
>
> +	    mastr_cpy(ol, l);
>  	    /* split xover */
>  	    /*@+loopexec@*/
>  	    for (i = 0; l && l[0] && i < HD_MAX; i++) {
> @@ -807,12 +810,20 @@
>  		    y[0] = '\0';
>  		    l = y + 1;
>  		} else {
> -		    l = 0;
> +		    l = NULL;
>  		};
>  	    };
>  	    /*@=loopexec@*/
> +	    /* short line -- log and skip */
> +	    if (i < 8) {
> +		ln_log(LNLOG_SERR, LNLOG_CTOP,
> +			"%s: Error: got unparsable XOVER line from server, "
> +			"too few fields (%ld): \"%s\"",
> +			current_server->name, i, mastr_str(ol));
> +		continue;
> +	    }
>  	    for (; i < HD_MAX; i++)
> -		fields[i] = 0;
> +		fields[i] = NULL;
>  	    art = strtoul(fields[0], &q, 10);
>  	    if (q && art >= server && art <= last &&
>  		stat(t = lookup(fields[h_mid]), &st) != 0) {

-- 
leafnode-list@xxxxxxxxxxxxxxxxxxxxxxxxxxxx -- mailing list for leafnode
To unsubscribe, send mail with "unsubscribe" in the subject to the list