Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
10.11.1.1
-
None
-
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b89)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b31, mixed mode)
-
Release Note Needed
Description
With the latest EA build of JDK 8 (build 1.8.0-ea-b89), I see many failures in suites.All. For example:
1) testStartNetworkServerFalse(org.apache.derbyTesting.functionTests.tests.derbynet.DerbyNetAutoStartTest)java.security.AccessControlException: access denied ("java.sql.SQLPermission" "deregisterDriver")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:364)
at java.security.AccessController.checkPermission(AccessController.java:562)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.sql.DriverManager.deregisterDriver(DriverManager.java:399)
at org.apache.derby.jdbc.AutoloadedDriver.unregisterDriverModule(AutoloadedDriver.java:263)
at org.apache.derby.jdbc.Driver20.stop(Driver20.java:105)
at org.apache.derby.impl.services.monitor.TopService.stop(TopService.java:443)
at org.apache.derby.impl.services.monitor.TopService.shutdown(TopService.java:394)
at org.apache.derby.impl.services.monitor.BaseMonitor.shutdown(BaseMonitor.java:227)
at org.apache.derby.impl.services.monitor.FileMonitor.shutdown(FileMonitor.java:44)
at org.apache.derby.impl.services.monitor.BaseMonitor.shutdown(BaseMonitor.java:197)
at org.apache.derby.impl.services.monitor.FileMonitor.shutdown(FileMonitor.java:44)
at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:255)
at org.apache.derby.jdbc.Driver20.connect(Driver20.java:246)
at org.apache.derby.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:145)
at java.sql.DriverManager.getConnection(DriverManager.java:661)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at org.apache.derbyTesting.junit.DriverManagerConnector.getConnectionByAttributes(DriverManagerConnector.java:204)
at org.apache.derbyTesting.junit.DriverManagerConnector.shutEngine(DriverManagerConnector.java:171)
at org.apache.derbyTesting.junit.TestConfiguration.shutdownEngine(TestConfiguration.java:1822)
at org.apache.derbyTesting.functionTests.tests.derbynet.DerbyNetAutoStartTest.setUp(DerbyNetAutoStartTest.java:82)
at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:117)
at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:439)
at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:456)
What's new in EA build 89 is that DriverManager.deregisterDriver() now requires an SQLPermission when running under a security manager. Most of suites.All runs under a security manager, and Derby's engine shutdown code calls deregisterDriver(), so this problem probably affects all tests that shut down the engine.
Attachments
Attachments
Issue Links
- is related to
-
DERBY-6239 Document optional permission SQLPermission("deregisterDriver")
- Closed
- relates to
-
DERBY-2905 Shutting down embedded Derby does not remove all code, the AutoloadDriver is left registered in the DriverManager.
- Closed
-
DERBY-586 Provide an alternative means to shut down a database other than using getConnection()
- Open