<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Mehmet,<br>
    <br>
    Could you please log a bug at bugs.java.com, and let us know what
    issue ID
    <br>
    you receive.
    <br>
    <br>
    Rgds,Rory<br>
    <br>
    <div class="moz-cite-prefix">On 10/06/2015 13:28, Mehmet Dogan
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAE=6bkXMDTMxu4NZFnUqwJUOsjc8Vgyad28hN94=5Wa=vCWyWg@mail.gmail.com"
      type="cite">
      <div dir="ltr"><span
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">Hi
          all,</span>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">While
          we were testing an internal project at Hazelcast using
          1.8.0_60-ea-b18 & 1.9.0-ea-b67, we encountered a
          previously reported sun.misc.Unsafe issue. </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><a
            moz-do-not-send="true"
            href="https://bugs.openjdk.java.net/browse/JDK-8076445"
            target="_blank">https://bugs.openjdk.java.net/browse/JDK-8076445</a><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><a
            moz-do-not-send="true"
href="http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2015-April/017685.html"
            target="_blank">http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2015-April/017685.html</a><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">Issue
          status says it's resolved with resolution "<span
style="color:rgb(0,0,0);font-family:sans-serif;font-size:13px;line-height:17.0000991821289px">Cannot
            Reproduce</span>".  But unfortunately it's still
          reproducible using "1.8.0_60-ea-b18" and "1.9.0-ea-b67". </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">Test
          is very simple:</div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">```</div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">
          <div>public static void main(String[] args) throws Exception {</div>
          <div>        Unsafe unsafe = findUnsafe();</div>
          <div>        // 10000 pass</div>
          <div>        // 100000 jvm crash</div>
          <div>        // 1000000 fail</div>
          <div>        int count = 100000;</div>
          <div>        long size = count * 8L;</div>
          <div>        long baseAddress = unsafe.allocateMemory(size);</div>
          <div><br>
          </div>
          <div>        try {</div>
          <div>            for (int i = 0; i < count; i++) {</div>
          <div>                long address = baseAddress + (i * 8L);</div>
          <div><br>
          </div>
          <div>                long expected = i;</div>
          <div>                unsafe.putLong(address, expected);</div>
          <div><br>
          </div>
          <div>                long actual = unsafe.getLong(address);</div>
          <div><br>
          </div>
          <div>                if (expected != actual) {</div>
          <div>                    throw new AssertionError("Expected: "
            + expected + ", Actual: " + actual);</div>
          <div>                }</div>
          <div>            }</div>
          <div>        } finally {</div>
          <div>            unsafe.freeMemory(baseAddress);</div>
          <div>        }</div>
          <div>    }</div>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">```</div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">It's
          not failing up to version 1.8.0.31, by starting 1.8.0.40 test
          is failing constantly. </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">-
          With iteration count 10000, test is passing. </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">-
          With iteration count 100000, jvm is crashing with SIGSEGV.</div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">-
          With iteration count 1000000, test is failing
          with AssertionError. </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">When
          one of compilation (-Xint) or inlining (-XX:-Inline) or
          on-stack-replacement (-XX:-UseOnStackReplacement) is disabled,
          test is not failing at all. </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
        </div>
        <div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px">Also,
              when address calculation in the loop is converted to </span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
            </span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px">long
              address = baseAddress + (i * 8) </span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
            </span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px">test
              passes. Only difference is, next address is calculated
              using integer 8 instead of long 8. </span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
            </span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px">```</span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px">for
              (int i = 0; i < count; i++) {</span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"> 
                long address = baseAddress + (i * 8); // <--- here,
              integer 8 instead of long 8</span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
            </span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"> 
                long expected = i;</span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"> 
                unsafe.putLong(address, expected);</span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
            </span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"> 
                long actual = unsafe.getLong(address);</span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
            </span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"> 
                if (expected != actual) {</span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"> 
                    throw new AssertionError("Expected: " + expected +
              ", Actual: " + actual);</span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px"> 
                }</span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px">}</span></div>
          <div><span
              style="font-size:13.1999998092651px;line-height:19.7999992370605px">```</span></div>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">I
          tested on versions: </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><span
style="font-size:13.1999998092651px;line-height:19.7999992370605px">-
            1.8.0.40</span><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">-
          1.8.0.45<br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">-
          1.8.0_60-ea-b18<br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">-
          1.9.0-ea-b67<br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">Previous
          issue comment (<a moz-do-not-send="true"
href="https://bugs.openjdk.java.net/browse/JDK-8076445?focusedCommentId=13633043#comment-13633043"
            target="_blank">https://bugs.openjdk.java.net/browse/JDK-8076445?focusedCommentId=13633043#comment-13633043</a>)
          says "<span
style="color:rgb(0,0,0);font-family:sans-serif;font-size:13px;line-height:17.0000991821289px;background-color:rgb(224,240,255)">Cannot
            reproduce based on the latest version".</span> I hope that
          latest version is not mentioning to '1.8.0_60-ea-b18' or
          '1.9.0-ea-b67'. Because both are failing.</div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"> </div>
        <div><span
            style="font-size:13.1999998092651px;line-height:19.7999992370605px">PS:
            Cross posted this on '</span><span
style="font-size:13.1999998092651px;line-height:19.7999992370605px;color:rgb(153,153,153);white-space:nowrap">hotspot-compiler-dev</span><span
style="font-size:13.1999998092651px;line-height:19.7999992370605px">'
            group but still haven't got a response yet. <a
              moz-do-not-send="true"
href="http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2015-June/018191.html">http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2015-June/018191.html</a></span></div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
        </div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">Thanks,</div>
        <div
          style="font-size:13.1999998092651px;line-height:19.7999992370605px">Mehmet
          Dogan</div>
      </div>
      <div dir="ltr">-- <br>
      </div>
      <div dir="ltr">
        <p dir="ltr">@mmdogan</p>
      </div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA, Dublin,Ireland</pre>
  </body>
</html>