[ 
https://issues.apache.org/jira/browse/DERBY-3618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12614846#action_12614846
 ] 

Kathey Marsden commented on DERBY-3618:
---------------------------------------

I haven't reviewed the code yet, but I gave the patch on Zos where I am 
debugging an ASSERT failure in refActions1 (probable jvm issue).  I noticed 
that my assert looked like this.  I seemed to lose the actual ASSERT message in 
this case which should have been:"Container closed while IO operations are in 
progress."


Exception trace:
org.apache.derby.shared.common.sanity.AssertFailure: (Skipping thread dump 
because of insufficient permissions:
java.security.AccessControlException: Access denied 
(java.lang.RuntimePermission getStackTrace))


        at 
org.apache.derby.shared.common.sanity.SanityManager.ASSERT(SanityManager.java:120)
        at 
org.apache.derby.impl.store.raw.data.RAFContainer4.closeContainer(RAFContainer4.java:169)
        at 
org.apache.derby.impl.store.raw.data.FileContainer.clearIdentity(FileContainer.java:473)
        at 
org.apache.derby.impl.services.cache.ConcurrentCache.evictEntry(ConcurrentCache.java:188)
        at 
org.apache.derby.impl.services.cache.ClockPolicy.shrinkMe(ClockPolicy.java:658)
        at 
org.apache.derby.impl.services.cache.ClockPolicy.doShrink(ClockPolicy.java:568)
        at 
org.apache.derby.impl.services.cache.ClockPolicy.insertEntry(ClockPolicy.java:168)
        at 
org.apache.derby.impl.services.cache.ConcurrentCache.insertIntoFreeSlot(ConcurrentCache.java:208)
        at 
org.apache.derby.impl.services.cache.ConcurrentCache.find(ConcurrentCache.java:284)
        at 
org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:628)
        at 
org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openDroppedContainer(BaseDataFileFactory.java:578)
        at 
org.apache.derby.impl.store.raw.xact.Xact.openDroppedContainer(Xact.java:1305)
        at 
org.apache.derby.impl.store.raw.data.ContainerBasicOperation.findContainer(ContainerBasicOperation.java:145)
        at 
org.apache.derby.impl.store.raw.data.ContainerBasicOperation.needsRedo(ContainerBasicOperation.java:213)
        at 
org.apache.derby.impl.store.raw.log.FileLogger.redo(FileLogger.java:1395)
        at 
org.apache.derby.impl.store.raw.log.LogToFile.recover(LogToFile.java:920)
        at org.apache.derby.impl.store.raw.RawStore.boot(RawStore.java:334)
        at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:2000)
        at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291)
        at 
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:554)
        at 
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:427)
        at 
org.apache.derby.impl.store.access.RAMAccessManager.boot(RAMAccessManager.java:1019)
        at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:2000)
        at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291)
        at 
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:554)
        at 
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:427)
        at 
org.apache.derby.impl.db.BasicDatabase.bootStore(BasicDatabase.java:780)
        at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:196)
        at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:2000)
        at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291)
        at 
org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1837)
        at 
org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1703)
        at 
org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(BaseMonitor.java:1583)
        at 
org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:1002)
        at 
org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Monitor.java:550)
        at 
org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:2572)
        at 
org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:365)
        at 
org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:68)


I think it is good that it prints that it could not print the stack traces, but 
it should preserve the original message as well.  I'll try changing 
derby_tests.policy to include the permssions (which I think we should do) and 
try again.




> Perform thread dump with ASSERTS with jdk 1.5 or higher
> -------------------------------------------------------
>
>                 Key: DERBY-3618
>                 URL: https://issues.apache.org/jira/browse/DERBY-3618
>             Project: Derby
>          Issue Type: Improvement
>          Components: Services
>    Affects Versions: 10.5.0.0
>            Reporter: Kathey Marsden
>            Assignee: Erlend Birkenes
>            Priority: Minor
>         Attachments: DERBY-3618_1.diff, DERBY-3618_2.diff, DERBY-3618_3.diff, 
> DERBY-3618_4.diff, DERBY-3618_5.diff
>
>
> It would be good to have a stack traces for all threads dump to the derby.log 
> when an assertion occurs with JVM's that support it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to