JVM hanging when using G1GC on JDK8 b78 or b79 (Linux 32 bit) (original) (raw)
John Cuthbertson john.cuthbertson at oracle.com
Wed Mar 6 12:02:36 PST 2013
- Previous message: JVM hanging when using G1GC on JDK8 b78 or b79 (Linux 32 bit)
- Next message: CFV: New HSX Committer: Markus Grönlund
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Uwe,
The default mark stack size for 32 bit is 32K entries. So try -XX:MarkStackSize=32K. This might not overflow because the local marking task queues are larger in the 64 bit JVM so there will be less pressure on the global mark stack. Unfortunately the task queue size is a constant (actually a template constant either 16K for 32 bit and 128K for 64 bit). You might have to go lower.
JohnC
On 03/06/13 11:31, Uwe Schindler wrote:
Hi,
Uwe: Thanks for bringing this up and my apologies for not replying sooner. I will have a fix fairly soon. If I'm correct about it being caused by overflowing the marking stack you can work around the issue by increasing the MarkStackSize.you could try increasing it to 2M or 4M entries (which is the current max size).
Is there a setting on the command line to raise this size? This would be great to check out if one can also do the opposite (lower the size on 64 bit JVM to make the 64 bit one also hang). Unfortunately as a Java programmer I am not so familiar with building the JVM on Ubuntu machines (including the needed IcedTea), so it's hard to me to try this out - I would not even know how to start doing this or finally how to get something like a standard JDK directory so you could use it as JAVAHOME. Use: -XX:MarkStackSize=4M to increase the marking stack size in a 32 bit run. I will give it a quick try! 4M was too much for a 32bit JVM (it complained about it), but 2M was fine. With that setting the tests went through as they should (in 22 secs on this server). With the default setting it stalled endless. To test the inverse (make 64 bit hang): What's the default stack size of 32 bit JVMs, so I can set it on 64 bit to make it hang? Uwe ----- Uwe Schindler uschindler at apache.org Apache Lucene PMC Member / Committer Bremen, Germany http://lucene.apache.org/ -----Original Message----- From: John Cuthbertson [mailto:john.cuthbertson at oracle.com] Sent: Wednesday, March 06, 2013 7:56 PM To: Uwe Schindler Cc: 'Thomas Schatzl'; hotspot-gc-dev at openjdk.java.net; 'David Holmes'; 'Dawid Weiss'; hotspot-dev at openjdk.java.net Subject: Re: JVM hanging when using G1GC on JDK8 b78 or b79 (Linux 32 bit) Hi Uwe, You must have been reading my mind. See inline.... On 3/6/2013 10:50 AM, Uwe Schindler wrote: Hi John, Thanks for the response and the analysis, very informative!
Uwe: Thanks for bringing this up and my apologies for not replying sooner. I will have a fix fairly soon. If I'm correct about it being caused by overflowing the marking stack you can work around the issue by increasing the MarkStackSize.you could try increasing it to 2M or 4M entries (which is the current max size). Is there a setting on the command line to raise this size? This would be great to check out if one can also do the opposite (lower the size on 64 bit JVM to make the 64 bit one also hang). Unfortunately as a Java programmer I am not so familiar with building the JVM on Ubuntu machines (including the needed IcedTea), so it's hard to me to try this out - I would not even know how to start doing this or finally how to get something like a standard JDK directory so you could use it as JAVAHOME. Use: -XX:MarkStackSize=4M to increase the marking stack size in a 32 bit run. If you need a verification that your patch is working, it would be good to get a i586 Linux tgz file with a binary, so I can do a quick check on the Jenkins server that found the bug. Otherwise we would need to wait until a new build appears on jdk8.java.net (including the fix + other fixes in javadoc/javac tool and the class library that we reported earlier). I could also assist in setting up a Lucene build directory (as reported on the first email), to reproduce the problem with the Lucene source code (which is very easy). As said before, I have no isolated test case :( I just sent you email. I downloaded a zip file that contains all the jar files. I don't have ant on my system so ideally I'm looking for a java command line to tickle the crash. Can you help? Thanks, JohnC
- Previous message: JVM hanging when using G1GC on JDK8 b78 or b79 (Linux 32 bit)
- Next message: CFV: New HSX Committer: Markus Grönlund
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]