RFR 8164533: [TEST_BUG] sun/security/ssl/SSLSocketImpl/CloseSocket.java failed with "Error while cleaning up threads after test"

Artem Smotrakov artem.smotrakov at oracle.com
Thu Aug 25 17:33:13 UTC 2016


Hi Xuelei,


On 08/25/2016 10:26 AM, Xuelei Fan wrote:
>
>> On Aug 26, 2016, at 12:43 AM, Artem Smotrakov <artem.smotrakov at oracle.com> wrote:
>>
>> Hi Xuelei,
>>
>> I am not sure why you think it's too strong to follow to it. To me it's pretty easy to see if a test calls System.setProperty() or Security.setProperty() methods which modify default JSSE configuration.
>>
>> Is there any other way to modify default JSSE configuration, so that it can't be changes then?
>>
> Yes.
Could you give an example?
> And even it can only be set via explicit call to setProperty(), run it in agent vm is still not safe because we don't know where the set may be used other than this test case.
Those tests which modify default JSSE configuration should be run in 
othervm mode. This way they won't affect any other tests.
>   It is not only about this test, the impact need to consider all JDK test cases in a big picture, which is a huge number and we cannot actually evaluate so many test cases.
I think we just need to identify all tests that modify default JSSE 
configuration, and make them run in othervm mode. I believe that 
currently most of them run in othervm mode.

Artem
> I will reply more details when I have a PC tomorrow.
>
> Xuelei
>
>> Artem
>>
>>
>>> On 08/25/2016 12:43 AM, Xuelei Fan wrote:
>>>> On 8/25/2016 2:06 PM, Weijun Wang wrote:
>>>> I think Artem is correct here.
>>>>
>>>> All those tests that modify static fields should run in othervm mode, so
>>>> that *each* runs in its *own* VM.  All other tests, which make no such
>>>> modifications, can share the *same* VM using agentvm.
>>> It's too strong to follow.  And it is not easy to know there is no static fields update in a test case.
>>>
>>> Xuelei
>>>
>>>>> On 8/25/2016 13:31, Xuelei Fan wrote:
>>>>>> On 8/25/2016 12:31 PM, Artem Smotrakov wrote:
>>>>>> Those tests which modify default JSSE parameters should be run in
>>>>>> othervm mode. But other tests which don't do that can be safely run in
>>>>>> agent VM. This test doesn't seem to modify any default JSSE parameter.
>>>>> If this test get booted, other test that need to do more customization
>>>>> may not work any more.
>>>>>
>>>>> For example, boolean variable A is a singleton static field, default is
>>>>> true.  If A get initialized in default mode, it is "true".  It is not
>>>>> possible to customize it to "false" any more in other test in
>>>>> agentvm/samevm mode.
>>>> Shouldn't these "other" tests run in othervm mode?
>>>>
>>>> Or, do you mean that even if a JSSE test does not modify a static field
>>>> inside the test, it will modify some through innocent JSSE calls, so no
>>>> JSSE test should ever run in agentvm?
>>>>
>>>> I find this unnatural.
>>>>
>>>> Thanks
>>>> Max
>>>>
>>>>> This test has no impact in agentvm/samevm mode unless no test run in
>>>>> agentvm/samevm mode or all tests run in agentvm/samevm mode has the same
>>>>> configuration as this one.   This assumption is too strong to follow.
>>>>>
>>>>> Xuelei
>>>>>
>>>>>> Artem




More information about the security-dev mailing list