[
https://issues.apache.org/jira/browse/DERBY-3087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571576#action_12571576
]
Daniel John Debrunner commented on DERBY-3087:
----------------------------------------------
>From a quick look at the test there may be some multi-threading issues that
>are problems in the test and not problems in Derby.
The test has some static fields without any synchronization, e.g.
DBTasks.getConnection() has this code:
public static Properties prop = new Properties();
prop.setProperty("user", usr);
prop.setProperty("password", passwd);
Connection con = DriverManager.getConnection(System
.getProperty("database"), prop);
If multiple threads are trying to get a connection at the same time then they
may end up with a different user name from the one expected.
> NPE while running the SVT MailJdbc
> ----------------------------------
>
> Key: DERBY-3087
> URL: https://issues.apache.org/jira/browse/DERBY-3087
> Project: Derby
> Issue Type: Bug
> Components: Store
> Affects Versions: 10.3.2.1
> Environment: Windows 2000 , with ibmjvm15
> Reporter: Manjula Kutty
> Fix For: 10.4.0.0
>
> Attachments: derby.log, derby.log
>
>
> Here is the error I got in the out put file
> : ERROR :Purging Thread : Error while deleting mails by expiry manager: Java
> exception: ': java.lang.NullPointerException'.
> : ERROR :Refresh Thread : Exception while deleting mail by Thread: Java
> exception: ': java.lang.NullPointerException'.
> : ERROR :Refresh Thread : Exception while rolling back:
> java.sql.SQLException: No current connection.
> : ERROR :Purging Thread : Exception while rolling back:
> java.sql.SQLException: No current connection.
> : ERROR :deleteMailByRefresh() failed Java exception: ':
> java.lang.NullPointerException'.
> : INFO :Refresh doWork() completed
> : ERROR :Purging Thread : No current connection.
> : ERROR :Backup Thread : Error while doing the backup system procedure:
> Invalid checksum on Page Page(1491,Container(0, 960)),
> expected=3,208,159,254, on-disk version=1,403,141,298, page dump follows: Hex
> dump:
> 00000000: 0076 0000 0001 0000 0000 0003 5c3a 0000 .v..............
> 00000010: 0000 0006 0000 0000 0000 0000 0000 0000 ................
> 00000020: 0000 0000 0001 0000 0000 0000 0000 0000 ................
> 00000030: 0000 0000 0000 0000 0000 0000 ffff ffff ................
> 00000040: ffff ffff 0000 0000 0000 0000 0000 0000 ................
> After the error Connections are lost. Here is the stack trace from the
> derby.log
> Checkpoint Daemon caught standard exception
> ------------ BEGIN ERROR STACK -------------
> ERROR XSDB3: Container information cannot change once written: was 0, now 80
> at org.apache.derby.iapi.error.StandardException.newException(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.AllocPage.WriteContainerInfo(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.FileContainer.writeHeader(Unknown Source)
> at
> org.apache.derby.impl.store.raw.data.RAFContainer.writeRAFHeader(Unknown
> Source)
> at org.apache.derby.impl.store.raw.data.RAFContainer.clean(Unknown
> Source)
> at org.apache.derby.impl.services.cache.CachedItem.clean(Unknown Source)
> at org.apache.derby.impl.services.cache.Clock.cleanCache(Unknown Source)
> at org.apache.derby.impl.services.cache.Clock.cleanAll(Unknown Source)
> at
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.checkpoint(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.log.LogToFile.checkpointWithTran(Unknown
> Source)
> at org.apache.derby.impl.store.raw.log.LogToFile.checkpoint(Unknown
> Source)
> at org.apache.derby.impl.store.raw.RawStore.checkpoint(Unknown Source)
> at org.apache.derby.impl.store.raw.log.LogToFile.performWork(Unknown
> Source)
> at
> org.apache.derby.impl.services.daemon.BasicDaemon.serviceClient(Unknown
> Source)
> at org.apache.derby.impl.services.daemon.BasicDaemon.work(Unknown
> Source)
> at org.apache.derby.impl.services.daemon.BasicDaemon.run(Unknown Source)
> at java.lang.Thread.run(Thread.java:797)
> ------------ END ERROR STACK -------------
> Checkpoint Daemon caught standard exception
> ------------ BEGIN ERROR STACK -------------
> ERROR XSDB3: Container information cannot change once written: was 0, now 80
> at java.lang.Throwable.<init>(Throwable.java:57)
> at java.lang.Throwable.<init>(Throwable.java:68)
> at org.apache.derby.iapi.error.StandardException.<init>(Unknown Source)
> at org.apache.derby.iapi.error.StandardException.<init>(Unknown Source)
> at org.apache.derby.iapi.error.StandardException.newException(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.AllocPage.WriteContainerInfo(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.FileContainer.writeHeader(Unknown Source)
> at
> org.apache.derby.impl.store.raw.data.RAFContainer.writeRAFHeader(Unknown
> Source)
> at org.apache.derby.impl.store.raw.data.RAFContainer.clean(Unknown
> Source)
> at org.apache.derby.impl.services.cache.CachedItem.clean(Unknown Source)
> at org.apache.derby.impl.services.cache.Clock.cleanCache(Unknown Source)
> at org.apache.derby.impl.services.cache.Clock.cleanAll(Unknown Source)
> at
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.checkpoint(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.log.LogToFile.checkpointWithTran(Unknown
> Source)
> at org.apache.derby.impl.store.raw.log.LogToFile.checkpoint(Unknown
> Source)
> at org.apache.derby.impl.store.raw.RawStore.checkpoint(Unknown Source)
> at org.apache.derby.impl.store.raw.log.LogToFile.performWork(Unknown
> Source)
> at
> org.apache.derby.impl.services.daemon.BasicDaemon.serviceClient(Unknown
> Source)
> at org.apache.derby.impl.services.daemon.BasicDaemon.work(Unknown
> Source)
> at org.apache.derby.impl.services.daemon.BasicDaemon.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.