Derby
  1. Derby
  2. DERBY-5074

test failure(s) with IBM 1.4.2 in store.InterruptResilienceTest.testRAFWriteInterrupted: java.sql.SQLException: The exception 'junit.framework.AssertionFailedError: interrupt flag lost' was thrown while evaluating an expression.

    Details

    • Urgency:
      Normal
    • Issue & fix info:
      Known fix
    • Bug behavior facts:
      Regression Test Failure

      Description

      Since February 17, I see this failure:

      1) testRAFWriteInterrupted(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest) java.sql.SQLException: The exception 'junit.framework.AssertionFailedError: interrupt flag lost' was thrown while evaluating an expression.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source)
      at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.testRAFWriteInterrupted(InterruptResilienceTest.java:204)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
      at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java(Compiled Code))
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
      at junit.extensions.TestSetup.run(TestSetup.java:23)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
      at junit.extensions.TestSetup.run(TestSetup.java:23)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
      at junit.extensions.TestSetup.run(TestSetup.java:23)
      Caused by: java.sql.SQLException: Java exception: 'interrupt flag lost: junit.framework.AssertionFailedError'.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
      ... 46 more
      Caused by: junit.framework.AssertionFailedError: interrupt flag lost
      at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.tstRAFwriteInterrupted(InterruptResilienceTest.java(Compiled Code))
      at org.apache.derby.exe.ac0b5b0099x012ex376dx55e3x00000a2ef4be0.g0(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
      at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown Source)
      at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source)
      at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
      at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
      ... 42 more

      twice (February 20 and February 25) this was followed by a second test failure:

      2) testRAFReadWriteMultipleThreads(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest)java.sql.SQLException: The exception 'junit.framework.AssertionFailedError: Column value mismatch @ column '1', row 1:
      Expected: >30000<
      Found: >29999<' was thrown while evaluating an expression.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source)
      at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.testRAFReadWriteMultipleThreads(InterruptResilienceTest.java:515)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
      at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java(Compiled Code))
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
      at junit.extensions.TestSetup.run(TestSetup.java:23)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
      at junit.extensions.TestSetup.run(TestSetup.java:23)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
      at junit.extensions.TestSetup.run(TestSetup.java:23)
      Caused by: java.sql.SQLException: Java exception: 'Column value mismatch @ column '1', row 1:
      Expected: >30000<
      Found: >29999<: junit.framework.AssertionFailedError'.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
      ... 46 more
      Caused by: junit.framework.AssertionFailedError: Column value mismatch @ column '1', row 1:
      Expected: >30000<
      Found: >29999<
      at org.apache.derbyTesting.junit.JDBC.assertRowInResultSet(JDBC.java(Compiled Code))
      at org.apache.derbyTesting.junit.JDBC.assertRowInResultSet(JDBC.java(Inlined Compiled Code))
      at org.apache.derbyTesting.junit.JDBC.assertFullResultSetMinion(JDBC.java(Compiled Code))
      at org.apache.derbyTesting.junit.JDBC.assertFullResultSet(JDBC.java(Inlined Compiled Code))
      at org.apache.derbyTesting.junit.JDBC.assertFullResultSet(JDBC.java(Inlined Compiled Code))
      at org.apache.derbyTesting.junit.JDBC.assertFullResultSet(JDBC.java(Inlined Compiled Code))
      at org.apache.derbyTesting.junit.JDBC.assertSingleValueResultSet(JDBC.java(Compiled Code))
      at org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.tstRAFReadWriteMultipleThreads(InterruptResilienceTest.java:265)
      at org.apache.derby.exe.ac070a00b0x012ex46e5x5b33x0000368ebfa60.g0(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
      at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown Source)
      at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source)
      at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
      at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
      ... 42 more

      See for instance: http://people.apache.org/~myrnavl/derby_test_results/main/linux/testlog/ibm142/1071866-suites.All_diff.txt
      and:
      http://people.apache.org/~myrnavl/derby_test_results/main/linux/testlog/ibm142/1072825-suites.All_diff.txt

      I can reproduce the first failure on my laptop with Windows XP with ibm 1.4.2 (in fact, I got the same failure twice, I assume once with NetworkServer/client, once with embedded) by just running the test.

      This popping up on the 17th is because this test didn't run with ibm 1.4.2 for a while before revision 1071754 (see DERBY-4463, but this is a different problem.)

      I marked this 'store', but this test doesn't fail with Sun's 1.4.2 jvm, judging from the results at http://dbtg.foundry.sun.com/derby/test/Daily/jvm1.4/testing/Limited/ , so it's possible there's a jvm issue here.

        Issue Links

          Activity

          Show
          Dag H. Wanvik added a comment - I saw the error also on Sun jvm 1.6 on Vista: http://dbtg.foundry.sun.com/derby/test/Daily/jvm1.6/testing/testlog/vista/1074632-suitesAll_diff.txt
          Hide
          Dag H. Wanvik added a comment -

          This is a test error: when the insert occasionally gets interrupted while waiting for a lock it can throw in the test code (the original code didn't see this - it was retrofitted), and miss one or more inserts, making the assert on the number of rows inserted fail. The fix will be to just note how many times we missed an insert and change the loops control somewhat,

          Show
          Dag H. Wanvik added a comment - This is a test error: when the insert occasionally gets interrupted while waiting for a lock it can throw in the test code (the original code didn't see this - it was retrofitted), and miss one or more inserts, making the assert on the number of rows inserted fail. The fix will be to just note how many times we missed an insert and change the loops control somewhat,
          Hide
          Dag H. Wanvik added a comment -

          Uploading a patch which hopefully fixes this issue. Running regressions. I'll commit it if it passes, so we should see soon if the intermittents go away.

          Show
          Dag H. Wanvik added a comment - Uploading a patch which hopefully fixes this issue. Running regressions. I'll commit it if it passes, so we should see soon if the intermittents go away.
          Hide
          Dag H. Wanvik added a comment -

          Regressions ran ok modulo an error in dblook. Committed as svn 1076117. Let me know if you see further occurrences of this bug after this fix went in, hopefully it should be fixed. Resolving for now.

          Show
          Dag H. Wanvik added a comment - Regressions ran ok modulo an error in dblook. Committed as svn 1076117. Let me know if you see further occurrences of this bug after this fix went in, hopefully it should be fixed. Resolving for now.
          Hide
          Kathey Marsden added a comment -

          Reopen for 10.5 backport consideration. If working on the backport for this issue. Temporarily assign yourself and add a comment that you are working on it. When finished, reresolve with the new fix versions or label backport_reject_10_x as appropriate.

          Show
          Kathey Marsden added a comment - Reopen for 10.5 backport consideration. If working on the backport for this issue. Temporarily assign yourself and add a comment that you are working on it. When finished, reresolve with the new fix versions or label backport_reject_10_x as appropriate.
          Hide
          Mike Matrigali added a comment -

          this should not be backported farther than 10.8, the test was added in 10.8. And all the improvements to make the test pass were in 10.8. Those
          changes are feature level and should not be backported. I was unable to reset the affects version back to where problem showed up, so just set it to most recent release as that was the oldest 10.8 that dropdown error checking would allow.

          Show
          Mike Matrigali added a comment - this should not be backported farther than 10.8, the test was added in 10.8. And all the improvements to make the test pass were in 10.8. Those changes are feature level and should not be backported. I was unable to reset the affects version back to where problem showed up, so just set it to most recent release as that was the oldest 10.8 that dropdown error checking would allow.
          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.

            People

            • Assignee:
              Dag H. Wanvik
              Reporter:
              Myrna van Lunteren
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development