Derby
  1. Derby
  2. DERBY-3925

testMetaDataQueryRunInSYScompilationSchema(.....upgradeTests.Changes10_4) fails on CVM/phoneME

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 10.6.1.0
    • Fix Version/s: 10.6.1.0
    • Component/s: Test
    • Labels:
      None
    • Environment:
      Product: phoneME Advanced (phoneme_advanced_mr2-b34)
      Profile: Foundation Profile Specification 1.1
      JVM: CVM phoneme_advanced_mr2-b34 (interpreter loop)
    • Bug behavior facts:
      Regression Test Failure

      Description

      Seen since ~svn r703509. See e.g. http://dbtg.thresher.com/derby/test/Daily/javaME/testing/Limited/testSummary-708609.html
      http://dbtg.thresher.com/derby/test/Daily/javaME/testing/testlog/ubuntu/708609-suitesAll_diff.txt

      4) testMetaDataQueryRunInSYScompilationSchema(org.apache.derbyTesting.functionTests.tests.upgradeTests.Changes10_4)java.sql.SQLException: Failed to create database 'singleUse/oneuse2d', see the next exception for details.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;ILjava/lang/Throwable;[Ljava/lang/Object;)Ljava/sql/SQLException;(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Ljava/lang/String;[Ljava/lang/Object;Ljava/sql/SQLException;ILjava/lang/Throwable;)Ljava/sql/SQLException;(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.seeNextException(Ljava/lang/String;[Ljava/lang/Object;Ljava/sql/SQLException;)Ljava/sql/SQLException;(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Ljava/lang/String;Ljava/util/Properties;)Lorg/apache/derby/iapi/db/Database;(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Lorg/apache/derby/jdbc/InternalDriver;Ljava/lang/String;Ljava/util/Properties;)V(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Lorg/apache/derby/jdbc/InternalDriver;Ljava/lang/String;Ljava/util/Properties;)V(Unknown Source)
      at org.apache.derby.jdbc.Driver169.getNewEmbedConnection(Ljava/lang/String;Ljava/util/Properties;)Lorg/apache/derby/impl/jdbc/EmbedConnection;(Unknown Source)
      at org.apache.derby.jdbc.InternalDriver.connect(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;(Unknown Source)
      at org.apache.derby.jdbc.EmbeddedSimpleDataSource.getConnection(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;(Unknown Source)
      at org.apache.derby.jdbc.EmbeddedSimpleDataSource.getConnection()Ljava/sql/Connection;(Unknown Source)
      at org.apache.derbyTesting.functionTests.tests.upgradeTests.Changes10_4.testMetaDataQueryRunInSYScompilationSchema()V(Changes10_4.java:113)
      at org.apache.derbyTesting.junit.BaseTestCase.runBare()V(BaseTestCase.java:105)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(Ljunit/framework/TestResult;)V(BaseTestSetup.java:57)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(Ljunit/framework/TestResult;)V(BaseTestSetup.java:57)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(Ljunit/framework/TestResult;)V(BaseTestSetup.java:57)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(Ljunit/framework/TestResult;)V(BaseTestSetup.java:57)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(Ljunit/framework/TestResult;)V(BaseTestSetup.java:57)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(Ljunit/framework/TestResult;)V(BaseTestSetup.java:57)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at junit.extensions.TestDecorator.basicRun(Ljunit/framework/TestResult;)V(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect()V(TestSetup.java:21)
      at junit.extensions.TestSetup.run(Ljunit/framework/TestResult;)V(TestSetup.java:25)
      at sun.misc.CVM.runMain()V(CVM.java:514)
      Caused by: java.sql.SQLException: Collator support not available from the JVM for the database's locale 'no'.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;ILjava/lang/Throwable;[Ljava/lang/Object;)Ljava/sql/SQLException;(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Lorg/apache/derby/iapi/error/StandardException;)Ljava/sql/SQLException;(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Ljava/lang/Throwable;)Ljava/sql/SQLException;(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Ljava/lang/Throwable;ZZ)Ljava/sql/SQLException;(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Ljava/lang/Throwable;)Ljava/sql/SQLException;(Unknown Source)
      ... 99 more
      Caused by: ERROR XBM04: Collator support not available from the JVM for the database's locale 'no'.
      at org.apache.derby.iapi.error.StandardException.newException(Ljava/lang/String;Ljava/lang/Object;)Lorg/apache/derby/iapi/error/StandardException;(Unknown Source)
      at org.apache.derby.iapi.types.DataValueFactoryImpl.verifyCollatorSupport()Ljava/text/RuleBasedCollator;(Unknown Source)
      at org.apache.derby.iapi.types.DataValueFactoryImpl.boot(ZLjava/util/Properties;)V(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Ljava/lang/Object;ZLjava/util/Properties;)V(Unknown Source)
      at org.apache.derby.impl.services.monitor.TopService.bootModule(ZLjava/lang/Object;Lorg/apache/derby/impl/services/monitor/ProtocolKey;Ljava/util/Properties;)Ljava/lang/Object;(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(ZLjava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;)Ljava/lang/Object;(Unknown Source)
      at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(ZLjava/lang/Object;Ljava/lang/String;Ljava/util/Properties;)Ljava/lang/Object;(Unknown Source)
      at org.apache.derby.impl.db.BasicDatabase.boot(ZLjava/util/Properties;)V(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Ljava/lang/Object;ZLjava/util/Properties;)V(Unknown Source)
      at org.apache.derby.impl.services.monitor.TopService.bootModule(ZLjava/lang/Object;Lorg/apache/derby/impl/services/monitor/ProtocolKey;Ljava/util/Properties;)Ljava/lang/Object;(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Lorg/apache/derby/iapi/services/monitor/PersistentService;Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;Z)Ljava/lang/Object;(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;)Ljava/lang/Object;(Unknown Source)
      at org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;)Ljava/lang/Object;(Unknown Source)
      ... 99 more

      1. DERBY-3925_1.diff.txt
        2 kB
        Ole Solberg
      2. DERBY-3925_2.diff.txt
        2 kB
        Ole Solberg

        Issue Links

          Activity

          Hide
          Dag H. Wanvik added a comment -

          The VM seems to not find collator support for the "no" locale.. Is this an issue with the test's environment, perhaps?
          Is this test intended to work only with en_US?

          Show
          Dag H. Wanvik added a comment - The VM seems to not find collator support for the "no" locale.. Is this an issue with the test's environment, perhaps? Is this test intended to work only with en_US?
          Hide
          Ole Solberg added a comment -

          DERBY-3925_1.diff.txt changes
          testMetaDataQueryRunInSYScompilationSchema
          to use 'territory=en' instead of 'territory=no' if the 'no' locale is not available.
          This is e.g. the case on phoneME.

          A comment in the test states that
          "This test is for databases with territory based collation."
          so I think 'territory=en' should be OK?
          Territory based collation is specified with 'collation=TERRITORY_BASED' (vs. default 'UCS_BASIC').

          org.apache.derbyTesting.functionTests.tests.upgradeTests._Suite ran OK on phoneME and jvm1.6.
          Running suites.All.

          Show
          Ole Solberg added a comment - DERBY-3925 _1.diff.txt changes testMetaDataQueryRunInSYScompilationSchema to use 'territory=en' instead of 'territory=no' if the 'no' locale is not available. This is e.g. the case on phoneME. A comment in the test states that "This test is for databases with territory based collation." so I think 'territory=en' should be OK? Territory based collation is specified with 'collation=TERRITORY_BASED' (vs. default 'UCS_BASIC'). org.apache.derbyTesting.functionTests.tests.upgradeTests._Suite ran OK on phoneME and jvm1.6. Running suites.All.
          Hide
          Knut Anders Hatlen added a comment -

          I agree that territory=en should be fine, since it's still using territory based collation. +1 to commit.

          (Minor nit: Perhaps break out of the loop as soon as the requested locale is found?)

          Show
          Knut Anders Hatlen added a comment - I agree that territory=en should be fine, since it's still using territory based collation. +1 to commit. (Minor nit: Perhaps break out of the loop as soon as the requested locale is found?)
          Hide
          Ole Solberg added a comment -

          Thanks Knut, for reviewing!
          Added the break out of the loop.

          Show
          Ole Solberg added a comment - Thanks Knut, for reviewing! Added the break out of the loop.
          Hide
          Ole Solberg added a comment -

          Committed DERBY-3925_2.diff.txt to trunk as rev. revision 823555.

          Show
          Ole Solberg added a comment - Committed DERBY-3925 _2.diff.txt to trunk as rev. revision 823555.

            People

            • Assignee:
              Ole Solberg
              Reporter:
              Ole Solberg
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development