db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew McIntyre (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-1537) Boot-time exception when running Derby tests with derbytools.jar in front of derby.jar in the classpath.
Date Tue, 01 Aug 2006 04:32:20 GMT
     [ http://issues.apache.org/jira/browse/DERBY-1537?page=all ]

Andrew McIntyre updated DERBY-1537:
-----------------------------------

    Attachment: derby-1537-v1.diff

Attching a patch for this issue. Currently, for every class scanned by classlister, the package
of that class is also checked for a few certain properties files. If found, these properties
files are added to the list of files tracked by the dependency manager. Currently, this is
only used by the engine build for metadata.properties. I've turned it off for the tools jar
build by wrapping it in a if (!db2jtools) {} block. This prevents classlister from including
org.apache.derby.impl.jdbc.metadata.properties because it scanned and added org.apache.derby.impl.jdbc.EmbedSQLException,
a dependent of org.apache.derby.iapi.error.StandardException.

Classlister could use some cleanup, but that should be handled separately from this issue.

I've verified that the fix solves the underlying problem and the exposed issue, the classpath
ordering problem. Unless there are any comments, I will commit this in the next day or so.

> Boot-time exception when running Derby tests with derbytools.jar in front of derby.jar
in the classpath.
> --------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1537
>                 URL: http://issues.apache.org/jira/browse/DERBY-1537
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.2.0.0
>            Reporter: A B
>         Assigned To: Andrew McIntyre
>            Priority: Critical
>             Fix For: 10.2.0.0
>
>         Attachments: derby-1537-v1.diff
>
>
> When running derbyall against sane jars all tests that create the "wombat" database fail
at boot-time if the classpath has derbytools.jar before derby.jar. The failure occurs when
the test tries to create the database.  I can successfully create a database manually, but
for whatever reason the test harness is unable to do so. 
> I've set the component to "Test" but I don't know if this a test harness problem or something
more severe.
> The full stack trace is below.  If I switch the order of derby.jar and derbytools.jar,
everything works as expected.
> ERROR XBM01: Startup failed due to an exception. See next exception for details.
>     at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:297)
>     at org.apache.derby.iapi.services.monitor.Monitor.exceptionStartingModule(Monitor.java:668)
>     at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1849)
>     at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(BaseMonitor.java:1013)
>     at org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Monitor.java:587)
>     at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(EmbedConnection.java:1563)
>     at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:243)
>     at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
>     at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>     at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:209)
>     at org.apache.derby.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:116)
>     at java.sql.DriverManager.getConnection(DriverManager.java:539)
>     at java.sql.DriverManager.getConnection(DriverManager.java:158)
>     at org.apache.derby.impl.tools.ij.util.startJBMS(util.java:491)
>     at org.apache.derby.impl.tools.ij.util.startJBMS(util.java:571)
>     at org.apache.derby.impl.tools.ij.ConnectionEnv.init(ConnectionEnv.java:62)
>     at org.apache.derby.impl.tools.ij.utilMain.<init>(utilMain.java:149)
>     at org.apache.derby.impl.tools.ij.utilMain14.<init>(utilMain14.java:51)
>     at org.apache.derby.impl.tools.ij.Main14.getutilMain(Main14.java:102)
>     at org.apache.derby.impl.tools.ij.Main.<init>(Main.java:232)
>     at org.apache.derby.impl.tools.ij.Main14.<init>(Main14.java:68)
>     at org.apache.derby.impl.tools.ij.Main14.getMain(Main14.java:91)
>     at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:170)
>     at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>     at org.apache.derby.tools.ij.main(ij.java:60)
> ============= begin nested exception, level (1) ===========
> java.lang.NullPointerException
>     at java.io.Reader.<init>(Reader.java(Inlined Compiled Code))
>     at java.io.InputStreamReader.<init>(InputStreamReader.java(Inlined Compiled
Code))
>     at java.util.Properties.load(Properties.java(Compiled Code))
>     at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.run(DataDictionaryImpl.java:9757)
>     at java.security.AccessController.doPrivileged1(Native Method)
>     at java.security.AccessController.doPrivileged(AccessController.java:287)
>     at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getQueryDescriptions(DataDictionaryImpl.java:9747)
>     at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSPSSet(DataDictionaryImpl.java:8275)
>     at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSystemSps(DataDictionaryImpl.java:8262)
>     at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:651)
>     at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>     at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>     at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
>     at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>     at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java:357)
>     at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(GenericLanguageConnectionFactory.java:330)
>     at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>     at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>     at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
>     at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>     at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:193)
>     at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>     at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>     at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1831)
>     at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(BaseMonitor.java:1013)
>     at org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Monitor.java:587)
>     at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(EmbedConnection.java:1563)
>     at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:243)
>     at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
>     at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>     at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:209)
>     at org.apache.derby.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:116)
>     at java.sql.DriverManager.getConnection(DriverManager.java:539)
>     at java.sql.DriverManager.getConnection(DriverManager.java:158)
>     at org.apache.derby.impl.tools.ij.util.startJBMS(util.java:491)
>     at org.apache.derby.impl.tools.ij.util.startJBMS(util.java:571)
>     at org.apache.derby.impl.tools.ij.ConnectionEnv.init(ConnectionEnv.java:62)
>     at org.apache.derby.impl.tools.ij.utilMain.<init>(utilMain.java:149)
>     at org.apache.derby.impl.tools.ij.utilMain14.<init>(utilMain14.java:51)
>     at org.apache.derby.impl.tools.ij.Main14.getutilMain(Main14.java:102)
>     at org.apache.derby.impl.tools.ij.Main.<init>(Main.java:232)
>     at org.apache.derby.impl.tools.ij.Main14.<init>(Main14.java:68)
>     at org.apache.derby.impl.tools.ij.Main14.getMain(Main14.java:91)
>     at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:170)
>     at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>     at org.apache.derby.tools.ij.main(ij.java:60)
> ============= end nested exception, level (1) ===========
> Cleanup action completed 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message