Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
10.2.2.0
-
None
-
Normal
Description
This report is based on discussion from DERBY-3445.
EMMA is unable to write coverage information from network server when it is started in a separate process with default security policy.
Exceptions are typically like this:
[junit] java.security.AccessControlException: Access denied (java.io.FilePermission coverage.ec read)
[junit] at java.security.AccessController.checkPermission(AccessController.java:104)
[junit] at java.lang.SecurityManager.checkPermission(SecurityManager.java:547)
[junit] at java.lang.SecurityManager.checkRead(SecurityManager.java:886)
[junit] at java.io.File.exists(File.java:726)
[junit] at com.vladium.emma.data.DataFactory.persist(DataFactory.java:525)
[junit] at com.vladium.emma.data.DataFactory.persist(DataFactory.java:86)
[junit] at com.vladium.emma.rt.RTCoverageDataPersister.dumpCoverageData(RTCoverageDataPersister.java:54)
[junit] at com.vladium.emma.rt.RTExitHook.run(RTExitHook.java:32)
[junit] at java.lang.Thread.run(Thread.java:801)
[junit] Exception in thread "EMMA shutdown handler thread" java.lang.RuntimeException: EMMA failed to dump coverage data: java.security.AccessControlException: Access denied (java.io.FilePermission coverage.ec read)
[junit] at com.vladium.emma.rt.RTCoverageDataPersister.dumpCoverageData(RTCoverageDataPersister.java:71)
[junit] at com.vladium.emma.rt.RTExitHook.run(RTExitHook.java:32)
[junit] at java.lang.Thread.run(Thread.java:801)
The discussion in DERBY-3445 suggests a couple of solutions to be able to expand on the default security policy so that the network server JVM will allow EMMA to write the coverage data and thus improve the accuracy of the coverage measurements.
Attachments
Issue Links
- is duplicated by
-
DERBY-5514 SecureServerTest (and others) don't play nice with EMMA: AccessControlException
- Closed
- relates to
-
DERBY-3445 Make it easier to use the EMMA tool to measure the code coverage of the Derby testing
- Closed