[
https://issues.apache.org/jira/browse/DERBY-4859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923249#action_12923249
]
Dag H. Wanvik commented on DERBY-4859:
--------------------------------------
Seems a good incremental improvement, +1
> Missing doPrivileged in DatabaseClasses.WriteClassFile()
> --------------------------------------------------------
>
> Key: DERBY-4859
> URL: https://issues.apache.org/jira/browse/DERBY-4859
> Project: Derby
> Issue Type: Bug
> Components: Services
> Affects Versions: 10.7.0.0
> Reporter: Knut Anders Hatlen
> Assignee: Knut Anders Hatlen
> Priority: Minor
> Attachments: diff.diff
>
>
> One of my test runs failed with the following error:
> 1)
> testAllUncommittedReclaim(org.apache.derbyTesting.functionTests.tests.store.AccessTest)java.sql.SQLException:
> Java exception: 'access denied (java.io.FilePermission
> /export/home/tmp/kh160127/derbyall/system/ac72985692x012bxc9d4x9594xffffa08cb27a0.class
> write): java.security.AccessControlException'.
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
> Source)
> (...)
> Caused by: java.security.AccessControlException: access denied
> (java.io.FilePermission
> /export/home/tmp/kh160127/derbyall/system/ac72985692x012bxc9d4x9594xffffa08cb27a0.class
> write)
> at
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
> at
> java.security.AccessController.checkPermission(AccessController.java:546)
> at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
> at java.lang.SecurityManager.checkWrite(SecurityManager.java:962)
> at java.io.FileOutputStream.<init>(FileOutputStream.java:169)
> at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
> at
> org.apache.derby.impl.services.reflect.DatabaseClasses.WriteClassFile(Unknown
> Source)
> at
> org.apache.derby.impl.services.reflect.DatabaseClasses.loadGeneratedClass(Unknown
> Source)
> (...)
> I think the underlying error is an OutOfMemoryError, because I have seen
> tests running out of permgen space with the same configuration lately. But
> that error never gets all the way out to the test framework because of the
> above file permission error.
> When DatabaseClasses.loadGeneratedClass() fails with a LinkageError or a
> VirtualMachineError (the super-class of OutOfMemoryError), it attempts to
> dump the generated class to disk. But since the tests run under a security
> manager, and the code writes the class to disk isn't wrapped in a privileged
> block, the dumping of extra debug info fails and hides the original error.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.