RFR 7162400: Intermittent java.io.IOException: Bad file number during HotSpotVirtualMachine.executeCommand

David Holmes david.holmes at oracle.com
Tue Jul 9 04:47:29 PDT 2013


Hi Peter,

Why did you change from using PATH_MAX+1 to UNIX_PATH_MAX in 
is_init_trigger? AFAICS the .attach_pid file is not linked to a socket 
and so not limited to UNIX_PATH_MAX.

David

On 8/07/2013 11:54 PM, Peter Allwin wrote:
> Hello!
>
> Looking for reviews of this change:
>
> http://cr.openjdk.java.net/~allwin/7162400/webrev.01/
>
> For CR:
>
> http://bugs.sun.com/view_bug.do?bug_id=7162400
>
> https://jbs.oracle.com/bugs/browse/JDK-7162400
>
> Summary:
>
> This change addresses an issue in the Attach API on Solaris, Linux and
> BSD where an attaching application can receive IOExceptions such as “Bad
> file number” (Solaris), “Connection refused” (Linux/BSD), or “well-known
> file is not secure”.
>
> The attach process uses a file in the temporary directory as a door
> (Solaris) or domain socket (Linux,BSD) to communicate with the VM. In
> certain circumstances stale files can be left in the file system which
> can cause the attaching application to believe that the VM is ready to
> receive a connection when it’s not. With this change the stale file will
> be removed during VM startup.
>
> Note that there is still an issue if we don’t have permission to remove
> the stale file, the attaching process will fail to connect.
>
> Testing:
>
> JPRT, reproducing script on Solaris, Linux.
>
> Credits:
>
> Thanks to Staffan Larsen who worked on this issue with me.
>
> Regards,
>
> Peter
>


More information about the hotspot-runtime-dev mailing list