Derby
  1. Derby
  2. DERBY-4149

test failure in jdbcapi.InternationalConnectSimpleDSTest fixture testSimpleDSConnect on IBM iseries - Database '?' not found.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Test
    • Labels:
      None
    • Environment:
      IBM iseries, OS: AS/400; OS version: !V5R4M0, jvm: IBM 1.5 (build 1.5.0_13-b05)
    • Bug behavior facts:
      Regression Test Failure

      Description

      This is the test failure's stack trace:
      testSimpleDSConnect(org.apache.derbyTesting.functionTests.tests.jdbcapi.InternationalConnectSimpleDSTest)java.sql.SQLException: Database '?' not found.
      at java.lang.Throwable.<init>(Throwable.java:196)
      at java.lang.Exception.<init>(Exception.java:41)
      at java.sql.SQLException.<init>(SQLException.java:40)
      at org.apache.derby.impl.jdbc.EmbedSQLException.<init>(Unknown Source)
      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.newEmbedSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
      at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
      at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
      at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(Unknown Source)
      at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(Unknown Source)
      at org.apache.derbyTesting.functionTests.tests.jdbcapi.InternationalConnectSimpleDSTest.testSimpleDSConnect(InternationalConnectSimpleDSTest.java:61)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:84)
      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)

      1. derby-4149_fixDirRemoval_diff.txt
        1 kB
        Kathey Marsden
      2. removechindb.java
        2 kB
        Myrna van Lunteren
      3. RemoveDir.java
        1.0 kB
        Kathey Marsden
      4. ReproDerby4149.java
        2 kB
        Kathey Marsden

        Issue Links

          Activity

          Hide
          Myrna van Lunteren added a comment -

          Adding skipping on os400 with revision 1058707

          Show
          Myrna van Lunteren added a comment - Adding skipping on os400 with revision 1058707
          Hide
          Myrna van Lunteren added a comment -

          reopening to skip the test fixtures on the offending os.

          Show
          Myrna van Lunteren added a comment - reopening to skip the test fixtures on the offending os.
          Hide
          Myrna van Lunteren added a comment -

          Closing as invalid as this is not a problem in derby code.

          I spent some time debugging this (which was tricky because I don't have access to a debugger on the system where the test was failing).

          The problem occurs on calling getCanonicalPath after a call to mkDirs when the u4e10 character is used in the (full-path) filename. After mkDirs, getCanonicalPath returns a different value then before.

          Show
          Myrna van Lunteren added a comment - Closing as invalid as this is not a problem in derby code. I spent some time debugging this (which was tricky because I don't have access to a debugger on the system where the test was failing). The problem occurs on calling getCanonicalPath after a call to mkDirs when the u4e10 character is used in the (full-path) filename. After mkDirs, getCanonicalPath returns a different value then before.
          Hide
          Myrna van Lunteren added a comment -

          This is still occurring. With 10.7.1.0 testing, there are now additional test failures.

          With 10.6.2.1 we had 3 Errors
          (indicating Database ? not found) in the embedded runs of

          • testSimpleDSConnect
          • testDriverManagerConnect
          • testCPDSConnect

          With 10.7.1.0 I see 9 Errors and 1 Failure:

          • The 'database ? not found'
            in embedded run of testSimpleDSConnect, testDriverManagerConnect.
          • 'connection refused because the database ??????(etc) was not found' in testBoundaries (i.e. networkserver/client)
          • 'cannot create database because it already exists' in
          • testXADSConnect (embedded & client/server)
          • testCPDSConnect (embedded & client/server)
          • testDriverManagerConnect (client/server)

          Also, testSimpleDSConnect (network server/client) fails with a assertion comparison failure:
          1) testSimpleDSConnect(org.apache.derbyTesting.functionTests.tests.jdbcapi.InternationalConnectSimpleDSTest)junit.framework.ComparisonFailure: Unexpected SQL state. expected:<22005> but was:<08004>.
          ...(stack)...
          Caused by: org.apache.derby.client.am.DisconnectException: The connection was refused because the database ?;create=true was not found.
          ...(more stack)...
          I think this is either just more of the same, or a result of earlier errors

          In addition, there is a NullPointer in a seemingly unrelated test, which passes when run by itself. Note that this same test showed NPEs after the trouble on windows of DERBY-4836, so I think it too is related. This is the stack trace for that one:
          9) testSettingBootAllPropertyWithHomePropertySet(org.apache.derbyTesting.functionTests.tests.store.BootAllTest)java.lang.NullPointerException
          at java.lang.Throwable.<init>(Throwable.java:181)
          at java.lang.RuntimeException.<init>(RuntimeException.java:32)
          at java.lang.NullPointerException.<init>(NullPointerException.java:36)
          at org.apache.derby.impl.services.monitor.BaseMonitor.bootProviderServices(Unknown Source)
          at org.apache.derby.impl.services.monitor.BaseMonitor.bootPersistentServices(Unknown Source)
          at org.apache.derby.impl.services.monitor.BaseMonitor.runWithState(Unknown Source)
          at org.apache.derby.impl.services.monitor.FileMonitor.<init>(Unknown Source)
          at org.apache.derby.iapi.services.monitor.Monitor.startMonitor(Unknown Source)
          at org.apache.derby.iapi.jdbc.JDBCBoot.boot(Unknown Source)
          at org.apache.derby.jdbc.EmbeddedDriver.boot(Unknown Source)
          at org.apache.derby.jdbc.EmbeddedDriver.<init>(Unknown Source)
          at sun.reflect.GeneratedConstructorAccessor1287095131.newInstance(Unknown Source)
          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
          at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
          at java.lang.Class.newInstance0(Class.java:375)
          at java.lang.Class.newInstance(Class.java:328)
          at org.apache.derbyTesting.functionTests.tests.store.BootAllTest.testSettingBootAllPropertyWithHomePropertySet(BootAllTest.java:147)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:88)
          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)
          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)
          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)
          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)

          Show
          Myrna van Lunteren added a comment - This is still occurring. With 10.7.1.0 testing, there are now additional test failures. With 10.6.2.1 we had 3 Errors (indicating Database ? not found) in the embedded runs of testSimpleDSConnect testDriverManagerConnect testCPDSConnect With 10.7.1.0 I see 9 Errors and 1 Failure: The 'database ? not found' in embedded run of testSimpleDSConnect, testDriverManagerConnect. 'connection refused because the database ??????(etc) was not found' in testBoundaries (i.e. networkserver/client) 'cannot create database because it already exists' in testXADSConnect (embedded & client/server) testCPDSConnect (embedded & client/server) testDriverManagerConnect (client/server) Also, testSimpleDSConnect (network server/client) fails with a assertion comparison failure: 1) testSimpleDSConnect(org.apache.derbyTesting.functionTests.tests.jdbcapi.InternationalConnectSimpleDSTest)junit.framework.ComparisonFailure: Unexpected SQL state. expected:<22005> but was:<08004>. ...(stack)... Caused by: org.apache.derby.client.am.DisconnectException: The connection was refused because the database ?;create=true was not found. ...(more stack)... I think this is either just more of the same, or a result of earlier errors In addition, there is a NullPointer in a seemingly unrelated test, which passes when run by itself. Note that this same test showed NPEs after the trouble on windows of DERBY-4836 , so I think it too is related. This is the stack trace for that one: 9) testSettingBootAllPropertyWithHomePropertySet(org.apache.derbyTesting.functionTests.tests.store.BootAllTest)java.lang.NullPointerException at java.lang.Throwable.<init>(Throwable.java:181) at java.lang.RuntimeException.<init>(RuntimeException.java:32) at java.lang.NullPointerException.<init>(NullPointerException.java:36) at org.apache.derby.impl.services.monitor.BaseMonitor.bootProviderServices(Unknown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.bootPersistentServices(Unknown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.runWithState(Unknown Source) at org.apache.derby.impl.services.monitor.FileMonitor.<init>(Unknown Source) at org.apache.derby.iapi.services.monitor.Monitor.startMonitor(Unknown Source) at org.apache.derby.iapi.jdbc.JDBCBoot.boot(Unknown Source) at org.apache.derby.jdbc.EmbeddedDriver.boot(Unknown Source) at org.apache.derby.jdbc.EmbeddedDriver.<init>(Unknown Source) at sun.reflect.GeneratedConstructorAccessor1287095131.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at java.lang.Class.newInstance0(Class.java:375) at java.lang.Class.newInstance(Class.java:328) at org.apache.derbyTesting.functionTests.tests.store.BootAllTest.testSettingBootAllPropertyWithHomePropertySet(BootAllTest.java:147) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:88) 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) 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) 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) 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)
          Hide
          Kathey Marsden added a comment -

          The attached patch changes the test to shutdown the engine instead of the database with the teardown method, before removing the direcstory. This allows the directory to be properly removed on iseries. The test still fails on iseries but will not leave the hard to remove directory behind.

          I will commit this patch this afternoon unless anyone has comments. I am still working to isolate the iseries java problem.

          Show
          Kathey Marsden added a comment - The attached patch changes the test to shutdown the engine instead of the database with the teardown method, before removing the direcstory. This allows the directory to be properly removed on iseries. The test still fails on iseries but will not leave the hard to remove directory behind. I will commit this patch this afternoon unless anyone has comments. I am still working to isolate the iseries java problem.
          Hide
          Kathey Marsden added a comment -

          The attached program RemveDir.java can be used to remove the
          problem directories. You cd to the test directory and run
          java RemoveDir <dirtoremove>, e.g java RemoveDir system.
          The directory system and all its contents will be removed.
          I tried this only with jdk16. Your program did not remove
          directory entries, only files. I did not see it hang but it did not remove
          the offending directory.

          I am also attaching ReproDerby4149 which shows the problem connecting to
          an international database on iseries. The program fails creating the
          database with:
          conn = DriverManager.getConnection("jdbc:derby:" + dbDir + ";create=true");
          where dbDir is "test/\u4e10";

          The connect fails with Database not found but does actually create a the
          directory. This is the exception:

          java.sql.SQLException: Database 'test/?' not found.
          at java.lang.Throwable.<init>(Throwable.java:218)
          at java.sql.SQLException.<init>(SQLException.java:218)
          at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
          at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
          at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
          at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
          at java.sql.DriverManager.getConnection(DriverManager.java:582)
          at java.sql.DriverManager.getConnection(DriverManager.java:207)
          at ReproDerby4149.main(ReproDerby4149.java:13)
          Caused by: java.sql.SQLException: Database 'test/?' not found.
          at java.lang.Throwable.<init>(Throwable.java:196)
          at java.sql.SQLException.<init>(SQLException.java:52)
          at org.apache.derby.impl.jdbc.EmbedSQLException.<init>(Unknown Source)
          at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
          ... 15 more
          ============= begin nested exception, level (1) ===========
          java.sql.SQLException: Database 'test/?' not found.
          at java.lang.Throwable.<init>(Throwable.java:196)
          at java.sql.SQLException.<init>(SQLException.java:52)
          at org.apache.derby.impl.jdbc.EmbedSQLException.<init>(Unknown Source)
          at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
          at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
          at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
          at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
          at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
          at java.sql.DriverManager.getConnection(DriverManager.java:582)
          at java.sql.DriverManager.getConnection(DriverManager.java:207)
          at ReproDerby4149.main(ReproDerby4149.java:13)
          ============= end nested exception, level (1) ===========
          Cleanup action completed

          2009-09-30 16:20:50.841 GMT:
          Shutting down instance a816c00e-0124-0bc0-d16d-00000010a8cb
          ----------------------------------------------------------------

          I suspect a JVM bug here and am trying to narrow this down
          to a java only repro.

          In the test there is a teardown method that tries to remove the
          directory but the problem is that it first tries to shutdown the
          database which fails with the exception above. I suggest we
          change the test to shutdown the engine instead of just the
          database so the teardown can complete and clean up the
          directory properly. I will submit a patch for that shortly.

          Show
          Kathey Marsden added a comment - The attached program RemveDir.java can be used to remove the problem directories. You cd to the test directory and run java RemoveDir <dirtoremove>, e.g java RemoveDir system. The directory system and all its contents will be removed. I tried this only with jdk16. Your program did not remove directory entries, only files. I did not see it hang but it did not remove the offending directory. I am also attaching ReproDerby4149 which shows the problem connecting to an international database on iseries. The program fails creating the database with: conn = DriverManager.getConnection("jdbc:derby:" + dbDir + ";create=true"); where dbDir is "test/\u4e10"; The connect fails with Database not found but does actually create a the directory. This is the exception: java.sql.SQLException: Database 'test/?' not found. at java.lang.Throwable.<init>(Throwable.java:218) at java.sql.SQLException.<init>(SQLException.java:218) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source) at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source) at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source) at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:207) at ReproDerby4149.main(ReproDerby4149.java:13) Caused by: java.sql.SQLException: Database 'test/?' not found. at java.lang.Throwable.<init>(Throwable.java:196) at java.sql.SQLException.<init>(SQLException.java:52) at org.apache.derby.impl.jdbc.EmbedSQLException.<init>(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source) ... 15 more ============= begin nested exception, level (1) =========== java.sql.SQLException: Database 'test/?' not found. at java.lang.Throwable.<init>(Throwable.java:196) at java.sql.SQLException.<init>(SQLException.java:52) at org.apache.derby.impl.jdbc.EmbedSQLException.<init>(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source) at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source) at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source) at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:207) at ReproDerby4149.main(ReproDerby4149.java:13) ============= end nested exception, level (1) =========== Cleanup action completed 2009-09-30 16:20:50.841 GMT: Shutting down instance a816c00e-0124-0bc0-d16d-00000010a8cb ---------------------------------------------------------------- I suspect a JVM bug here and am trying to narrow this down to a java only repro. In the test there is a teardown method that tries to remove the directory but the problem is that it first tries to shutdown the database which fails with the exception above. I suggest we change the test to shutdown the engine instead of just the database so the teardown can complete and clean up the directory properly. I will submit a patch for that shortly.
          Hide
          Myrna van Lunteren added a comment -

          I tried to make this class to see if it could remove the not-really-there database, but it hangs.
          So I do end up with unremovable directories on the system.
          This isn't really acceptable, I think.

          But perhaps I made a mistake somewhere in the class file.

          Show
          Myrna van Lunteren added a comment - I tried to make this class to see if it could remove the not-really-there database, but it hangs. So I do end up with unremovable directories on the system. This isn't really acceptable, I think. But perhaps I made a mistake somewhere in the class file.
          Hide
          Myrna van Lunteren added a comment -

          Additional oddness: after the test has failed, qsh (q shell on AS400) rm -rf * no longer works on the 'system' directory:
          rm: 001-2136 Error found removing link to object system. Directory not empty.
          (but ls -al shows the directory is empty)

          Show
          Myrna van Lunteren added a comment - Additional oddness: after the test has failed, qsh (q shell on AS400) rm -rf * no longer works on the 'system' directory: rm: 001-2136 Error found removing link to object system. Directory not empty. (but ls -al shows the directory is empty)
          Hide
          Myrna van Lunteren added a comment -

          same error for InternationalConnectTest testDriverManagerConnect and testCPDSConnect.

          Show
          Myrna van Lunteren added a comment - same error for InternationalConnectTest testDriverManagerConnect and testCPDSConnect.

            People

            • Assignee:
              Myrna van Lunteren
              Reporter:
              Myrna van Lunteren
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development