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

Re: [leafnode-list] Gravity doesn't like leafnode?



Rick Flower <Richard.Flower@xxxxxxxxx> writes:

> Hi.. I was wondering if anyone lately has tried using the
> Gravity newsreader with some recent version of leafnode?
> It will come up initially, and start checking the first
> 4-5 groups, but then just stops..
>
> At that point, if I connect the debugger (gdb) to the
> leafnode process, I get the following stackdump :
>
> (gdb) where
> #0  0x70000984 in read ()
> #1  0x7000ccec in __sread ()
> #2  0x7000cba0 in __srefill ()
> #3  0x7000e7d8 in __srget ()
> #4  0x00005a7c in _getline (to=0x63480 "GROUP", size=254,
> stream=0x800017a0) at getline.c:46
> #5  0x00005b84 in getline (pto=0xe8b0, size=0xe8b4, stream=0x800017a0)
> at getline.c:71
> #6  0x00008d30 in getaline (f=0x10108) at getaline.c:36
> #7  0x00009dc0 in mgetaline (f=0x800017a0) at mgetaline.c:55
> #8  0x00002374 in parser () at nntpd.c:232
> #9  0x000059f0 in main (argc=0, argv=0xbffffe08) at nntpd.c:1618
> #10 0x00001bd0 in _start ()
> #11 0x00001a00 in start ()
>
> It would indicate that it perhaps got stuck reading a command from
> the (remote) Gravity reader.

Indeed.

> What's somewhat more strange is that this seems to work fine when
> using a local newsreader to connect..  Once it hangs, if I
> double-click on a newsgroup name in Gravity, it still does
> nothing.. Perhaps leafnode is stuck at that point..  I'm not sure..
> Leafnode is running on a MacOS-X system (10.1.3) and I'm running one
> of the 1.9.21rc versions..

There is only one such version as of now ;-)

Can you do this in gdb:

1. frame 4 (or whatever # your _getline is)
2. info locals
3. frame 5 (the getline beast)
4. info locals

However, that may not really help us, because if we're looking at subtle
things like line terminators or off-by-one errors, the process core may
not provide enough state information.

It may be necessary to have a look at a tcpdump or tethereal log of the
session (try "tcpdump -s 5000 port 119" or something similar). tcpdump
can save the packet trace to a file (-w option) and analyse it later
with ethereal, which may be really useful for figuring if it's leafnode
or the kernel or libc.

But watch out, the trace can contain passwords if users must
authenticate themselves, and make sure you're not running fetchnews at
the same time, which could bring the credentials to your upstream NNTP
server into the packet trace.

-- 
Matthias Andree

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