JDK-4427986 : Classic VM goes into hard run at 1018 socket connections (RH7.0/1.3.1beta)
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 1.3.1
  • Priority: P3
  • Status: Closed
  • Resolution: Won't Fix
  • OS: linux
  • CPU: x86
  • Submitted: 2001-03-20
  • Updated: 2001-03-27
  • Resolved: 2001-03-27

Name: krC82822			Date: 03/20/2001

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.

[john@ppro vmark2.1.2]$ cat /etc/redhat-release
Red Hat Linux release 7.0 (Guinness)
[john@ppro 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
[john@ppro vmark2.1.2]$ rpm -q glibc

I upgraded Glibc from here:


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

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:

[john@ppro 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 Name: krC82822 Date: 03/20/2001 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. hui.huang@Eng 2001-03-27