Customer has a situation where we are finding that a socket is staying in
a BOUND state rather that LISTEN state. We find that this problem
doesn't occur under Solaris 2.5.1 and does under Solaris 2.6.
Here's how to reproduce the problem under Solaris 2.6
[1] Install Sun JDK 1.1.5. We have ours installed at /app/jdk_1.1.5
[2] Install Sun JSDK 1.0.1. We have ours installed at /app/JSDK1.0.1
[3] Follow the demonstrated procedure below:
$ uname -a
SunOS traken 5.6 Generic_105181-05 sun4u sparc SUNW,Ultra-5_10
$ CLASSPATH=/app/jdk_1.1.5/lib/classes.zip:/app/JSDK1.0.1/lib/classes.zip
$ export CLASSPATH
$ /app/jdk_1.1.5/bin/java sun.servlet.apache.NcgiServletGate -p 31495 &
[1] 4723
$ netstat -a | grep 31495
*.31495 *.* 0 0 0 0 BOUND
$ telnet localhost 31495
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
Here's another machine which works (Solaris 2.5.1):
$ uname -a
SunOS zeos 5.5.1 Generic_103640-12 sun4u sparc SUNW,Ultra-2
$ CLASSPATH=/usr/local/jdk1.1.5/lib/classes.zip:/usr/local/JSDK1.0.1/lib/classes.zip
$ export CLASSPATH
$ /usr/local/jdk1.1.5/bin/java sun.servlet.apache.NcgiServletGate -p 31495 &
[1] 25715
$ netstat -a | grep 31495
*.31495 *.* 0 0 0 0 LISTEN
$ telnet localhost 31495
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^]
telnet> q
Connection closed.
$
The following logs have been captured:
o netstat -a
netstat -a output
-----------------
UDP
Local Address Remote Address State
-------------------- -------------------- -------
*.sunrpc Idle
*.* Unbound
*.32821 Idle
*.syslog Idle
*.* Unbound
*.33608 Idle
*.33609 Idle
*.33610 Idle
*.33611 Idle
*.33612 Idle
*.33613 Idle
*.* Unbound
TCP
Local Address Remote Address Swind Send-Q Rwind Recv-Q State
-------------------- -------------------- ----- ------ ----- ------ -------
*.* *.* 0 0 0 0 IDLE
*.sunrpc *.* 0 0 0 0 LISTEN
*.* *.* 0 0 0 0 IDLE
*.ftp *.* 0 0 0 0 LISTEN
*.telnet *.* 0 0 0 0 LISTEN
*.32771 *.* 0 0 0 0 LISTEN
*.32772 *.* 0 0 0 0 LISTEN
*.smtp *.* 0 0 0 0 LISTEN
*.7937 *.* 0 0 0 0 LISTEN
*.http *.* 0 0 0 0 LISTEN
*.ssh *.* 0 0 0 0 LISTEN
traken-dmz.ssh jaconda.1019 8760 0 8760 0 ESTABLISHED
traken-dmz.ssh jaconda.1018 8760 0 8760 0 ESTABLISHED
traken-dmz.ssh jaconda.1017 8760 0 8760 0 ESTABLISHED
traken-dmz.ssh jaconda.1016 8760 0 8760 0 ESTABLISHED
home.infoshop.sa.gov.au.ssh 143.216.161.124.1023 8760 0 8760 0 ESTABLISHED
*.6010 *.* 0 0 0 0 LISTEN
home.infoshop.sa.gov.au.telnet pollux.lands.sa.gov.au.2964 8192 0 8760 0 EST
ABLISHED
home.infoshop.sa.gov.au.32826 solos.lands.sa.gov.au.1521 8760 0 8760 0 ESTAB
LISHED
home.infoshop.sa.gov.au.32827 solos.lands.sa.gov.au.1521 8760 0 8760 0 ESTAB
LISHED
home.infoshop.sa.gov.au.32828 kastria.lands.sa.gov.au.1521 8760 0 8760 0 EST
ABLISHED
home.infoshop.sa.gov.au.32829 solos.lands.sa.gov.au.1521 8760 0 8760 0 ESTAB
LISHED
home.infoshop.sa.gov.au.32830 kastria.lands.sa.gov.au.1521 8760 0 8760 0 EST
ABLISHED
home.infoshop.sa.gov.au.32831 sawcsun1.sawater.sa.gov.au.1526 8760 0 8760 0
ESTABLISHED
*.32862 *.* 0 0 0 0 LISTEN
home.infoshop.sa.gov.au.14001 *.* 0 0 0 0 LISTEN
home.infoshop.sa.gov.au.32863 *.* 0 0 0 0 LISTEN
traken-dmz.32864 *.* 0 0 0 0 LISTEN
*.32865 *.* 0 0 0 0 LISTEN
*.14002 *.* 0 0 0 0 LISTEN
*.32866 *.* 0 0 0 0 LISTEN
traken-dmz.32867 *.* 0 0 0 0 LISTEN
*.9080 *.* 0 0 0 0 LISTEN
home.infoshop.sa.gov.au.14002 macra.lands.sa.gov.au.59192 8760 0 8760 0 ESTA
BLISHED
traken-dmz.14040 jaconda.14106 8760 0 8760 0 ESTABLISHED
traken-dmz.14039 jaconda.14101 8760 0 8760 0 ESTABLISHED
traken-dmz.14038 jaconda.14104 8760 0 8760 0 ESTABLISHED
traken-dmz.14037 jaconda.14108 8760 0 8760 0 ESTABLISHED
traken-dmz.14036 jaconda.14102 8760 0 8760 0 ESTABLISHED
traken-dmz.14035 jaconda.14103 8760 0 8760 0 ESTABLISHED
traken-dmz.14020 jaconda.14106 8760 0 8760 0 ESTABLISHED
traken-dmz.14019 jaconda.14101 8760 0 8760 0 ESTABLISHED
traken-dmz.14018 jaconda.14104 8760 0 8760 0 ESTABLISHED
traken-dmz.14017 jaconda.14108 8760 0 8760 0 ESTABLISHED
traken-dmz.14016 jaconda.14102 8760 0 8760 0 ESTABLISHED
traken-dmz.14015 jaconda.14103 8760 0 8760 0 ESTABLISHED
home.infoshop.sa.gov.au.14001 143.216.163.136.1891 8663 0 10136 0 ESTABLISHED
home.infoshop.sa.gov.au.9080 143.216.163.136.1890 8010 0 10136 0 FIN_WAIT_2
home.infoshop.sa.gov.au.9080 143.216.163.136.1894 8592 0 10136 0 TIME_WAIT
home.infoshop.sa.gov.au.9080 143.216.163.136.1892 8575 0 10136 0 FIN_WAIT_2
home.infoshop.sa.gov.au.32875 production.lands.sa.gov.au.telnet 32768 0 9112
0 ESTABLISHED
*.31490 *.* 0 0 0 0 BOUND
home.infoshop.sa.gov.au.ftp 143.216.161.124.54423 8760 0 8760 0 FIN_WAIT_2
*.* *.* 0 0 0 0 IDLE
This has been confirmed to be only a problem on 2.6 platform. It works fine on both 2.5.1 and Solaris 7. Was also tested with JDK 1.1.6 with the same result.
I have attched customer app to replicate problem.
a BOUND state rather that LISTEN state. We find that this problem
doesn't occur under Solaris 2.5.1 and does under Solaris 2.6.
Here's how to reproduce the problem under Solaris 2.6
[1] Install Sun JDK 1.1.5. We have ours installed at /app/jdk_1.1.5
[2] Install Sun JSDK 1.0.1. We have ours installed at /app/JSDK1.0.1
[3] Follow the demonstrated procedure below:
$ uname -a
SunOS traken 5.6 Generic_105181-05 sun4u sparc SUNW,Ultra-5_10
$ CLASSPATH=/app/jdk_1.1.5/lib/classes.zip:/app/JSDK1.0.1/lib/classes.zip
$ export CLASSPATH
$ /app/jdk_1.1.5/bin/java sun.servlet.apache.NcgiServletGate -p 31495 &
[1] 4723
$ netstat -a | grep 31495
*.31495 *.* 0 0 0 0 BOUND
$ telnet localhost 31495
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
Here's another machine which works (Solaris 2.5.1):
$ uname -a
SunOS zeos 5.5.1 Generic_103640-12 sun4u sparc SUNW,Ultra-2
$ CLASSPATH=/usr/local/jdk1.1.5/lib/classes.zip:/usr/local/JSDK1.0.1/lib/classes.zip
$ export CLASSPATH
$ /usr/local/jdk1.1.5/bin/java sun.servlet.apache.NcgiServletGate -p 31495 &
[1] 25715
$ netstat -a | grep 31495
*.31495 *.* 0 0 0 0 LISTEN
$ telnet localhost 31495
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^]
telnet> q
Connection closed.
$
The following logs have been captured:
o netstat -a
netstat -a output
-----------------
UDP
Local Address Remote Address State
-------------------- -------------------- -------
*.sunrpc Idle
*.* Unbound
*.32821 Idle
*.syslog Idle
*.* Unbound
*.33608 Idle
*.33609 Idle
*.33610 Idle
*.33611 Idle
*.33612 Idle
*.33613 Idle
*.* Unbound
TCP
Local Address Remote Address Swind Send-Q Rwind Recv-Q State
-------------------- -------------------- ----- ------ ----- ------ -------
*.* *.* 0 0 0 0 IDLE
*.sunrpc *.* 0 0 0 0 LISTEN
*.* *.* 0 0 0 0 IDLE
*.ftp *.* 0 0 0 0 LISTEN
*.telnet *.* 0 0 0 0 LISTEN
*.32771 *.* 0 0 0 0 LISTEN
*.32772 *.* 0 0 0 0 LISTEN
*.smtp *.* 0 0 0 0 LISTEN
*.7937 *.* 0 0 0 0 LISTEN
*.http *.* 0 0 0 0 LISTEN
*.ssh *.* 0 0 0 0 LISTEN
traken-dmz.ssh jaconda.1019 8760 0 8760 0 ESTABLISHED
traken-dmz.ssh jaconda.1018 8760 0 8760 0 ESTABLISHED
traken-dmz.ssh jaconda.1017 8760 0 8760 0 ESTABLISHED
traken-dmz.ssh jaconda.1016 8760 0 8760 0 ESTABLISHED
home.infoshop.sa.gov.au.ssh 143.216.161.124.1023 8760 0 8760 0 ESTABLISHED
*.6010 *.* 0 0 0 0 LISTEN
home.infoshop.sa.gov.au.telnet pollux.lands.sa.gov.au.2964 8192 0 8760 0 EST
ABLISHED
home.infoshop.sa.gov.au.32826 solos.lands.sa.gov.au.1521 8760 0 8760 0 ESTAB
LISHED
home.infoshop.sa.gov.au.32827 solos.lands.sa.gov.au.1521 8760 0 8760 0 ESTAB
LISHED
home.infoshop.sa.gov.au.32828 kastria.lands.sa.gov.au.1521 8760 0 8760 0 EST
ABLISHED
home.infoshop.sa.gov.au.32829 solos.lands.sa.gov.au.1521 8760 0 8760 0 ESTAB
LISHED
home.infoshop.sa.gov.au.32830 kastria.lands.sa.gov.au.1521 8760 0 8760 0 EST
ABLISHED
home.infoshop.sa.gov.au.32831 sawcsun1.sawater.sa.gov.au.1526 8760 0 8760 0
ESTABLISHED
*.32862 *.* 0 0 0 0 LISTEN
home.infoshop.sa.gov.au.14001 *.* 0 0 0 0 LISTEN
home.infoshop.sa.gov.au.32863 *.* 0 0 0 0 LISTEN
traken-dmz.32864 *.* 0 0 0 0 LISTEN
*.32865 *.* 0 0 0 0 LISTEN
*.14002 *.* 0 0 0 0 LISTEN
*.32866 *.* 0 0 0 0 LISTEN
traken-dmz.32867 *.* 0 0 0 0 LISTEN
*.9080 *.* 0 0 0 0 LISTEN
home.infoshop.sa.gov.au.14002 macra.lands.sa.gov.au.59192 8760 0 8760 0 ESTA
BLISHED
traken-dmz.14040 jaconda.14106 8760 0 8760 0 ESTABLISHED
traken-dmz.14039 jaconda.14101 8760 0 8760 0 ESTABLISHED
traken-dmz.14038 jaconda.14104 8760 0 8760 0 ESTABLISHED
traken-dmz.14037 jaconda.14108 8760 0 8760 0 ESTABLISHED
traken-dmz.14036 jaconda.14102 8760 0 8760 0 ESTABLISHED
traken-dmz.14035 jaconda.14103 8760 0 8760 0 ESTABLISHED
traken-dmz.14020 jaconda.14106 8760 0 8760 0 ESTABLISHED
traken-dmz.14019 jaconda.14101 8760 0 8760 0 ESTABLISHED
traken-dmz.14018 jaconda.14104 8760 0 8760 0 ESTABLISHED
traken-dmz.14017 jaconda.14108 8760 0 8760 0 ESTABLISHED
traken-dmz.14016 jaconda.14102 8760 0 8760 0 ESTABLISHED
traken-dmz.14015 jaconda.14103 8760 0 8760 0 ESTABLISHED
home.infoshop.sa.gov.au.14001 143.216.163.136.1891 8663 0 10136 0 ESTABLISHED
home.infoshop.sa.gov.au.9080 143.216.163.136.1890 8010 0 10136 0 FIN_WAIT_2
home.infoshop.sa.gov.au.9080 143.216.163.136.1894 8592 0 10136 0 TIME_WAIT
home.infoshop.sa.gov.au.9080 143.216.163.136.1892 8575 0 10136 0 FIN_WAIT_2
home.infoshop.sa.gov.au.32875 production.lands.sa.gov.au.telnet 32768 0 9112
0 ESTABLISHED
*.31490 *.* 0 0 0 0 BOUND
home.infoshop.sa.gov.au.ftp 143.216.161.124.54423 8760 0 8760 0 FIN_WAIT_2
*.* *.* 0 0 0 0 IDLE
This has been confirmed to be only a problem on 2.6 platform. It works fine on both 2.5.1 and Solaris 7. Was also tested with JDK 1.1.6 with the same result.
I have attched customer app to replicate problem.
- relates to
-
JDK-4106600 java.net.ServerSocket refuses connection if backlog = Integer.MAX_VALUE
- Resolved