www.a00.de > tcpgroup > 1992 > msg00142
 

TCP-group 1992


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

Horrible nasty netrom bug found



I've been experiencing a problem where netrom connections from NOS
would hang.  For example, I would connect to the local BBS and type
in a bulletin, only to have the session hang after hitting /ex. The
packets were piling up internally somewhere, because I could see
memory status change each time I typed in another line. Netrom status
showed that everything had been acked, and there was nothing in the
queue.

I was using wg7j at the time, but I also tried it with ka9q (900423?),
and got the same results.

I dug into it a bit and found a problem. In the socket code, in
send_mbuf, the code that handles level 4 netrom outgoing packets
checks to see if the transport layer window is full. If it is, it
blocks with pwait until somebody signals it to go again. In my case
at least, nobody ever does, so the netrom session hangs every time
you hit the window size!  This is pretty gross; I can't imagine that
others wouldn't have run into this, but I don't know what is special
about my case that would show it up.

I fixed the symptom by using pwait(NULL) instead of pwait(up). I
realize this is not the right way to do it.  I'll try to determine
the exact cause, but I thought I'd mention it here because it may
be obvious to someone else.

Comments?

Dave





Document URL : http://www.a00.de/tcpgroup/1992/msg00142.php
Ralf D. Kloth, Ludwigsburg, DE (QRQ.software). < hostmaster at a00.de > [don't send spam]
Created 2004-11-12. Last modified 2004-11-12. Your visit 2020-10-28 04:55.24. Page created in 0.0276 sec.
 
[Go to the top of this page]   [... to the index page]