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

JSDT tests with float arguments fail in 64bit mode

XMLWordPrintable

    • svc
    • generic
    • solaris

      The following JSDT tests (which pass floats as probe arguments)
      fail in 64bit mode on both x86 and sparc, there are even crashes for x86.
      dtrace/jsdt/invocation/FireAllTypesArgn/FireAllTypes7ArgsTest
      dtrace/jsdt/invocation/FireAllTypesArgn/FireAllTypes8ArgsTest

      dtrace/jsdt/invocation/FireAllTypesArgn/FireAllTypes7ArgsTest
      fails with

       The following probes are unexpected:
       AllTypes_7args_Provider:java_tracing:unspecified:method_Integer([200000, true, 88, 65, 32000, 9434567890, -33629880])
       AllTypes_7args_Provider:java_tracing:unspecified:method_Integer([2147483647, true, 65535, 127, 32767, 9223372036854775807, -33630192])
       AllTypes_7args_Provider:java_tracing:unspecified:method_Integer([-2147483648, false, 0, -128, -32768, -9223372036854775808, -33630192])

      The last argument of the probe is a float, for the last two fires,
      it should be different but it is not, so it is clearly an error,
      the expected output is:

      AllTypes_7args_Provider:java_tracing:unspecified:method_Integer([200000, true, 88, 65, 32000, 9434567890, 1151021548])
      AllTypes_7args_Provider:java_tracing:unspecified:method_Integer([2147483647, true, 65535, 127, 32767, 9223372036854775807, 2139095039])
      AllTypes_7args_Provider:java_tracing:unspecified:method_Integer([-2147483648, false, 0, -128, -32768, -9223372036854775808, 1])

      In java this corresponds to
              pAllTypes_7args_Provider.method_Integer((new Integer(200000)), (new Boolean(true)), (new Character((char) (64 + 24))), (new Byte((byte) 65)), (new Short((short) 32000)),1234.56F + 7);
              pAllTypes_7args_Provider.method_Integer(Integer.MAX_VALUE, Boolean.TRUE, Character.MAX_VALUE, Byte.MAX_VALUE, Short.MAX_VALUE, Long.MAX_VALUE, Float.MAX_VALUE);
              pAllTypes_7args_Provider.method_Integer(Integer.MIN_VALUE, Boolean.FALSE, Character.MIN_VALUE, Byte.MIN_VALUE, Short.MIN_VALUE, Long.MIN_VALUE, Float.MIN_VALUE);

      dtrace/jsdt/invocation/FireAllTypesArgn/FireAllTypes8ArgsTest
      fails similarly on Solaris Sparc, but crashes on amd64 with:

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # SIGSEGV (0xb) at pc=0xfffffd7ffac6a033, pid=23635, tid=2
      #
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (14.0-b09 mixed mode solaris-amd64 )
      # Problematic frame:
      # J dtrace.jsdt.invocation.FireAllTypesArgn.FireAllTypes8ArgsTest.$DTraceTracingProxy0.method_Short(Ljava/lang/Short;Ljava/lang/Long;Ljava/lang/Float;Ljava/lang/Double;IZCB)V
      #
      # If you would like to submit a bug report, please visit:
      # http://java.sun.com/webapps/bugreport/crash.jsp
      #

            jbachorik Jaroslav BachorĂ­k
            nzinovie Nikita Zinoviev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: