Thoughts on possible options to JDK-8027598

Rajan Halade rajan.halade at oracle.com
Wed Nov 20 23:35:38 UTC 2013


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
>>>
>>>
>>




More information about the security-dev mailing list