RFR 8141526: Allow to collect stdout/stderr from the FinalizationRunner even before the process returns
Dmitry Samersoff
dmitry.samersoff at oracle.com
Thu Dec 3 12:29:19 UTC 2015
Jaroslav,
Looks good for me!
-Dmitry
On 2015-12-03 14:09, Jaroslav Bachorik wrote:
> On 25.11.2015 22:51, Dmitry Samersoff wrote:
>> Jaroslav,
>>
>> Looks good for me.
>>
>> 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?
>
> Actually, it is the result of my merge of the hotspot and jdk version of
> Platform.java. I will just remove it from there:
> http://cr.openjdk.java.net/~jbachorik/8141526/webrev.01
>
> -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-
>>>
>>
>>
>
--
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