Staffan,

On 2014-08-25 15:26, Staffan Larsen wrote:
> Dmitry,
> 
> One problem with this fix is that debugInit_exit() is used from many
> places in the JDWP code. For some of these I think it still does make
> sense to receive a core dump for analysis. I agree that when parsing
> options, we do not need a core dump.

jdwp has explicit option to request a coredump at debugInit_exit().

Is it enough or I should create a more sophisticated fix ?

Actually, I don't think that coredump on every call to jni_FatalError()
(see jni.cpp:726) is necessary but this hotspot code is here for 6 years
and changing it probably out of scope of this fix.

-Dmitry


> 
> /Staffan
> 
> 
> On 20 aug 2014, at 17:55, Dmitry Samersoff
> <dmitry.samers...@oracle.com> wrote:
> 
>> 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.spit...@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.spit...@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.
> 


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.

Reply via email to