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

REGRESSION: hotspot c2 crash running rmi JCK tests

XMLWordPrintable

    • b01
    • sparc
    • solaris_9

      the below JCK 1.3a tests fail with -Xcomp on solaris and linux with 1.3.1_16. Do not fail with 1.3.1_15.

        api/java_rmi/server/RemoteServer/index_GetClientHost.jtr
        api/java_rmi/rmic/stub12/TestRemote10/index_NonRemoteMethod.jtr
        api/java_rmi/rmic/stub12/TestRemote0/index_Void.jtr
        api/java_rmi/rmic/stub12/TestRemote1/index_Several.jtr

      to reproduce :

      cd /java/re/jck/1.3a/archive/fcs/binaries/JCK-compiler-13a/

      bash-2.00$ /java/re/jdk/1.3.1_16/promoted/latest/binaries/solaris-sparc/bin/javac -classpath classes:javatest.jar -J-Xcomp -J-Xbatch -d /tmp tests/api/java_rmi/server/RemoteServer/GetClientHostTests.java

      cd /tmp

      bash-2.00$ /java/re/jdk/1.3.1_15/latest/binaries/solaris-sparc/bin/rmic -server -keep -verbose -J-Xbatch -J-XX:+PrintCompilation -J-Xcomp -d /tmp javasoft.sqe.tests.api.java.rmi.server.RemoteServer.GetClHostImpl

      Unexpected Signal : 11 occurred at PC=0xFECBFE14
      Function name=JVM_CurrentTimeMillis
      Library=/net/jre.sfbay/p/v09/jdk/1.3.1_16/fcs/b06/binaries/solaris-sparc/jre/lib
      /sparc/server/libjvm.so

      Current Java thread:

      Dynamic libraries:
      0x10000 /java/re/jdk/1.3.1_16/promoted/latest/binaries/solaris-sparc/bin
      /../bin/sparc/native_threads/rmic
      0xff370000 /usr/lib/libthread.so.1
      0xff3a0000 /usr/lib/libdl.so.1
      0xff280000 /usr/lib/libc.so.1
      0xff350000 /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
      0xfec00000 /net/jre.sfbay/p/v09/jdk/1.3.1_16/fcs/b06/binaries/solaris-sparc
      /jre/lib/sparc/server/libjvm.so
      0xff240000 /usr/lib/libCrun.so.1
      0xff210000 /usr/lib/libsocket.so.1
      0xfeb00000 /usr/lib/libnsl.so.1
      0xff1e0000 /usr/lib/libm.so.1
      0xff360000 /usr/lib/libw.so.1
      0xff1b0000 /usr/lib/libmp.so.2
      0xff190000 /usr/lib/librt.so.1
      0xff170000 /usr/lib/libaio.so.1
      0xfebe0000 /usr/lib/libmd5.so.1
      0xfeae0000 /usr/platform/SUNW,Ultra-5_10/lib/libmd5_psr.so.1
      0xfeab0000 /net/jre.sfbay/p/v09/jdk/1.3.1_16/fcs/b06/binaries/solaris-sparc
      /jre/lib/sparc/native_threads/libhpi.so
      0xfea80000 /net/jre.sfbay/p/v09/jdk/1.3.1_16/fcs/b06/binaries/solaris-sparc
      /jre/lib/sparc/libverify.so
      0xfea30000 /net/jre.sfbay/p/v09/jdk/1.3.1_16/fcs/b06/binaries/solaris-sparc
      /jre/lib/sparc/libjava.so
      0xfea00000 /net/jre.sfbay/p/v09/jdk/1.3.1_16/fcs/b06/binaries/solaris-sparc
      /jre/lib/sparc/libzip.so

      Local Time = Tue Jul 26 15:37:44 2005
      Elapsed Time = 47
      #
      # HotSpot Virtual Machine Error : 11
      # Error ID : 4F530E43505002BF 01
      # Please report this error at
      # http://java.sun.com/cgi-bin/bugreport.cgi
      #
      # Java VM: Java HotSpot(TM) Server VM (1.3.1_16-b06 compiled mode)
      #
      # An error report file has been saved as hs_err_pid6855.log.
      # Please refer to the file for further information.
      #
      Abort (core dumped)

      The offending compile
      has been narrowed down to Context class.

      The cause appears to be due to the code change in
      file: ./share/vm/opto/parse1.cpp in the method Parse::merge().

      According to the Putback comments, this change was made
      to resolve:
         5049411: JVM crashes at assert(!n->is_Phi() && !n->is_CFG(),..) with java_g
                         in 1.3.1_11

      The diff lines changed for 1.3.1_16 are (
      diff ###@###.###_15 ###@###.###_16:
      ---------------------------------------
      @@ -1164,12 +1164,11 @@
                 if( (n == _top || _map->in(j)== _top) && _map->in(0) != _top ) {
                   _map->set_req(j, _top);
                   // Dead Phi, so degrade the Phi to TOP
                   if( p->Opcode() == Op_Phi && // Phi already?
                     p->in(0) == r ) { // And of this merge point?
      - p->set_req(0, NULL); // Unique value; degrade to Copy
      - p->set_req(1, _top);
      + p->set_req(pnum, _top);
                     _gvn._types.map(p->_idx,Type::TOP);
                   }
                   continue;
                 }
                 break;
      ------------------------------------------------------

      If the control input is set to NULL (degrade to copy),
      the the test case works OK (i.e. put line 1169 back).

            chrisphi Chris Phillips
            ksoshals Kirill Soshalskiy (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: