[ 
https://issues.apache.org/jira/browse/DERBY-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14623885#comment-14623885
 ] 

ASF subversion and git services commented on DERBY-4669:
--------------------------------------------------------

Commit 1690482 from [~bryanpendleton] in branch 'code/trunk'
[ https://svn.apache.org/r1690482 ]

DERBY-6824: Move ShutdownException into shared code area

For reasons similar to those described in DERBY-4669, the new code in
o.a.d.shared.common.error is designed to be able to be present in multiple
jar files (e.g., in both derby.jar and in derbyclient.jar), so it needs
to be unsealed to avoid sealing violations when that occurs.

Marked the package unsealed.

> 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: Network Client, Test
>    Affects Versions: 10.5.3.0
>            Reporter: Kristian Waagan
>            Assignee: Kristian Waagan
>            Priority: Minor
>              Labels: derby_triage10_8
>             Fix For: 10.5.3.2, 10.6.2.4, 10.7.1.4, 10.8.2.2, 10.9.1.0
>
>         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 was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to