RFR: JDK-8210337: runtime/NMT/VirtualAllocTestType.java failed on RuntimeException missing from stdout/stderr

Chris Plummer chris.plummer at oracle.com
Tue Oct 2 20:57:43 UTC 2018



On 10/2/18 1:44 PM, gary.adams at oracle.com wrote:
> The general attach sequence ...
>
> src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java
>
>  the attacher creates an attach_pid file in a directory where the 
> attachee is runnning
>  issues a signal to the attacheee
>
>   loops waiting for the java_pid file to be created
>   default timeout is 10 seconds
>
So getting a FileNotFoundException while in this loop is OK, but 
IOException is not.

> src/hotspot/os/solaris/attachListener_solaris.cpp
>
>    attachee creates the java_pid file
>    listens til the attacher opens the door
>
I'm don't think this is related, but JDK-8199811 made a fix in 
attachListener_solaris.cpp to make it wait up to 10 seconds for 
initialization to complete before failing the enqueue.

> ...
> Not sure when a bare IOException is thrown rather than the
> more specific FileNotFoundException.
Where is the IOException originating from? I wonder if the issue is that 
the file is in the process of being created, but is not fully created 
yet. Maybe it is there, but owner/group/permissions have not been set 
yet, and this results in an IOException instead of FileNotFoundException.

Chris
>
>
>
> On 10/2/18 4:11 PM, Chris Plummer wrote:
>> Can you summarize how the attach handshaking is suppose to work? I'm 
>> just wondering why the attacher would ever be looking for the file 
>> before the attachee has created it. It seems a proper handshake would 
>> prevent this. Maybe there's some sort of visibility issue where the 
>> attachee has indeed created the file, but it is not immediately 
>> visible to the attacher process.
>>
>> Chris
>>
>> On 10/2/18 12:27 PM, gary.adams at oracle.com wrote:
>>> The problem reproduced pretty quickly.
>>> I added a call to checkPermission and revealed the
>>> "file not found" from the stat call when the IOException
>>> was detected.
>>>
>>> There has been some flakiness from the Solaris test machines today,
>>> so I'll continue with the testing a bit longer.
>>>
>>> On 10/2/18 3:12 PM, Chris Plummer wrote:
>>>> Without the fix was this issue easy enough to reproduce that you 
>>>> can be sure this is resolving it?
>>>>
>>>> Chris
>>>>
>>>> On 10/2/18 8:16 AM, Gary Adams wrote:
>>>>> Solaris debug builds are failing tests that use the attach interface.
>>>>> An IOException is reported when the java_pid file is not opened.
>>>>>
>>>>> It appears that the attempt to attach is taking place too quickly.
>>>>> This workaround will allow the open operation to be retried
>>>>> after a short pause.
>>>>>
>>>>>   Webrev: http://cr.openjdk.java.net/~gadams/8210337/webrev/
>>>>>   Issue: https://bugs.openjdk.java.net/browse/JDK-8210337
>>>>>
>>>>> Testing is in progress.
>>>>
>>>>
>>>>
>>>
>>
>>
>




More information about the serviceability-dev mailing list