RFR 8141526: Allow to collect stdout/stderr from the FinalizationRunner even before the process returns

Jaroslav Bachorik jaroslav.bachorik at oracle.com
Tue Dec 1 17:51:32 UTC 2015


On 30.11.2015 11:36, Jaroslav Bachorik wrote:
> On 25.11.2015 22:51, Dmitry Samersoff wrote:
>> Jaroslav,
>>
>> Looks good for me.
>
> Thanks! Could I have someone from outside of svc to take a look at this
> as well? The change needs to augment the hotspot test library with some
> features from the jdk hotspot library. And in order not to duplicate the
> code it consolidate these library classes into the shared library.

Last call - if I am not hearing any objections I am going to integrate 
this patch tomorrow.

Regards,

-JB-

>
>
>>
>> PS: I found a bug in canPtraceAttachLinux not related to your changes -
>> it's probably my mistake:
>>
>>   181         if (userName.equals("root")) {
>>   182             return true;
>>   183         }
>>
>> shouldn't be there.
>>
>> Could you file a separate CR and assign it to me?
>
> Will do.
>
> -JB-
>
>>
>> -Dmitry
>>
>> On 2015-11-06 19:11, Jaroslav Bachorik wrote:
>>> [wider audience included]
>>>
>>> Please, review the following test change
>>>
>>> Issue : https://bugs.openjdk.java.net/browse/JDK-8141526
>>> Webrev:
>>> top> http://cr.openjdk.java.net/~jbachorik/8141526/webrev.00
>>> hotspot> http://cr.openjdk.java.net/~jbachorik/8141526/webrev.00/hotspot
>>> jdk> http://cr.openjdk.java.net/~jbachorik/8141526/webrev.00/jdk
>>>
>>> After the fix for https://bugs.openjdk.java.net/browse/JDK-8135188 we
>>> are not able to get the debug info about the run of the launcher
>>> FinalizationRunner application in case it gets stuck and harness times
>>> out. This is because the stdout/err of the application started via
>>> ProcessTools.executeProcess() is collected only after the application
>>> has exited.
>>>
>>> The solution is to use ProcessTools.startProcess() and consume the
>>> application stdout/err in a streaming mode. Because this method has only
>>> been available in the 'jdk' version of ProcessTools and not in the
>>> 'hotspot' one I decided to merge both of those versions and place the
>>> merged version into the shared location 'test/lib/share/classes/'.
>>> During this I decided to change the package for the shared ProcessTools
>>> class to be 'jdk.test.lib.process' to be more in line with the way this
>>> shared library is structured. I had to move few other lib classes
>>> required by ProcessTools to the shared lib as well. All the moved lib
>>> classes have been marked as deprecated in their original location.
>>>
>>>
>>> Thanks,
>>>
>>> -JB-
>>>
>>
>>
>



More information about the serviceability-dev mailing list