tcp/ip hangs on Solaris 2.2

tcp/ip hangs on Solaris 2.2

Post by Joachim Barts » Wed, 12 Jan 1994 01:08:01



Hi netlanders,

I have several problems running Solaris 2.2 (patches installed) on a Sun 10/40.
A process listens on a socket, starts child-processes and continues listening.
All further communication on the established connection is done by the
child, until the child dies. The parent starts listening after the fork()
call and will create new children on connection requests.

On Solaris2.2, the process hangs after a few hours and does not accept
connections anymore, but I don't know why. On other OS, I never had problems
like this. And Solaris itself seems to crash later: First, no tcp/ip is
possible anymore, on the second stage I get a silent death of the kernel.

One of the interesting things is, that closed sockets sometimes remain (as
netstat displays) as long as the listening process exists, no matter if the
child is dead or not.

Has anybody ever had similar problems with Solaris? Any help would be
greatly appreciated.

Thanks in advance
Joachim
--
 ----------------------------------------------------------------------------

 BeBit Infotechnik GmbH, Mannheim.   Voice: +49 621-459-2652 Fax: 621-459-2501
 > type c) to continue, d) to dump core or b) to reboot:

 
 
 

tcp/ip hangs on Solaris 2.2

Post by Ian Donalds » Wed, 12 Jan 1994 07:39:25



>Hi netlanders,
>I have several problems running Solaris 2.2 (patches installed) on a Sun 10/40.
>A process listens on a socket, starts child-processes and continues listening.
>All further communication on the established connection is done by the
>child, until the child dies. The parent starts listening after the fork()
>call and will create new children on connection requests.
>On Solaris2.2, the process hangs after a few hours and does not accept
>connections anymore, but I don't know why. On other OS, I never had problems
>like this. And Solaris itself seems to crash later: First, no tcp/ip is
>possible anymore, on the second stage I get a silent death of the kernel.
>One of the interesting things is, that closed sockets sometimes remain (as
>netstat displays) as long as the listening process exists, no matter if the
>child is dead or not.
>Has anybody ever had similar problems with Solaris? Any help would be
>greatly appreciated.

I just installed Solaris 2.3 on an SS1000 and experienced a stuck TCP
connection on an rsh stream.  

I did this from a Sol2.3 box to an IPX running 4.1.2:

        2.3host% rsh 4.1.2host gunzip < /net/4.1.2host/somewhere.gz | tar tvf -

and the tcp connection hung after tar showed about a 100 k worth
of files (3 files actually).  This is 100% repeatable.

trace(1) of gunzip on the 4.1.2 host shows it stuck in write()

truss(1) of tar(1) on the 2.3 host shows it stuck in read()

tcpdump(1) shows an ACK war on the wire between the two hosts which goes
on for a very long time.  Here is an excerpt.

10:01:58.796842 2.3host.1022 > 4.1.2host.shell: . ack 37870 win 8760 (DF) (ttl 255, id 11465)
10:01:58.797206 4.1.2host.shell > 2.3host.1022: . ack 36887 win 0 (ttl 60, id 63764)
10:01:58.797798 2.3host.1022 > 4.1.2host.shell: . ack 37870 win 8760 (DF) (ttl 255, id 11466)
10:01:58.798199 4.1.2host.shell > 2.3host.1022: . ack 36887 win 0 (ttl 60, id 63765)
10:01:58.798757 2.3host.1022 > 4.1.2host.shell: . ack 37870 win 8760 (DF) (ttl 255, id 11467)
10:01:58.799196 4.1.2host.shell > 2.3host.1022: . ack 36887 win 0 (ttl 60, id 63766)
10:01:58.799794 2.3host.1022 > 4.1.2host.shell: . ack 37870 win 8760 (DF) (ttl 255, id 11468)
10:01:58.800219 4.1.2host.shell > 2.3host.1022: . ack 36887 win 0 (ttl 60, id 63767)
10:01:58.800704 2.3host.1022 > 4.1.2host.shell: . ack 37870 win 8760 (DF) (ttl 255, id 11469)
10:01:59.624692 2.3host.1022 > 4.1.2host.shell: . ack 37870 win 8760 (DF) (ttl 255, id 12206)
10:01:59.625080 4.1.2host.shell > 2.3host.1022: . ack 36887 win 0 (ttl 60, id 64556)
10:01:59.625602 2.3host.1022 > 4.1.2host.shell: . ack 37870 win 8760 (DF) (ttl 255, id 12207)
10:01:59.626028 4.1.2host.shell > 2.3host.1022: . ack 36887 win 0 (ttl 60, id 64557)
10:01:59.626584 2.3host.1022 > 4.1.2host.shell: . ack 37870 win 8760 (DF) (ttl 255, id 12208)
10:01:59.626961 4.1.2host.shell > 2.3host.1022: . ack 36887 win 0 (ttl 60, id 64558)
10:01:59.627540 2.3host.1022 > 4.1.2host.shell: . ack 37870 win 8760 (DF) (ttl 255, id 12209)
10:01:59.627937 4.1.2host.shell > 2.3host.1022: . ack 36887 win 0 (ttl 60, id 64559)
10:01:59.628467 2.3host.1022 > 4.1.2host.shell: . ack 37870 win 8760 (DF) (ttl 255, id 12210)
10:01:59.628929 4.1.2host.shell > 2.3host.1022: . ack 36887 win 0 (ttl 60, id 64560)
10:01:59.629465 2.3host.1022 > 4.1.2host.shell: . ack 37870 win 8760 (DF) (ttl 255, id 12211)

On the 2.3host, I have the following patch installed

2.3host% what /kernel/drv/tcp
/kernel/drv/tcp:
        SunOS 5.3 Generic 101346-03 November 1993

Anybody else seen this?

Ian D

 
 
 

tcp/ip hangs on Solaris 2.2

Post by Casper H.S. D » Wed, 12 Jan 1994 19:49:39



>I just installed Solaris 2.3 on an SS1000 and experienced a stuck TCP
>connection on an rsh stream.  
>I did this from a Sol2.3 box to an IPX running 4.1.2:
>    2.3host% rsh 4.1.2host gunzip < /net/4.1.2host/somewhere.gz | tar tvf -
>and the tcp connection hung after tar showed about a 100 k worth
>of files (3 files actually).  This is 100% repeatable.

Yep, 100% repeatable, but even from a Solaris 2.3 host to itself.

It seems that a tcp/ip connection in Solaris can't cope with
two way traffic, when it exceeds more than a couple of MB,
but especially when there is processing going on.

% rsh 2.3host cat < /opt/patches/5.3/101318-13.tar.Z | wc

hangs or slows to a crawl.

After a while, cat gets EPIPE and exits.

Casper

 
 
 

tcp/ip hangs on Solaris 2.2

Post by Rob Heal » Thu, 13 Jan 1994 04:04:31




>>I have several problems running Solaris 2.2 (patches installed) on a Sun 10/40.

>I just installed Solaris 2.3 on an SS1000 and experienced a stuck TCP
>connection on an rsh stream.  

>On the 2.3host, I have the following patch installed

>2.3host% what /kernel/drv/tcp
>/kernel/drv/tcp:
>    SunOS 5.3 Generic 101346-03 November 1993

        Which patches? Minimally for network problems you probably want
        at least 101318-21, the kernel patch with gobs of networking fixes.
        Might be others too but this one is definitely a must.

                -Rob

 
 
 

tcp/ip hangs on Solaris 2.2

Post by Casper H.S. D » Thu, 13 Jan 1994 05:10:35





>>I just installed Solaris 2.3 on an SS1000 and experienced a stuck TCP
>>connection on an rsh stream.  
>    Which patches? Minimally for network problems you probably want
>    at least 101318-21, the kernel patch with gobs of networking fixes.
>    Might be others too but this one is definitely a must.

This bug still exists in Solaris 2.3 w/ patch 101318-21 installed
and can be easily reproduced.

Casper

 
 
 

1. TCP/IP address change under Solaris 2.2

Hi all,
I have been faced to big problems when I attempted to move my NIS+ root
server to an another ip subnet. Since this kind of move (ip address change)
occurs pretty often in our company, I would like to know if somebody has
established a general procedure to achieve this.

I have found some hints in the answerbook, commands like nisupdkeys and
so on, but I'm looking for something that work, not dummy tricks !

Help will be apreciated, regards from Switzerland, Ch. Bueche
=========================================

Ascom Infrasys AG
Solothurn, Switzerland
=========================================

2. Linux Frequently Asked Questions with Answers (Part 6 of 6)

3. Solaris 2.2 tcp/ip performance

4. Help!! X and ATI Mach_64

5. Solaris 2.5.1 TCP/IP faces Solaris2.6 TCP/IP

6. CGI in Beta 5 (NT) ??

7. TCP/IP stack for Wabi 2.2

8. Q: DNS, nslookup, /etc/hosts, nsswitch and name resolution.

9. what got broken in 2.2 kernel's TCP/IP?

10. Possible problem in 2.2.x tcp/ip when using netmask 255.255.255.224

11. Replacing Netware 3.12 TCP/IP (RIP) router with Linux 2.2

12. Interactive Unix Rel. 2.2, TCP/IP, X

13. Why the TCP/IP socket hang up in my SS 20 running Solaris 2.4 ?