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

Reply via email to