db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Katherine Marsden <kmarsdende...@sbcglobal.net>
Subject NPE in Store on boot (was Re: Random DRDA Error on IBM J9 JVM)
Date Wed, 04 Apr 2012 23:31:24 GMT
On 4/4/2012 12:43 PM, Brandon L. Duncan wrote:
> Peter, definitely using the 10.8.2.2 jars. The scenario, which I'm in 
> the process of parsing down to share on JIRA is a single shell script 
> called from qsh to start the network server, run ij, and finally 
> shutdown the network server. The same classpath is shared through all 
> three java calls.
>
Looking at the stack trace. I think we are losing the initial boot 
exception that leads to the shutdown because of the NullPointerException.

As a quick hack to see what the exception is you can put a 
t.printStackTrace() about line 1829 of BaseMonitor.

     } catch (Throwable t) {
     .....

             if (ts != null) {
                 ts.shutdown(); < It is in here that the NPE occurs.
                 synchronized (this) {
                     services.remove(ts);
                 }

I'd check the database and make sure it is consistent [1] and also  if 
you have a reproduction that you cannot share, perform JIT diagnostics.  
First disable JIT with -Xint and see if it still reproduces.   Hopefully 
your reproduction starts with a new database each time.

I think you should go ahead and file the Jira and include the derby.log, 
the jvm information  and as much information as you can and add the 
reproduction once you get it to a state where you can attach.

Thanks

Kathey

[1] http://wiki.apache.org/db-derby/DatabaseConsistencyCheck

 > action starting
 > java.lang.NullPointerException
 > at
 > 
org.apache.derby.impl.store.raw.data.BaseDataFileFactory.stop(BaseDataFileFactory.java:541)
 > 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.bootService(BaseMonitor.java:1845)
 > at
 > 
org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1682)
 > at
 > 
org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(BaseMonitor.java:1560)
 > at
 > 
org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:979)
 > at
 > 
org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Monitor.java:550)
 > at
 > 
org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:2697)
 > at
 > 
org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:385)
 > at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:70)
 > at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:248)
 > at org.apache.derby.jdbc.EmbeddedDriver.connect(EmbeddedDriver.java:126)
 > at org.apache.derby.impl.drda.Database.makeConnection(Database.java:257)
 > at
 > 
org.apache.derby.impl.drda.DRDAConnThread.getConnFromDatabaseName(DRDAConnThread.java:1447)
 > at
 > 
org.apache.derby.impl.drda.DRDAConnThread.verifyUserIdPassword(DRDAConnThread.java:1397)
 > at
 > 
org.apache.derby.impl.drda.DRDAConnThread.parseSECCHK(DRDAConnThread.java:3248)
 > at
 > 
org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(DRDAConnThread.java:1177)
 > at
 > 
org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:982)
 > at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:295)


Mime
View raw message