Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4427986
Votes 0
Synopsis Classic VM goes into hard run at 1018 socket connections (RH7.0/1.3.1beta)
Category java:runtime
Reported Against ladybird-beta
Release Fixed
State 11-Closed, Will Not Fix, bug
Priority: 3-Medium
Related Bugs
Submit Date 20-MAR-2001
Description




java version "1.3.1-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1-beta-b15)
Classic VM (build 1.3.1-beta-b15, green threads, nojit)

I'm using a new Red Hat Linux 7.0 server installation.  I needed to upgrade from
Glibc version 2.1.92 to version 2.2 in order to get any Java VM to work.

[ xxxxx@xxxxx  vmark2.1.2]$ cat /etc/redhat-release
Red Hat Linux release 7.0 (Guinness)
[ xxxxx@xxxxx  vmark2.1.2]$ uname -a
Linux ppro.sf.volano.net 2.2.16-22smp #1 SMP Tue Aug 22 16:39:21 EDT 2000 i686
unknown
[ xxxxx@xxxxx  vmark2.1.2]$ rpm -q glibc
glibc-2.2-12

I upgraded Glibc from here:

http://www.redhat.com/support/errata/RHSA-2001-001.html

The problem is that the VM goes into a hard run (using up all available CPU)
when it reaches 1,018 concurrent socket connections.  The problem is easily
reproducible when I use our VolanoMark network scalability test to try to
establish 2,000 concurrent connections over the network from another machine.

The server side under test is started with:

/usr/java/jdk1.3.1/bin/java -classic -showversion -Xms8m -Xmx256m -Xss32k
COM.volano.Main

The problem occurs with or without the stack size option ("-Xss32k").

The client side is started on another machine (running Solaris 8 Intel) with:

$HOME/j2sdk1_3_0RC/bin/java -server -showversion -Xms64m -Xmx256m -Xss64k
COM.volano.Mark -host ppro2 -rooms 100

The problem does not occur with the following Blackdown J2SDK 1.3.0-FCS release:

java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.3.0-FCS)
Classic VM (build Blackdown-1.3.0-FCS, green threads, nojit)

In fact, the Blackdown 1.3.0-FCS release can easily handle up to 5,000 active
concurrent socket connections over the network.

I was unable to test the HotSpot VM since it fails with:

[ xxxxx@xxxxx  john]$ /usr/java/jdk1.3.1/bin/java -version
/usr/java/jdk1.3.1/bin/i386/native_threads/java: error while loading shared
libraries: libstdc++-libc6.1-1.so.2: cannot load shared object file: No such
file or directory

In my earlier testing, the HotSpot Server VM failed at 440 concurrent
connections because of limits on the number of Linux native threads.
(Review ID: 119091) 
======================================================================
Work Around




Use the Blackdown release of J2SE 1.3.1 when it becomes available, since their
port of Sun's Java VM contains the fix.
======================================================================
Evaluation
About HotSpot VM not run on Redhat 7.0 Server installation:

Redhat 7.x has a new libstdc++ library, which is not compatible with
old libstdc++ library that's being used on Redhat 6.x. Redhat provides
a compatibility libstdc++ library for programs which are built on 6.x
to run. Unfortunately, this compatibility library (compat-libstdc++)
is not installed by default with Redhat 7.x Server installation.

While we try to support as many Linux platforms as possible, currently 
we only build binaries on Redhat 6.1. Therefore we need compat-libstdc++
present to run on Redhat 7.x, otherwise user will see error message
on "libstdc++-libc6.1-1.so.2:..:no such file or directory".

compat-libstdc++ is in /RedHat/RPMS on Redhat 7.x CD-ROM. To fix the problem,
user only needs to install compat-libstdc++-XXXXX.i386.rpm (replace "XXXXX"
with actual version number) with "rpm --install". This will be documented
in release notes.

As to classic VM hang, it's a known problem. Since we are near ladybird
FCS and merlin does not include classic VM. This bug will not be fixed.

 xxxxx@xxxxx  2001-03-27
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang