db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <rick.hille...@gmail.com>
Subject Re: Exception running RunOptimizerTest
Date Sat, 19 Dec 2015 15:34:23 GMT
Hi Colm,

I agree with Bryan that it appears that this test has not been run since 
we introduced the BOOLEAN datatype five years ago in release 10.7.1.1. 
And I agree with Mike that the real problem seems to be that the correct 
Java security permissions haven't been granted to the Derby engine. The 
test doesn't appear to be designed to be run under a Java Security 
Manager. I say this because there is no doPrivileged block wrapping the 
check for the existence of the database directory at line 69. Here's a 
theory about what's going on:

1) The test itself is running on a client-side VM which is not governed 
by a SecurityManager.

2) But the IDE is running the engine in a separate server VM under a 
SecurityManager.

3) The server-side security policy is missing a permission.

It may be that your IDE hasn't been adjusted to account for the new 
permission which must be granted to derby.jar when you use Derby 10.12.1.1:

   permission org.apache.derby.security.SystemPermission "engine", 
"usederbyinternals";

Hope this helps,
-Rick


On 12/16/15 12:03 PM, Colm McHugh wrote:
> Hi Derby devs,
>
> I am getting the exception below when running RunOptimizerTest (in 
> org.apache.derbyTesting.system.optimizer). My goal is to step through 
> the query compilation code to understand how it works. I am using Java 
> 1.8. I am using netbeans 8.0.1 and the class path includes 
> derbyrun.jar  and derbyTesting.jar. Any help appreciated.
>
> run:
> Running test with url jdbc:derby:testdb;create=true
> Initializing db ...
> SQL Exception :java.sql.SQLException: XJ041.C : [0] testdb
> java.sql.SQLException: XJ041.C : [0] testdb
> at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:115)
> at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:141)
> at org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:255)
> at 
> org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(EmbedConnection.java:2656)
> at 
> org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:435)
> at org.apache.derby.jdbc.InternalDriver$1.run(InternalDriver.java:663)
> at org.apache.derby.jdbc.InternalDriver$1.run(
> InternalDriver.java:659)
>
> ========================= R E S U L T S =========================
> at java.security.AccessController.doPrivileged(Native Method)
>
> at 
> org.apache.derby.jdbc.InternalDriver.getNewEmbedConnection(InternalDriver.java:657)
> at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:306)
> at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:963)
> at 
> org.apache.derby.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:147)
> at java.sql.DriverManager.getConnection(DriverManager.java:664)
> at java.sql.DriverManager.getConnection(DriverManager.java:270)
> at 
> org.apache.derbyTesting.system.optimizer.RunOptimizerTest.main(RunOptimizerTest.java:94)
> Caused by: ERROR XJ041: XJ041.C : [0] testdb
> at 
> org.apache.derby.iapi.error.StandardException.newException(StandardException.java:290)
> at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory.java:170)
> at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:75)
> ... 14 more
> Caused by: ERROR XBM01: XBM01.D
> at 
> org.apache.derby.iapi.error.StandardException.newException(StandardException.java:290)
> at 
> org.apache.derby.iapi.services.monitor.Monitor.exceptionStartingModule(Monitor.java:743)
> at 
> org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1841)
> at 
> org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(BaseMonitor.java:1006)
> at 
> org.apache.derby.impl.services.monitor.FileMonitor.createPersistentService(FileMonitor.java:48)
> at 
> org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Monitor.java:650)
> at 
> org.apache.derby.impl.jdbc.EmbedConnection$5.run(EmbedConnection.java:4062)
> at java.security.AccessController.doPrivileged(Native Method)
> at 
> org.apache.derby.impl.jdbc.EmbedConnection.createPersistentService(EmbedConnection.java:4056)
> at 
> org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(EmbedConnection.java:2649)
> ... 11 more
> Caused by: java.lang.NullPointerException
> at 
> org.apache.derby.impl.store.raw.log.LogToFile.writeControlFile(LogToFile.java:2411)
> at org.apache.derby.impl.store.raw.log.LogToFile.boot(LogToFile.java:3383)
> at 
> org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1986)
> at 
> org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:334)
> at 
> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:537)
> at 
> org.apache.derby.impl.services.monitor.FileMonitor.startModule(FileMonitor.java:48)
> at 
> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:460)
> at 
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory$10.run(BaseDataFileFactory.java:3058)
> at java.security.AccessController.doPrivileged(Native Method)
> at 
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.bootServiceModule(BaseDataFileFactory.java:3052)
> at 
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.bootLogFactory(BaseDataFileFactory.java:1811)
> at 
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.setRawStoreFactory(BaseDataFileFactory.java:1287)
> at org.apache.derby.impl.store.raw.RawStore.boot(RawStore.java:227)
> at 
> org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1986)
> at 
> org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:334)
> at 
> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:537)
> at 
> org.apache.derby.impl.services.monitor.FileMonitor.startModule(FileMonitor.java:48)
> at 
> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:460)
> at 
> org.apache.derby.impl.store.access.RAMAccessManager$5.run(RAMAccessManager.java:1393)
> at java.security.AccessController.doPrivileged(Native Method)
> at 
> org.apache.derby.impl.store.access.RAMAccessManager.bootServiceModule(RAMAccessManager.java:1387)
> at 
> org.apache.derby.impl.store.access.RAMAccessManager.boot(RAMAccessManager.java:1039)
> at 
> org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1986)
> at 
> org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:334)
> at 
> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:537)
> at 
> org.apache.derby.impl.services.monitor.FileMonitor.startModule(FileMonitor.java:48)
> at 
> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:460)
> at org.apache.derby.impl.db.BasicDatabase$5.run(BasicDatabase.java:1001)
> at java.security.AccessController.doPrivileged(Native Method)
> at 
> org.apache.derby.impl.db.BasicDatabase.bootServiceModule(BasicDatabase.java:995)
> at 
> org.apache.derby.impl.db.BasicDatabase.bootStore(BasicDatabase.java:777)
> at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:186)
> at 
> org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1986)
> at 
> org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:334)
> at 
> org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1814)
> ... 18 more
> BUILD SUCCESSFUL (total time: 2 seconds)


Mime
View raw message