Derby
  1. Derby
  2. DERBY-5434

On linux with IBM JDK 1.7 suites.All does not run at all failing with java.lang.reflect.InvocationTargetException

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 10.9.1.0
    • Fix Version/s: 10.9.1.0
    • Component/s: Test
    • Labels:
      None
    • Environment:
    • Issue & fix info:
      High Value Fix
    • Bug behavior facts:
      Crash, Regression Test Failure

      Description

      On IBM 1.7, presumably after the checkin of DERBY-5363 suites.All fails to run with the exception:

      Failed to invoke class org.apache.derbyTesting.functionTests.tests.engine._Suite
      java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
      at java.lang.reflect.Method.invoke(Method.java:613)
      at org.apache.derbyTesting.functionTests.suites.AllPackages.invokeSuite(AllPackages.java:176)
      at org.apache.derbyTesting.functionTests.suites.AllPackages.suite(AllPackages.java:63)
      at org.apache.derbyTesting.functionTests.suites.All.suite(All.java:51)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
      at java.lang.reflect.Method.invoke(Method.java:613)
      at junit.runner.BaseTestRunner.getTest(BaseTestRunner.java:126)
      at junit.textui.TestRunner.start(TestRunner.java:184)
      at junit.textui.TestRunner.main(TestRunner.java:143)
      Caused by: junit.framework.AssertionFailedError
      at junit.framework.Assert.fail(Assert.java:47)
      at junit.framework.Assert.fail(Assert.java:53)
      at org.apache.derbyTesting.functionTests.tests.engine.RestrictiveFilePermissionsTest$2.run(RestrictiveFilePermissionsTest.java:673)
      at java.security.AccessController.doPrivileged(AccessController.java:254)
      at org.apache.derbyTesting.functionTests.tests.engine.RestrictiveFilePermissionsTest.checkAccessToOwner(RestrictiveFilePermissionsTest.java:590)
      at org.apache.derbyTesting.functionTests.tests.engine.RestrictiveFilePermissionsTest.suite(RestrictiveFilePermissionsTest.java:92)
      at org.apache.derbyTesting.functionTests.tests.engine._Suite.suite(_Suite.java:51)
      ... 14 more
      Failed to invoke suite():java.lang.reflect.InvocationTargetException

      This JDK was just released recently and I am not sure where to get it publicly. I am not sure if this is a JVM bug. I will take a look and if it is not something that can be fixed quickly, will skip this test on IBM 1.7 until we can figure it out so the other tests can run.

      1. derby-5434_disable_restrictedtest_diff.txt
        1 kB
        Kathey Marsden
      2. CheckAccessToOwner.java
        12 kB
        Kathey Marsden

        Issue Links

          Activity

          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Resolved Resolved
          62d 23h 47m 1 Kathey Marsden 01/Dec/11 00:06
          Resolved Resolved Reopened Reopened
          77d 8m 1 Kathey Marsden 16/Feb/12 00:14
          Reopened Reopened Resolved Resolved
          29s 1 Kathey Marsden 16/Feb/12 00:15
          Resolved Resolved Closed Closed
          487d 9h 3m 1 Knut Anders Hatlen 17/Jun/13 10:19
          Gavin made changes -
          Workflow jira [ 12635737 ] Default workflow, editable Closed status [ 12802695 ]
          Knut Anders Hatlen made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Hide
          Knut Anders Hatlen added a comment -

          [bulk update] Close all resolved issues that haven't been updated for more than one year.

          Show
          Knut Anders Hatlen added a comment - [bulk update] Close all resolved issues that haven't been updated for more than one year.
          Kathey Marsden made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Fix Version/s 10.9.0.0 [ 12316344 ]
          Resolution Fixed [ 1 ]
          Kathey Marsden made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Kathey Marsden made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Kathey Marsden added a comment -

          The test uses a method not available on IBM JDK 1.7. Added a change to skip the test in for this JDK.

          Show
          Kathey Marsden added a comment - The test uses a method not available on IBM JDK 1.7. Added a change to skip the test in for this JDK.
          Kathey Marsden made changes -
          Assignee Kathey Marsden [ kmarsden ]
          Hide
          Dag H. Wanvik added a comment -

          Apparently java.nio.Files.getFileAttributeView returns null for that platform, perhaps it is not implemented for Linux (yet?).

          The test expected FileAttributeView to be available with Java 7. The engine implementation has similar code as the test. The engine, though, falls back on the Java 6 approach to set the permissions if it does not successfully execute java.nio.Files.getFileAttributeView, cf line 876 in FileUtil:

          if (view == null)

          { // ACLs not supported on this platform return false; }

          The test can't use that approach as the JDK 6 API doesn't support reading the permissions, so I guess the best solution here is to skip the test on the IBM JDK if not on Windows.

          Show
          Dag H. Wanvik added a comment - Apparently java.nio.Files.getFileAttributeView returns null for that platform, perhaps it is not implemented for Linux (yet?). The test expected FileAttributeView to be available with Java 7. The engine implementation has similar code as the test. The engine, though, falls back on the Java 6 approach to set the permissions if it does not successfully execute java.nio.Files.getFileAttributeView, cf line 876 in FileUtil: if (view == null) { // ACLs not supported on this platform return false; } The test can't use that approach as the JDK 6 API doesn't support reading the permissions , so I guess the best solution here is to skip the test on the IBM JDK if not on Windows.
          Kathey Marsden made changes -
          Attachment CheckAccessToOwner.java [ 12496965 ]
          Hide
          Kathey Marsden added a comment -

          Attaching CheckAccessToOwner, a scaled down junit test without Derby. It passes on Windows butfails on Linux with:
          1) testCheckAccessToOwner(CheckAccessToOwner)junit.framework.AssertionFailedError
          at CheckAccessToOwner$2.run(CheckAccessToOwner.java:172)
          at java.security.AccessController.doPrivileged(AccessController.java:254)
          at CheckAccessToOwner.checkAccessToOwner(CheckAccessToOwner.java:97)
          at CheckAccessToOwner.testCheckAccessToOwner(CheckAccessToOwner.java:42)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:76)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

          FAILURES!!!
          Tests run: 1, Failures: 1, Errors: 0

          I'll take a closer look tomorrow, but am not yet familiar with the new methods. Any insight is welcome.

          Show
          Kathey Marsden added a comment - Attaching CheckAccessToOwner, a scaled down junit test without Derby. It passes on Windows butfails on Linux with: 1) testCheckAccessToOwner(CheckAccessToOwner)junit.framework.AssertionFailedError at CheckAccessToOwner$2.run(CheckAccessToOwner.java:172) at java.security.AccessController.doPrivileged(AccessController.java:254) at CheckAccessToOwner.checkAccessToOwner(CheckAccessToOwner.java:97) at CheckAccessToOwner.testCheckAccessToOwner(CheckAccessToOwner.java:42) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:76) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) FAILURES!!! Tests run: 1, Failures: 1, Errors: 0 I'll take a closer look tomorrow, but am not yet familiar with the new methods. Any insight is welcome.
          Kathey Marsden made changes -
          Bug behavior facts Regression,Crash [ 10420,10365 ] Crash,Regression Test Failure [ 10365,10369 ]
          Priority Critical [ 2 ] Major [ 3 ]
          Hide
          Kathey Marsden added a comment -

          Lowering the severity now that we are skipping the test.

          Show
          Kathey Marsden added a comment - Lowering the severity now that we are skipping the test.
          Kathey Marsden made changes -
          Hide
          Kathey Marsden added a comment -

          This patch removes the offending test engine.RestrictiveFilePermissiionsTest from the suite so tests will run with IBM 1.7.

          You can reproduce the problem after the patch by running just the one test.

          Show
          Kathey Marsden added a comment - This patch removes the offending test engine.RestrictiveFilePermissiionsTest from the suite so tests will run with IBM 1.7. You can reproduce the problem after the patch by running just the one test.
          Kathey Marsden made changes -
          Environment Suse linux

          java version "1.7.0"
          Java(TM) SE Runtime Environment (build pwi3270-20110906_01)
          IBM J9 VM (build 2.6, JRE 1.7.0 Windows XP x86-32 20110810_88604 (JIT enabled
          J9VM - R26_Java726_GA_20110810_1208_B88592
          JIT - r11_20110810_20466
          GC - R26_Java726_GA_20110810_1208_B88592
          J9CL - 20110810_88604)
          JCL - 20110809_01 based on Oracle 7b147
          SuSE linux


          java version "1.7.0-ea"
          Java(TM) SE Runtime Environment (build pxi3270-20110508_04)
          IBM J9 VM (build 2.6, JRE 1.7.0 Linux x86-32 20110507_81834 (JIT enabled, AOT enabled)
          J9VM - R26_head_20110506_1737_B81772
          JIT - r11_20110506_19491
          GC - R26_head_20110506_1718_B81770
          J9CL - 20110507_81834)
          JCL - 20110506_04 based on Oracle 7b135
          kmarsden@kmarsden-lt2:~/ibm17/bin>
          Kathey Marsden made changes -
          Field Original Value New Value
          Link This issue is related to DERBY-5363 [ DERBY-5363 ]
          Kathey Marsden created issue -

            People

            • Assignee:
              Kathey Marsden
              Reporter:
              Kathey Marsden
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development