Is there a way to avoid the code duplication?<br><br>Thank you,<br>    Denis. <br><div class="gmail_quote"><div dir="ltr">On Tue, 30 Oct 2018 at 03:57, Sergey Bylokhov <<a href="mailto:Sergey.Bylokhov@oracle.com">Sergey.Bylokhov@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Any volunteers to review? =)<br>
<br>
On 06/08/2018 19:06, Sergey Bylokhov wrote:<br>
> Hello.<br>
> Please review the fix for jdk12.<br>
> <br>
> Bug: <a href="https://bugs.openjdk.java.net/browse/JDK-8208702" rel="noreferrer" target="_blank">https://bugs.openjdk.java.net/browse/JDK-8208702</a><br>
> Webrev: <a href="http://cr.openjdk.java.net/~serb/8208702/webrev.01" rel="noreferrer" target="_blank">http://cr.openjdk.java.net/~serb/8208702/webrev.01</a><br>
> <br>
> The new test which was added as part of JDK-8189604[1] may hang on macOS if it is run via ssh, and the user used in ssh and the current user in GUI login session are different. But it works if the users are the same.<br>
> <br>
> =====================<br>
> This is part of the spec describe why it works in some cases and does not work in another:<br>
> "The reasons for this non-obvious behavior are lost in the depths of history. However, the fact that this works at all is pretty much irrelevant because there are important caveats that prevent it from being truly useful."<br>
> <a href="https://developer.apple.com/library/archive/technotes/tn2083/_index.html#//apple_ref/doc/uid/DTS10003794-CH1-SUBSECTION14" rel="noreferrer" target="_blank">https://developer.apple.com/library/archive/technotes/tn2083/_index.html#//apple_ref/doc/uid/DTS10003794-CH1-SUBSECTION14</a><br>
> <br>
> Also please take a look to the "Listing 6" in the link above, which describe similar situation.<br>
> =====================<br>
> <br>
> Note that by default in such environment the java will use the headless toolkit which works fine[2]. But the test forces to use the "headful toolkit" using "-Djava.awt.headless=false", which causes a hang in our Appkit initialization.<br>
> <br>
> On unix in the same circumstances we will throw the AWTError[3]. I have implemented the same on macOS. If "Security Context" reports that "sessionHasGraphicAccess" is false and the user requests "headful toolkit" we will throw AWTError.<br>
> <br>
> [1] <a href="https://bugs.openjdk.java.net/browse/JDK-8189604" rel="noreferrer" target="_blank">https://bugs.openjdk.java.net/browse/JDK-8189604</a><br>
> [2] <a href="http://hg.openjdk.java.net/jdk/client/file/f91e995f6d5c/src/java.base/unix/native/libjava/java_props_md.c#l405" rel="noreferrer" target="_blank">http://hg.openjdk.java.net/jdk/client/file/f91e995f6d5c/src/java.base/unix/native/libjava/java_props_md.c#l405</a><br>
> [3] <a href="http://hg.openjdk.java.net/jdk/client/file/f91e995f6d5c/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c#l758" rel="noreferrer" target="_blank">http://hg.openjdk.java.net/jdk/client/file/f91e995f6d5c/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c#l758</a><br>
> [4] <a href="https://developer.apple.com/library/archive/technotes/tn2083/_index.html#//apple_ref/doc/uid/DTS10003794-CH1-SUBSECTION19" rel="noreferrer" target="_blank">https://developer.apple.com/library/archive/technotes/tn2083/_index.html#//apple_ref/doc/uid/DTS10003794-CH1-SUBSECTION19</a><br>
> <br>
> <br>
<br>
<br>
-- <br>
Best regards, Sergey.<br>
</blockquote></div>