db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kristian Waagan (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-4669) ClassLoaderBootTest fails if derbyclient.jar comes before derby.jar on the classpath
Date Tue, 07 Jun 2011 07:33:59 GMT

     [ https://issues.apache.org/jira/browse/DERBY-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Kristian Waagan updated DERBY-4669:
-----------------------------------

    Attachment: derby-4669-3a-unseal_common.diff
                derby-4669-3a-unseal_common.stat

I unsealed the wrong package in patch 2b, so here comes patch 3a...

Patch 3a does the following:
 o replaces an import of iapi.sanity.SanityManager in a client class
 o changes an import to common.shared.sanity.SanityManager in the engine code. This breaks
the current pattern, but makes it possible to unseal only the shared.common.sanity package.
The reason is that the class JVMInfo is included in both the engine and the client code.
 o unseals shared.common.sanity, leaving iapi.sanity sealed

The regression tests ran cleanly (Java 6, Solaris 11 Express).
Patch ready for review.

> ClassLoaderBootTest fails if derbyclient.jar comes before derby.jar on the classpath
> ------------------------------------------------------------------------------------
>
>                 Key: DERBY-4669
>                 URL: https://issues.apache.org/jira/browse/DERBY-4669
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.7.1.1
>            Reporter: Kristian Waagan
>            Priority: Minor
>              Labels: derby_triage10_8
>         Attachments: client-imports.diff, derby-4669-2a-unseal_iapi_sanity.diff, derby-4669-2b-unseal_iapi_sanity.diff,
derby-4669-3a-unseal_common.diff, derby-4669-3a-unseal_common.stat
>
>
> If derbyclient.jar comes before derby.jar on the classpath, and the build is sane, the
test fails.
> java -cp derbyclient.jar:derby.jar:derbyTesting.jar:junit.jar junit.textui.TestRunner
org.apache.derbyTesting.functionTests.tests.store.ClassLoaderBootTest
> ...
> 1) testBootingAnAlreadyBootedDatabase(org.apache.derbyTesting.functionTests.tests.store.ClassLoaderBootTest)java.lang.ExceptionInInitializerError
>         at org.apache.derby.jdbc.EmbeddedDataSource.findDriver(EmbeddedDataSource.java:500)
>         at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java:479)
>         at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java:423)
>         at org.apache.derbyTesting.functionTests.tests.store.ClassLoaderBootTest.testBootingAnAlreadyBootedDatabase(ClassLoaderBootTest.java:178)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         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:109)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>         at junit.extensions.TestSetup.run(TestSetup.java:25)
>         at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>         at junit.extensions.TestSetup.run(TestSetup.java:25)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>         at junit.extensions.TestSetup.run(TestSetup.java:25)
> Caused by: java.lang.SecurityException: sealing violation: package org.apache.derby.iapi.services.sanity
is sealed
>         at java.net.URLClassLoader.defineClass(URLClassLoader.java:234)
>         at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>         at org.apache.derbyTesting.functionTests.tests.store.ClassLoaderBootTest$DerbyURLClassLoader.loadClass(ClassLoaderBootTest.java:293)
>         at org.apache.derbyTesting.functionTests.tests.store.ClassLoaderBootTest$DerbyURLClassLoader.loadClass(ClassLoaderBootTest.java:303)
>         at org.apache.derby.iapi.services.monitor.Monitor.startSystemModule(Monitor.java:369)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.runWithState(BaseMonitor.java:386)
>         at org.apache.derby.impl.services.monitor.FileMonitor.<init>(FileMonitor.java:60)
>         at org.apache.derby.iapi.services.monitor.Monitor.startMonitor(Monitor.java:289)
>         at org.apache.derby.iapi.jdbc.JDBCBoot.boot(JDBCBoot.java:69)
>         at org.apache.derby.jdbc.EmbeddedDriver.boot(EmbeddedDriver.java:199)
>         at org.apache.derby.jdbc.EmbeddedDriver.<clinit>(EmbeddedDriver.java:96)
>         ... 33 more
> 2) testBootingDatabaseShutdownByAnotherCLR(org.apache.derbyTesting.functionTests.tests.store.ClassLoaderBootTest)java.lang.ExceptionInInitializerError
>         at org.apache.derby.jdbc.EmbeddedDataSource.findDriver(EmbeddedDataSource.java:500)
>         at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java:479)
>         at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java:423)
>         at org.apache.derbyTesting.functionTests.tests.store.ClassLoaderBootTest.testBootingDatabaseShutdownByAnotherCLR(ClassLoaderBootTest.java:208)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         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:109)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>         at junit.extensions.TestSetup.run(TestSetup.java:25)
>         at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>         at junit.extensions.TestSetup.run(TestSetup.java:25)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>         at junit.extensions.TestSetup.run(TestSetup.java:25)
> Caused by: java.lang.SecurityException: sealing violation: package org.apache.derby.iapi.services.sanity
is sealed
>         at java.net.URLClassLoader.defineClass(URLClassLoader.java:234)
>         at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>         at org.apache.derbyTesting.functionTests.tests.store.ClassLoaderBootTest$DerbyURLClassLoader.loadClass(ClassLoaderBootTest.java:293)
>         at org.apache.derbyTesting.functionTests.tests.store.ClassLoaderBootTest$DerbyURLClassLoader.loadClass(ClassLoaderBootTest.java:303)
>         at org.apache.derby.iapi.services.monitor.Monitor.startSystemModule(Monitor.java:369)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.runWithState(BaseMonitor.java:386)
>         at org.apache.derby.impl.services.monitor.FileMonitor.<init>(FileMonitor.java:60)
>         at org.apache.derby.iapi.services.monitor.Monitor.startMonitor(Monitor.java:289)
>         at org.apache.derby.iapi.jdbc.JDBCBoot.boot(JDBCBoot.java:69)
>         at org.apache.derby.jdbc.EmbeddedDriver.boot(EmbeddedDriver.java:199)
>         at org.apache.derby.jdbc.EmbeddedDriver.<clinit>(EmbeddedDriver.java:96)
>         ... 33 more

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message