RFR(S): URG! JDK-8049226 com/sun/jdi/OptionTest.java test times out again
Dmitry Samersoff
dmitry.samersoff at oracle.com
Wed Aug 20 15:55:08 UTC 2014
Serguei,
After some additional testing I changed the fix a bit. Please take a
look at new version.
http://cr.openjdk.java.net/~dsamersoff/JDK-8049226/webrev.02/
New version reports JVMTI error to stderr.
Also jniFatalError is not referenced any more so I remove it.
-Dmitry
On 2014-08-20 12:08, serguei.spitsyn at oracle.com wrote:
> Ok.
>
> Thank you for the explanation!
> Serguei
>
> On 8/20/14 1:01 AM, Dmitry Samersoff wrote:
>> Serguei,
>>
>> 1. Historically JDI test-suite had no tests for failed transport
>> initialization behavior and invalid parameters handling.
>>
>> 2. As a part of JDWP hardening work I added couple of such tests to
>> OptionTest.java - these tests pass invalid parameters to dt_socket
>> transport to make sure that transport doesn't crash (one such crash was
>> discovered and fixed) but just return non-zero exit code to upper level.
>>
>> 3. After fix for JDK-6694099 any non-zero exit code from transport cause
>> VM to coredump. Dumping multiple cores on busy machine takes a time so
>> harness kills the test by timeout.
>>
>> We can just increase timeout for this test but I don't think it's a good
>> idea to dump core when invalid parameters passed to transport.
>>
>> So there is the fix.
>>
>> 4. After the fix tests for negative parameters will return non-zero exit
>> code as expected but will not dump the core.
>>
>> -Dmitry
>>
>> On 2014-08-20 00:54, serguei.spitsyn at oracle.com wrote:
>>> Hi Dmitry,
>>>
>>> The fix seems to be Ok.
>>> Just want to make it clear...
>>> This fix just changes the bug pattern.
>>> It a case of incorrect transport parameters the test is still going to
>>> fail but without crash, right?
>>>
>>> Thanks,
>>> Serguei
>>>
>>> On 8/19/14 12:09 PM, Dmitry Samersoff wrote:
>>>> Hi Everybody,
>>>>
>>>> Please review the fix:
>>>>
>>>> http://cr.openjdk.java.net/~dsamersoff/JDK-8049226/webrev.01/
>>>>
>>>> JDWP call jniFatalError if transport can't be initialized (e.g. wrong
>>>> parameters) and jniFatalError call os::abort(). Therefor all transport
>>>> initialization errors cause vm to coredump.
>>>>
>>>> I see no reason for debugInit_exit to call jniFatalError so remove this
>>>> code.
>>>>
>>>> -Dmitry
>>>>
>>
>
--
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.
More information about the serviceability-dev
mailing list