Thanks for your comments. See inline -

- Rajan

On 11/20/2013 03:54, Chris Hegarty wrote:
On 20/11/13 01:07, Xuelei Fan wrote:
On 11/20/2013 8:19 AM, Rajan Halade wrote:
I am working towards fixing JDK-8027598
<https://bugs.openjdk.java.net/browse/JDK-8027598>, there are multiple
options available here and would appreciate your thoughts on this. It
was filed to address the issue at large reported inJDK-8027526
<https://bugs.openjdk.java.net/browse/JDK-8027526>.

Problem - When a regression test is run in agentvm mode and alters
security providers, it can cause adverse effects on next tests executed
in the batch. We have been batteling with few intermittent failures
which are caused by scenario like this so I think it is important to
have this fix.

Possible approaches -
1. Enhance JTREG - This option would require change in jtreg to
store/restore security providers when run in agentvm mode.
If I am correct, JTREG has support provider cleanup already. But the
question is even JTREG reset the providers, it still cannot ensure next
test won't be impacted because in some circumstances JDK may need to
cache something which depends on previous providers.  Still need to
analysis the test case by case.

Right, any static or cached data may be invalid, and this will require careful changes to the JRE itself.
Pardon my ignorance - if I gather correctly then ProvidersSnapshot library also doesn't sandbox effects completely.

If there are not too many of these tests, I don't think that explicitly marking them othervm will hurt too much. And making them reliable will reduce greatly the amount of time spent head scratching chasing intermittent failures.
I agree with you, we need to consider using othervm mode. There are ~66 (1% of all reg tests) such tests which are run in agentvm, don't use ProvidersSnapshot library, and are modifying providers. I think its safe to go with othervm option, let me know.

- Rajan

-Chris.


Xuelei

2. Update impacting tests to run in othervm - simple change but may slow
down batch execution slightly.
3. Update each test to use library
java/security/KeyPairGenerator/Failover.java like done in
java/security/Provider tests - another easy change and tests would
continue to run agentvm but would have added overhead of restoring
providers.

We will continue to pursue option 1 but many not be possible. Option 2 &
3 above are equally good and are debatable so would like your thoughts
on it.

Thanks,
Rajan




Reply via email to