Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-690

[classlib][lang]Compatibility: Harmony Runtime.removeShutdownHook(null) does not throw unspecified NPE while RI does.

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Classlib
    • Labels:
      None
    • Patch Info:
      Patch Available
    • Estimated Complexity:
      Novice

      Description

      Harmony Runtime.add[remove]ShutdownHook(null) methods does not throw unspecified NPE while RI does.
      ================ test.java =====================
      public class test {
      public static void main (String[] args)

      { boolean returnValue = Runtime.getRuntime().removeShutdownHook(null); }


      }
      =============================================

      output:
      C:\tmp\tmp17>java -showversion test
      java version "1.4.2_10"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_10-b03)
      Java HotSpot(TM) Client VM (build 1.4.2_10-b03, mixed mode)

      Exception in thread "main" java.lang.NullPointerException
      at java.lang.Shutdown.remove(Unknown Source)
      at java.lang.Runtime.removeShutdownHook(Unknown Source)
      at test.main(test.java:6)

      C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
      java version 1.5 (subset)

      (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.

      C:\tmp\tmp17>C:\harmony\drlvm\trunk\build\win_ia32_msvc_release\deploy\jre\bin\ij -showversion test
      Apache Harmony DRLVM HEAD-4807 (2006-05-02), Windows/ia32/msvc 1310, release

      1. HARMONY-690.classlib.diff
        0.9 kB
        Alexey Petrenko
      2. HARMONY-690.drlvm.diff
        1 kB
        Alexey Petrenko
      3. RuntimeTest.patch
        1 kB
        Vladimir Ivanov

        Activity

        Hide
        vladimir Vladimir Ivanov added a comment -

        unit test

        Show
        vladimir Vladimir Ivanov added a comment - unit test
        Hide
        vladimir Vladimir Ivanov added a comment -

        Note, the same thing for addShutdownHook(null):
        C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -showversion test
        java version "1.5.0"
        Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
        BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))

        Test passed: java.lang.NullPointerException

        C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -cp . -showversion test
        java version 1.5 (subset)

        (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
        Exception in thread "main" java.lang.IllegalArgumentException: Illegal shutdown hook: <null>
        at com.ibm.oti.vm.VM.addShutdownHook(VM.java:185)
        at java.lang.Runtime.addShutdownHook(Runtime.java:352)
        at test.main(test.java:4)

        C:\tmp\tmp17>C:\harmony\drlvm\trunk\build\win_ia32_msvc_debug\deploy\jre\bin\ij -Dvm.assert_dialog=false -cp . -showversion test
        Apache Harmony DRLVM HEAD-4807 (2006-05-02), Windows/ia32/msvc 1310, debug
        res: added
        java.lang.NullPointerException
        at java.lang.Runtime$ShutdownVM.exit()
        at java.lang.Runtime.exit()
        at java.lang.System.exit()
        at java.lang.VMStart.shutdown()

        Show
        vladimir Vladimir Ivanov added a comment - Note, the same thing for addShutdownHook(null): C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -showversion test java version "1.5.0" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64) BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar)) Test passed: java.lang.NullPointerException C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -cp . -showversion test java version 1.5 (subset) (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable. Exception in thread "main" java.lang.IllegalArgumentException: Illegal shutdown hook: <null> at com.ibm.oti.vm.VM.addShutdownHook(VM.java:185) at java.lang.Runtime.addShutdownHook(Runtime.java:352) at test.main(test.java:4) C:\tmp\tmp17>C:\harmony\drlvm\trunk\build\win_ia32_msvc_debug\deploy\jre\bin\ij -Dvm.assert_dialog=false -cp . -showversion test Apache Harmony DRLVM HEAD-4807 (2006-05-02), Windows/ia32/msvc 1310, debug res: added java.lang.NullPointerException at java.lang.Runtime$ShutdownVM.exit() at java.lang.Runtime.exit() at java.lang.System.exit() at java.lang.VMStart.shutdown()
        Hide
        cap Alexey Petrenko added a comment -

        Fix for drlvm

        Show
        cap Alexey Petrenko added a comment - Fix for drlvm
        Hide
        cap Alexey Petrenko added a comment -

        Fix for luni-kernel module

        Show
        cap Alexey Petrenko added a comment - Fix for luni-kernel module
        Hide
        cap Alexey Petrenko added a comment -

        The patch for DRLVM has been applied.
        Sin Runtime is kernel class we need to ask IBM guys to fix IBM VME accordingly.

        Vladimir, please verify.

        Show
        cap Alexey Petrenko added a comment - The patch for DRLVM has been applied. Sin Runtime is kernel class we need to ask IBM guys to fix IBM VME accordingly. Vladimir, please verify.
        Hide
        vladimir Vladimir Ivanov added a comment -

        Verified, thanks

        Show
        vladimir Vladimir Ivanov added a comment - Verified, thanks

          People

          • Assignee:
            cap Alexey Petrenko
            Reporter:
            vladimir Vladimir Ivanov
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development