[ https://issues.apache.org/jira/browse/DERBY-4856?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lily Wei updated DERBY-4856: ---------------------------- Attachment: DERBY-4856_part_3_3c.diff Thanks to Kathey for reviewing the code and found problem for not able to get thread dump and diagnostic information when there is deadlock error. Please refer to test Derby3980DeadlockTest. The changes for this patch compare to 3b are: 1. Use isactive variable in SequenceUpdater.java 2. Revise TransactionResourceImpl.cleanupOnError(Throwable error, Boolean diagActive) method to take one more parameter to further detect whether to process diagnostic information. • Pass whether database is active information in TransactionResourceImpl.handleException 3. Assume database is not active when calling TransactionResourceImpl.cleanupOnError on EmbeddedConnection(...) init stage and EmbeddedConnection.close 4. Change comments and variable name 5. Add test to Derby3980DeadlockTest.java Current result: There is one javacore* file after Derby3980DeadlockTest I am running suites.all and derbyall tests. Please review the code. > Add thread dump information when derby crash > -------------------------------------------- > > Key: DERBY-4856 > URL: https://issues.apache.org/jira/browse/DERBY-4856 > Project: Derby > Issue Type: Bug > Components: Services > Reporter: Lily Wei > Assignee: Lily Wei > Priority: Minor > Fix For: 10.8.0.0 > > Attachments: ContextManager.java, corruptdb.zip, derby-4856-1a.diff, > DERBY-4856-part_1_1a.diff, DERBY-4856_part_2_2a.diff, > DERBY-4856_part_2_2b.diff, DERBY-4856_part_3_1a.diff, > DERBY-4856_part_3_2a.diff, DERBY-4856_part_3_3a.diff, > DERBY-4856_part_3_3b.diff, DERBY-4856_part_3_3c.diff, derby.log > > > On system crash or session ending error, Derby should dump as much > information as possible. Such as: forcing a javacore if possible or at least > thread dump and system environment information. This should only occur if a > running session crashes not on boot error due to fail recovery etc. > The IBM jvm provides a way to programmatically dump a javacore. i.e. > com.ibm.jvm.Dump.JavaDump() And, the SUN jvm will force a thread dump using > the Unsafe class and there may be a better way. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.