[Top][All Lists]

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

Re: more info on networking trouble

From: Marcus Brinkmann
Subject: Re: more info on networking trouble
Date: Wed, 17 Jan 2001 02:01:18 +0100
User-agent: Mutt/1.1.4i

On Tue, Jan 16, 2001 at 05:59:47AM -0500, Roland McGrath wrote:
> The IP options are bogus--they are not really there.  Figure out how it is
> that telnetd thinks it is getting IP options.  Whatever is returning an
> indication of IP options must be a bug (in libc or pfinet).

I didn't follow that track, because it was coming from libwrap (tcp
wrapper), and I was not set up to debug there. Instead, I let inetd start
telnetd directly, and attached gdb to pfinet before doing so.

It turns out that sometimes, when telnet seems to hang, it was sufficient to
press a key to let some more data flow (let's say a couple of lines, maybe
even the 1024 bytes it requests). So, you get a wacky terminal which chokes
and burps ;)

Seriously, I think this is some trouble with the condition_wait/select
stuff. Pending bytes don't seem to be delivered or wake a waiting select.
This seems to be a timing issue, I could keep alive telnet a lot longer
while running gdb on pfinet, esp with having breakpoints on S_io_select and

But this is not everything, I also saw this:

S_io_read (user = 0x700807f9, data=0x740130be, datalen=0xff0130be,
offset = 16777215, amount = 117440516)

and a quick death with EXC_BAD_INSTRUCTION in io-ops.c, l 87 afterwards.
So there is some serious memory corruption taking place, too, as the
parameters are obviously bogus.

It is good to stop syslogd while doing this stuff, as it selects() on a
socket, which makes pfinet more nervous.


`Rhubarb is no Egyptian god.' Debian http://www.debian.org brinkmd@debian.org
Marcus Brinkmann              GNU    http://www.gnu.org    marcus@gnu.org

reply via email to

[Prev in Thread] Current Thread [Next in Thread]