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 "Knut Anders Hatlen (JIRA)" <ji...@apache.org> on 2013/07/25 12:37:49 UTC

[jira] [Updated] (DERBY-6295) Allow tests to show detailed error when spawning new process fails

     [ https://issues.apache.org/jira/browse/DERBY-6295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Knut Anders Hatlen updated DERBY-6295:
--------------------------------------

    Attachment: d6295-1a.diff

Attaching a patch that adds the extra permission to the tests' policy files. All tests ran cleanly with the patch.
                
> Allow tests to show detailed error when spawning new process fails
> ------------------------------------------------------------------
>
>                 Key: DERBY-6295
>                 URL: https://issues.apache.org/jira/browse/DERBY-6295
>             Project: Derby
>          Issue Type: Improvement
>          Components: Test
>    Affects Versions: 10.11.0.0
>            Reporter: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: d6295-1a.diff
>
>
> In recent versions of Java, Runtime.exec() will hide the underlying exception unless the code base is granted read permission on the executable file.
> Example:
> These two failures probably have the same cause:
> http://download.java.net/javadesktop/derby/javadb-5579292-report/javadb-task-3689381.html
> http://download.java.net/javadesktop/derby/javadb-5579170-report/javadb-task-3688261.html
> The former, running on an older JVM, shows the real cause:
> java.io.IOException: Cannot run program "/localhome/tendril4.2/work/install/sun-jdk-7u10-fcs-bin-b31/jdk7_10/jdk1.7.0_10/jre/bin/java": error=12, Not enough space
> Caused by: java.io.IOException: error=12, Not enough space
> The latter, running on a more recent JVM, hides the real failure behind an AccessControlException:
> java.io.IOException: Cannot run program "/localhome/tendril4.2/work/install/sun-jdk-8-ea-bin-b93/jdk8/jdk1.8.0/jre/bin/java"
> Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "/localhome/tendril4.2/work/install/sun-jdk-8-ea-bin-b93/jdk8/jdk1.8.0/jre/bin/java" "read")
> We should consider changing the following grant in derby_tests.policy to include "read" in order to make it easier to see why a test is failing:
>   // Tests need to be able to exec a java program.
>   permission java.io.FilePermission "${java.home}${/}-", "execute";	

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira