You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Dag H. Wanvik (JIRA)" <ji...@apache.org> on 2011/08/03 21:34:26 UTC
[jira] [Commented] (DERBY-5003) NPE in ReplicationRun_Local_3_p5
when stopping slave after purposely crashing master
[ https://issues.apache.org/jira/browse/DERBY-5003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13078946#comment-13078946 ]
Dag H. Wanvik commented on DERBY-5003:
--------------------------------------
Saw this again, but the slave derby.log file showed an NPE earlier this time, cf this stack from the uploaded file db_slave-derby.log.2:
Replication slave role was stopped for database 'C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\db_slave\wombat'.
java.lang.NullPointerException
at org.apache.derby.impl.db.BasicDatabase.stop(Unknown Source)
at org.apache.derby.impl.db.SlaveDatabase.stop(Unknown Source)
at org.apache.derby.impl.services.monitor.TopService.stop(Unknown Source)
at org.apache.derby.impl.services.monitor.TopService.shutdown(Unknown Source)
at org.apache.derby.impl.services.monitor.BaseMonitor.shutdown(Unknown Source)
at org.apache.derby.impl.db.DatabaseContextImpl.cleanupOnError(Unknown Source)
at org.apache.derby.iapi.services.context.ContextManager.cleanupOnError(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.cleanupOnError(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.internalStopReplicationSlave(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
at org.apache.derby.impl.db.SlaveDatabase.handleShutdown(Unknown Source)
at org.apache.derby.impl.db.SlaveDatabase.access$200(Unknown Source)
at org.apache.derby.impl.db.SlaveDatabase$SlaveDatabaseBootThread.run(Unknown Source)
at java.lang.Thread.run(Thread.java:662)
----------------------------------------------------------------
Mon Aug 01 22:20:48 CEST 2011:
Shutting down instance 601a400f-0131-8701-514f-000002c3da64 on database directory C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\db_slave\wombat with class loader sun.misc.Launcher$AppClassLoader@1ea2dfe
Mon Aug 01 22:20:48 CEST 2011 Thread[DRDAConnThread_3,5,main] Cleanup action starting
java.lang.NullPointerException
at org.apache.derby.impl.store.raw.log.LogToFile.flush(Unknown Source)
at org.apache.derby.impl.store.raw.log.LogToFile.flushAll(Unknown Source)
:
I am not sure the first NPE is related, though, just an observation. The variable "dd" (data dictionary) is null when stopping here, cf. BasicDatabase#stop.
But it happens as internalStopReplicationSlave shuts down the database after having verified that the slave has stopped, cf. line 1034 in EmbedConnection.
> NPE in ReplicationRun_Local_3_p5 when stopping slave after purposely crashing master
> ------------------------------------------------------------------------------------
>
> Key: DERBY-5003
> URL: https://issues.apache.org/jira/browse/DERBY-5003
> Project: Derby
> Issue Type: Bug
> Components: Replication
> Affects Versions: 10.8.1.2
> Reporter: Dag H. Wanvik
> Labels: derby_triage10_8
> Attachments: db_slave-derby.log
>
>
> Derby.log trace of this: (*Daily* 1066867/2011-02-03 18:00:24 MET, JVM 1.5, Vista):
> NullPointerException in LogToFile.flush on slave:
> java.lang.NullPointerException
> at org.apache.derby.impl.store.raw.log.LogToFile.flush(Unknown Source)
> at org.apache.derby.impl.store.raw.log.LogToFile.flushAll(Unknown Source)
> at org.apache.derby.impl.store.raw.log.LogToFile.stopReplicationSlaveRole(Unknown Source)
> at org.apache.derby.impl.store.replication.slave.SlaveController.stopSlave(Unknown Source)
> at org.apache.derby.impl.store.replication.slave.SlaveController.stopSlave(Unknown Source)
> at org.apache.derby.impl.db.SlaveDatabase.stopReplicationSlave(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.handleStopReplicationSlave(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
> at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
> at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
> at org.apache.derby.impl.drda.Database.makeConnection(Unknown Source)
> at org.apache.derby.impl.drda.DRDAConnThread.getConnFromDatabaseName(Unknown Source)
> at org.apache.derby.impl.drda.DRDAConnThread.verifyUserIdPassword(Unknown Source)
> at org.apache.derby.impl.drda.DRDAConnThread.parseSECCHK(Unknown Source)
> at org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(Unknown Source)
> at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
> at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown
> Source)
> The client side stack dump:
> [Error/failure logged at Fri Feb 04 04:46:55 CET 2011]
> java.sql.SQLException: DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ001, SQLERRMC: java.lang.NullPointerExceptionXJ001.U
> at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source)
> at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
> at java.sql.DriverManager.getConnection(DriverManager.java:525)
> at java.sql.DriverManager.getConnection(DriverManager.java:193)
> at org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.stopSlave(ReplicationRun.java:3445)
> at org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.stopSlave(ReplicationRun.java:3395)
> at org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_3_p5.testReplication_Local_3_p5_DERBY_3878(ReplicationRun_Local_3_p5.java:93)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at junit.framework.TestCase.runTest(TestCase.java:164)
> at junit.framework.TestCase.runBare(TestCase.java:130)
> at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:112)
> at org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.runBare(ReplicationRun.java:207)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:120)
> at junit.framework.TestSuite.runTest(TestSuite.java:230)
> at junit.framework.TestSuite.run(TestSuite.java:225)
> at junit.framework.TestSuite.runTest(TestSuite.java:230)
> at junit.framework.TestSuite.run(TestSuite.java:225)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.extensions.TestSetup.run(TestSetup.java:25)
> at junit.framework.TestSuite.runTest(TestSuite.java:230)
> at junit.framework.TestSuite.run(TestSuite.java:225)
> at junit.framework.TestSuite.runTest(TestSuite.java:230)
> at junit.framework.TestSuite.run(TestSuite.java:225)
> at junit.framework.TestSuite.runTest(TestSuite.java:230)
> at junit.framework.TestSuite.run(TestSuite.java:225)
> at junit.textui.TestRunner.doRun(TestRunner.java:121)
> at junit.textui.TestRunner.start(TestRunner.java:185)
> at junit.textui.TestRunner.main(TestRunner.java:143)
> Caused by: org.apache.derby.client.am.SqlException: DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ001, SQLERRMC: java.lang.NullPointerExceptionXJ001.U
> at org.apache.derby.client.am.Connection.completeSqlca(Unknown Source)
> at org.apache.derby.client.net.NetConnectionReply.parseRdbAccessFailed(Unknown Source)
> at org.apache.derby.client.net.NetConnectionReply.parseAccessRdbError(Unknown Source)
> at org.apache.derby.client.net.NetConnectionReply.parseACCRDBreply(Unknown Source)
> at org.apache.derby.client.net.NetConnectionReply.readAccessDatabase(Unknown Source)
> at org.apache.derby.client.net.NetConnection.readSecurityCheckAndAccessRdb(Unknown Source)
> at org.apache.derby.client.net.NetConnection.flowSecurityCheckAndAccessRdb(Unknown Source)
> at org.apache.derby.client.net.NetConnection.flowUSRIDONLconnect(Unknown Source)
> at org.apache.derby.client.net.NetConnection.flowConnect(Unknown Source)
> at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
> at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl.newNetConnection(Unknown Source)
> ... 35 more
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira