[ 
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

Reply via email to