[
https://issues.apache.org/jira/browse/DERBY-6224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Knut Anders Hatlen updated DERBY-6224:
--------------------------------------
Attachment: derby-6224-02-a.diff
derby-6224-02-a.diff makes shutdown write a message to derby.log instead of
failing when the driver cannot be deregistered. Here's the full message written
to derby.log:
----------------------------------------------------------------
Wed Jun 12 14:08:37 CEST 2013: Shutting down Derby engine
----------------------------------------------------------------
Wed Jun 12 14:08:37 CEST 2013:
Shutting down instance a816c00e-013f-3849-9ebc-0000035ea070 on database
directory memory:/run/shm/derbytst/db with class loader
sun.misc.Launcher$AppClassLoader@45ee12a7
Could not deregister the JDBC driver during engine shutdown. Make sure
SQLPermission("deregisterDriver") is granted to derby.jar.
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$1.run(AutoloadedDriver.java:290)
at
org.apache.derby.jdbc.AutoloadedDriver$1.run(AutoloadedDriver.java:287)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.derby.jdbc.AutoloadedDriver.deregisterDriver(AutoloadedDriver.java:286)
at
org.apache.derby.jdbc.AutoloadedDriver.unregisterDriverModule(AutoloadedDriver.java:265)
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:229)
at
org.apache.derby.impl.services.monitor.FileMonitor.shutdown(FileMonitor.java:44)
at
org.apache.derby.impl.services.monitor.BaseMonitor.shutdown(BaseMonitor.java:199)
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:147)
at java.sql.DriverManager.getConnection(DriverManager.java:661)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:1483)
at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:1313)
at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:1101)
at
org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:347)
at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:245)
at org.apache.derby.impl.tools.ij.Main.go(Main.java:229)
at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:184)
at org.apache.derby.impl.tools.ij.Main.main(Main.java:75)
at org.apache.derby.tools.ij.main(ij.java:59)
at org.apache.derby.iapi.tools.run.main(run.java:53)
----------------------------------------------------------------
> Many test failures on latest JDK 8 EA build because of missing SQLPermission
> ----------------------------------------------------------------------------
>
> Key: DERBY-6224
> URL: https://issues.apache.org/jira/browse/DERBY-6224
> Project: Derby
> Issue Type: Bug
> Components: Test
> Affects Versions: 10.11.0.0
> Environment: 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)
> Reporter: Knut Anders Hatlen
> Assignee: Knut Anders Hatlen
> Fix For: 10.9.2.2, 10.10.1.2, 10.11.0.0
>
> Attachments: derby-6224-01-a.diff, derby-6224-01-b.diff,
> derby-6224-02-a.diff, releaseNote.html
>
>
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira