<div dir="ltr">We're nearing it down... disabling OSR compilation or tiered compilation makes the test run correctly. <div>So if the options work as I understood, this means the problem is in C1, only when doing OSR.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 18, 2014 at 4:17 PM, Vitaly Davidovich <span dir="ltr"><<a href="mailto:vitalyd@gmail.com" target="_blank">vitalyd@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Try turning off tiered compilation (-XX:-TieredCompilation) and pass -server to the launcher.  I *think* that should do it.<div><br></div><div>However, I think you ran this with C1 just without OSR compilation (I believe -Xcomp would do that), so this seems to point at an OSR compile.  You can try disabling OSR compilation (irrespective of C1 or C2): -XX:-UseOnStackReplacement</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 18, 2014 at 9:54 AM, Gaëlle Guimezanes <span dir="ltr"><<a href="mailto:ggu@quartetfs.com" target="_blank">ggu@quartetfs.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Running the test class with -Xint or -Xcomp makes the test work with no crash, so the problem apparently is with OSR compiles...<div><br><div>However I don't know how to use only the C2 compiler, can you explain how to do it?</div><div><br></div><div>Thanks </div><div>Gaelle<br><div><br><div><br></div></div></div></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 18, 2014 at 2:53 PM, Vitaly Davidovich <span dir="ltr"><<a href="mailto:vitalyd@gmail.com" target="_blank">vitalyd@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Looks like it's C1 OSR compiled code when it crashes.  Have you tried running this only in interpreter and only using C2 compiler? Can also try disabling OSR compiles.  Just to rule out any miscompilation ...</p>
<p dir="ltr">Sent from my phone</p><div><div>
<div class="gmail_quote">On Sep 18, 2014 8:09 AM, "Gaëlle Guimezanes" <<a href="mailto:ggu@quartetfs.com" target="_blank">ggu@quartetfs.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi Stanimir,</div><div><br></div>Thanks for the suggestion, but I've tried allocating extra 16 bytes and even extra 1024 bytes, and it still fails. <div><br><div>Gaelle</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 18, 2014 at 1:34 PM, Stanimir Simeonoff <span dir="ltr"><<a href="mailto:stanimir@riflexo.com" target="_blank">stanimir@riflexo.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi,<br><br>I suppose the problem occurs due to the last few (less than 8) bytes are addressed. Probably getByte(address) won't read just a byte but a 32/64 word and mask+shift it.<br></div>Try to allocate extra 16 bytes instead of 8.<br><br>Stanimir<br></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Thu, Sep 18, 2014 at 1:38 PM, Gaëlle Guimezanes <span dir="ltr"><<a href="mailto:ggu@quartetfs.com" target="_blank">ggu@quartetfs.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">Hello,<div><br></div><div>I am sorry this is not really a concurrency problem since it can be reproduced using only one thread, but I didn't really know where to discuss this. Since many of you use Unsafe I thought you might be able to help me understand what's happening or direct me to the correct mailing list.</div><div><br><div>I have a strange behaviour using Unsafe in Java 1.8.0_20.</div><div>When I use getByte/putByte to manipulate bits, my JVM crashes (access violation). </div><div>But when I use getLong/putLong for the same purpose it works correctly (even though I have allocated exactly the same amount of memory). </div><div>Also, when using Java 1.7.0_67 to compile and run the same source code, both the getByte/putByte and the getLong/putLong approaches work correctly.</div><div><br></div><div>I have attached a simple test class (DirectMemoryCrash.java) for reproducing the problem: you can run it with no argument for the getByte/putByte version, or with "useLongs" arguments for the getLong/putLong version.</div><div><br></div><div>I also have attached crash reports : </div><div>hs_err_pid5480.log for the crash on windows</div><div>hs_err_pid7210.log for the crash on linux</div><div><br></div><div>Thank you for your attention,</div><div>Best regards,</div><div>Gaëlle Guimezanes.</div><div><br></div></div></div>
<br></div></div>_______________________________________________<br>
Concurrency-interest mailing list<br>
<a href="mailto:Concurrency-interest@cs.oswego.edu" target="_blank">Concurrency-interest@cs.oswego.edu</a><br>
<a href="http://cs.oswego.edu/mailman/listinfo/concurrency-interest" target="_blank">http://cs.oswego.edu/mailman/listinfo/concurrency-interest</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
<br>_______________________________________________<br>
Concurrency-interest mailing list<br>
<a href="mailto:Concurrency-interest@cs.oswego.edu" target="_blank">Concurrency-interest@cs.oswego.edu</a><br>
<a href="http://cs.oswego.edu/mailman/listinfo/concurrency-interest" target="_blank">http://cs.oswego.edu/mailman/listinfo/concurrency-interest</a><br>
<br></blockquote></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>