Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4271842

HotSparc1.0.1 and ATG (Dynamo) (C2/Sparc)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not an Issue
    • Icon: P1 P1
    • None
    • 1.0
    • hotspot
    • sparc
    • solaris_2.6

      ATG Dynamo BenchMark is not working with HotSparc1.0.1 VM, but
      work with ExactVM.

      It fail with following error message when Running Complex Benchmark.
      java.net.SocketException: Too many open files
      (look into /tmp/atgmark.[pid]/atgmark.log for log file)
      It also fail with JDK122 classic VM(both native thread & green thread)

      Here is how to reproduce the bug:
      1. login to barefoot
      2. set the JAVA_HOME to the directory containing the bin directory
         for the JVM. I have a copy of JDK122fcs + Hotsparc101 VM installed
         at /net/tetrasparc/export/sahara/jdk122fcs/solaris/bin/java
         (you may need to copy it somewhere, because "sahara" is not exported
          to the machine we run ATG, we also don't have valid licence to run
          ATG on our local server)
      3. (Optional) Set the JAVA_ARGS to use additional flag if needed.
      4. use this command line to start ATG Dynamo.
         
         /bin/ksh JAVA_TEST_WS=~/home/talcott/Java/bigapps /home/talcott/Java/bigapps/scripts/run.atg perf

         It take 10-15 minutes to run into the bug.
         (when Running Complex Benchmark)

      5. look into /tmp/atgrun.[PID] for all output log files.

      If you have any problem reproduce the bug, feel free to
      let me know. I can reproduce the bug for you.

      Here is Email from John which may help you debug the program.

      Date: Tue, 14 Sep 1999 11:42:33 -0700 (PDT)
      From: John Rose <###@###.###>
      To: Francis Hsu <###@###.###>
      Subject: Re: HotSpot and ATG (Dynamo)?
      CC: ###@###.###

      I'll bet a cup of coffee that this is a thread-throttling problem.

      That is, I'll bet the benchmark creates short-lived threads at an
      unbounded rate, and each one is not completing before two others start.

      If this is the case, the solution is to put a delay and/or yield into
      the thread-create routine, based on the number of pre-existing runnable
      threads.

      We could test whether this is the case simply by putting a simple delay
      into thread creation. Anybody want to try the experiment?

      -- John

            rknippelsunw Ross Knippel (Inactive)
            fhsusunw Francis Hsu (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: