RFR: 8046883 com/sun/jdi/ProcessAttachTest.sh gets "java.io.IOException: Invalid process identifier" on windows

Daniel D. Daugherty daniel.daugherty at oracle.com
Tue Jul 1 13:39:02 UTC 2014


On 6/23/14 2:33 AM, Staffan Larsen wrote:
> Fancy!
>
> new review: http://cr.openjdk.java.net/~sla/8046883/webrev.01/ 
> <http://cr.openjdk.java.net/%7Esla/8046883/webrev.01/>

test/com/sun/jdi/ProcessAttachTest.java
     New test looks very good. There's a couple of really long lines,
     but I can't think of a way to break the lines that makes sense
     with this new streams coding style.

Thumbs up.

Dan


>
> /Staffan
>
> On 18 jun 2014, at 13:59, Peter Allwin <peter.allwin at oracle.com 
> <mailto:peter.allwin at oracle.com>> wrote:
>
>> This looks a lot better!
>>
>> (Since we’re using fancy new features we could use streams to find 
>> the connector instance)
>>
>>         AttachingConnector ac = 
>> Bootstrap.virtualMachineManager().attachingConnectors()
>>             .stream()
>>             .filter(c -> c.name().equals("com.sun.jdi.ProcessAttach"))
>>             .findFirst()
>>             .orElseThrow(() -> new RuntimeException("Unable to locate 
>> ProcessAttachingConnector"));
>>
>> Thanks!
>> /peter
>>
>> On 17 Jun 2014, at 19:46, Staffan Larsen <staffan.larsen at oracle.com 
>> <mailto:staffan.larsen at oracle.com>> wrote:
>>
>>> Here is a rewrite of the test in Java instead of a shell script. 
>>> Should be easier to maintain.
>>>
>>> webrev: http://cr.openjdk.java.net/~sla/8046883/webrev.00/ 
>>> <http://cr.openjdk.java.net/%7Esla/8046883/webrev.00/>
>>>
>>> Thanks,
>>> /Staffan
>>>
>>> On 17 jun 2014, at 15:12, Staffan Larsen <staffan.larsen at oracle.com 
>>> <mailto:staffan.larsen at oracle.com>> wrote:
>>>
>>>>
>>>> On 17 jun 2014, at 15:03, Alan Bateman <Alan.Bateman at oracle.com 
>>>> <mailto:Alan.Bateman at oracle.com>> wrote:
>>>>
>>>>> On 17/06/2014 13:35, Staffan Larsen wrote:
>>>>>> :
>>>>>>
>>>>>> It could be a timing issue, but in the other direction. If cygwin 
>>>>>> hasn’t yet started the real windows process when I run ps, then 
>>>>>> maybe ps will not list it. But given the “sleep 2” before the ps 
>>>>>> invocation, the process should have had time to started. No 
>>>>>> guarantees of course.
>>>>>>
>>>>>> Making the sleep shorter will not help as the process we are 
>>>>>> starting will not terminate until we tell it to.
>>>>>>
>>>>>>
>>>>> Okay, although what I was suggesting is to use your patch but 
>>>>> additionally move the sleep at L79 into the new while loop so that 
>>>>> it doesn't spin quickly through the 10 iterations. That would give 
>>>>> the test 10 attempts (and 10 seconds) to get the pid.
>>>>
>>>> Ah, I see. I misunderstood your comment.
>>>>
>>>> I started looking at rewriting the test in pure Java instead of the 
>>>> shell script. With the new Process.getPid() this looks like the 
>>>> best approach. I’ll come back with a new review request soon.
>>>>
>>>> /Staffan
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20140701/90de4d9a/attachment-0001.html>


More information about the serviceability-dev mailing list