Harmony
  1. Harmony
  2. HARMONY-690

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

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor 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

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        162d 22h 41m 1 Alexey Petrenko 08/Dec/06 15:01
        Resolved Resolved Closed Closed
        2d 16h 11m 1 Alexey Petrenko 11/Dec/06 07:12
        Alexey Petrenko made changes -
        Estimated Complexity Novice
        Status Resolved [ 5 ] Closed [ 6 ]
        Hide
        Vladimir Ivanov added a comment -

        Verified, thanks

        Show
        Vladimir Ivanov added a comment - Verified, thanks
        Alexey Petrenko made changes -
        Resolution Fixed [ 1 ]
        Status Open [ 1 ] Resolved [ 5 ]
        Hide
        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
        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.
        Alexey Petrenko made changes -
        Patch Info [Patch Available]
        Assignee Alexey Petrenko [ cap ]
        Alexey Petrenko made changes -
        Attachment HARMONY-690.classlib.diff [ 12338281 ]
        Hide
        Alexey Petrenko added a comment -

        Fix for luni-kernel module

        Show
        Alexey Petrenko added a comment - Fix for luni-kernel module
        Alexey Petrenko made changes -
        Attachment HARMONY-690.drlvm.diff [ 12338280 ]
        Hide
        Alexey Petrenko added a comment -

        Fix for drlvm

        Show
        Alexey Petrenko added a comment - Fix for drlvm
        Hide
        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 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()
        Vladimir Ivanov made changes -
        Field Original Value New Value
        Attachment RuntimeTest.patch [ 12336060 ]
        Hide
        Vladimir Ivanov added a comment -

        unit test

        Show
        Vladimir Ivanov added a comment - unit test
        Vladimir Ivanov created issue -

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development