RFR (XS): 8015635: Crash when specifying very large code cache size

Christian Thalinger christian.thalinger at oracle.com
Tue Jul 2 15:26:29 PDT 2013


On Jul 2, 2013, at 2:13 PM, Christian Tornqvist <christian.tornqvist at oracle.com> wrote:

>  
>   44     out.shouldHaveExitValue(1);
>  
> Will throw an exception if the exit value is not 1, this will detect a VM crash (or other abnormal exit).

What if a VM crash would return 1 (for whatever reason)?

-- Chris

> Adding the check for the error message is a good change too though J
>  
> Thanks,
> Christian
>  
> From: Albert Noll [mailto:albert.noll at oracle.com] 
> Sent: den 2 juli 2013 03:04
> To: Christian Thalinger
> Cc: Christian Tornqvist; 'Vladimir Kozlov'; 'hotspot compiler'
> Subject: Re: RFR (XS): 8015635: Crash when specifying very large code cache size
>  
> Hi Christian,
> 
> I am not sure either. Does anyone know if there exists a documentation of the testlibrary?
> I modified the test such that it checks for (parts of) the error message that is reported if the
> ReservedCodeCacheSize is too large. This makes the test more robust.
> 
> Here is the new webrev:
> http://cr.openjdk.java.net/~anoll/8015635/webrev.05/
> 
> Best,
> Albert
> 
> 
> On 02.07.2013 02:51, Christian Thalinger wrote:
> I have no idea how this testlibrary works but does the following take care of crashes or does it only check the exit value?
>   42     pb = ProcessTools.createJavaProcessBuilder("-XX:ReservedCodeCacheSize=2049m", "-version");
>   43     out = new OutputAnalyzer(pb.start());
>   44     out.shouldHaveExitValue(1);
> -- Chris
>  
> On Jun 30, 2013, at 9:44 PM, Albert Noll <albert.noll at oracle.com> wrote:
> 
> 
> Hi,
> 
> thanks for looking at the patch. I updated the patch.
> http://cr.openjdk.java.net/~anoll/8015635/webrev.04/
> 
> Could I have a second review for this?
> 
> Best,
> Albert
> 
> On 28.06.2013 18:58, Christian Tornqvist wrote:
> Hi Vladimir,
>  
> It's not needed if you simply want jtreg to run your test normally, from the
> jtreg tag spec:
>  
> "DEFAULTS
>  
> If no @run tags are present in a defining file, a default is assumed
> depending
> upon the file's filename extension.  For a ".java" file, "@run main <name>"
> is
> assumed, where <name> is the name of the file without the ".java" suffix."
>  
> So using '@run main Test' is redundant.
>  
> Thanks,
> Christian
>  
> -----Original Message-----
> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] 
> Sent: den 28 juni 2013 12:48
> To: Christian Tornqvist
> Cc: 'Albert Noll'; 'hotspot compiler'
> Subject: Re: RFR (XS): 8015635: Crash when specifying very large code cache
> size
>  
> Christian,
>  
> Why '@run main Test' is not used in these tests?
>  
> Thanks,
> Vladimir
>  
> On 6/28/13 9:08 AM, Christian Tornqvist wrote:
> Hi Albert,
>  
> You should use '@library /testlibrary' instead of a relative path, 
> otherwise the test looks fine. Thanks for rewriting this in java and 
> fixing the name of the test J
>  
> Thanks,
>  
> Christian
>  
> *From:*hotspot-compiler-dev-bounces at openjdk.java.net
> [mailto:hotspot-compiler-dev-bounces at openjdk.java.net] *On Behalf Of 
> *Albert Noll
> *Sent:* den 28 juni 2013 11:19
> *To:* hotspot compiler
> *Subject:* Re: RFR (XS): 8015635: Crash when specifying very large 
> code cache size
>  
> Hi,
>  
> Christian, thanks for the comment. I implemented the test in Java.
> I was not entirely sure how to use @library. The current version works 
> on my system.
>  
>  
> Here is the new webrev:
> http://cr.openjdk.java.net/~anoll/8015635/webrev.03/<http://cr.openjdk
> .java.net/%7Eanoll/8015635/webrev.03/>
>  
> Best,
> Albert
>  
> On 28.06.2013 10:19, Christian Tornqvist wrote:
>  
>     Hi Albert,
>  
>  
>  
>  
>  
>  
>  
>     Please don't use shell scripts, this can be expressed in java 
> which will
>  
>     work on all platforms. See
>  
>     
> http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/file/221df7e37535/te
> st/run
>  
>     time/CommandLine/UnrecognizedVMOption.java for example on how to 
> do this in
>  
>     java.
>  
>  
>  
>  
>  
>  
>  
>     Also, please follow the test naming convention described at:
>  
>  
>  
>  
>  
>  
>  
>     
> https://wikis.oracle.com/display/HotSpotInternals/Naming+HotSpot+JTReg
> +Tests
>  
>  
>  
>  
>  
>  
>  
>     Thanks,
>  
>  
>  
>     Christian
>  
>  
>  
>  
>  
>  
>  
>     From:hotspot-compiler-dev-bounces at openjdk.java.net  
> <mailto:hotspot-compiler-dev-bounces at openjdk.java.net>
>  
>     [mailto:hotspot-compiler-dev-bounces at openjdk.java.net] On Behalf 
> Of Albert
>  
>     Noll
>  
>     Sent: den 28 juni 2013 03:39
>  
>     To:hotspot-compiler-dev at openjdk.java.net  
> <mailto:hotspot-compiler-dev at openjdk.java.net>
>  
>     Subject: Re: RFR (XS): 8015635: Crash when specifying very large 
> code cache
>  
>     size
>  
>  
>  
>  
>  
>  
>  
>     Hi Valdimir,
>  
>  
>  
>     thanks again for looking at the code.
>  
>     I implemented your proposed changes.
>  
>  
>  
>     http://cr.openjdk.java.net/~anoll/8015635/webrev.02/
>  
>     <http://cr.openjdk.java.net/%7Eanoll/8015635/webrev.02/>  
> <http://cr.openjdk.java.net/%7Eanoll/8015635/webrev.02/>
>  
>  
>  
>     Best,
>  
>     Albert
>  
>  
>  
>     On 28.06.2013 08:29, Vladimir Kozlov wrote:
>  
>  
>  
>     Albert,
>  
>  
>  
>     In the test could check the code after each java run? Example 
> shows only
>  
>     logic, not script instructions:
>  
>  
>  
>     java 2048m
>  
>     if $? -ne 0
>  
>       failed
>  
>       exit
>  
>     fi
>  
>  
>  
>     java 2049m
>  
>     if $? -eq 0
>  
>       failed
>  
>       exit
>  
>     fi
>  
>  
>  
>     passed
>  
>  
>  
>  
>  
>     Thanks,
>  
>     Vladimir
>  
>  
>  
>     On 6/27/13 10:14 PM, Albert Noll wrote:
>  
>  
>  
>  
>  
>  
>  
>     Hi,
>  
>  
>  
>     Pavel, Vladimir, thanks for looking at the patch. I added a 
> regression test
>  
>     and made the proposed changes in arguments.cpp.
>  
>  
>  
>     Here is the new webrev.
>  
>     http://cr.openjdk.java.net/~anoll/8015635/webrev.01/
>  
>     <http://cr.openjdk.java.net/%7Eanoll/8015635/webrev.01/>  
> <http://cr.openjdk.java.net/%7Eanoll/8015635/webrev.01/>
>  
>     <http://cr.openjdk.java.net/%7Eanoll/8015635/webrev.01/>  
> <http://cr.openjdk.java.net/%7Eanoll/8015635/webrev.01/>
>  
>  
>  
>     Thanks,
>  
>     Albert
>  
>  
>  
>     On 27.06.2013 18:36, Vladimir Kozlov wrote:
>  
>  
>  
>  
>  
>  
>  
>     We don't place 'else' on separate line and remove comment inside 
> 'if' body
>  
>     and change it to:
>  
>  
>  
>     } else if (ReservedCodeCacheSize > 2*G) { {
>  
>        // Code cache size larger than MAXINT is not supported.
>  
>  
>  
>     Thanks,
>  
>     Vladimir
>  
>  
>  
>     On 6/27/13 5:01 AM, Albert Noll wrote:
>  
>  
>  
>  
>  
>  
>  
>     Hi,
>  
>  
>  
>     thanks for reviewing this small patch.
>  
>  
>  
>     Best,
>  
>     Albert
>  
>  
>  
>     jbs:https://jbs.oracle.com/bugs/browse/JDK-8015635
>  
>     webrev:http://cr.openjdk.java.net/~anoll/8015635/webrev/
>  
>     <http://cr.openjdk.java.net/%7Eanoll/8015635/webrev/>  
> <http://cr.openjdk.java.net/%7Eanoll/8015635/webrev/>
>  
>     <http://cr.openjdk.java.net/%7Eanoll/8015635/webrev/>  
> <http://cr.openjdk.java.net/%7Eanoll/8015635/webrev/>
>  
>  
>  
>     Problem: A code cache size larger than 2G is not supported and 
> therefore
>  
>     results in VM crashes.
>  
>     Solution: Limit the size of the code cache to at most 2G when 
> arguments are
>  
>     checked. If a larger code cache size is
>  
>     specified with -XX:ReservedCodeCacheSize=..., the JVM does not 
> start and
>  
>     reports an error.
>  
>  
>  
>  
>  
>     Best,
>  
>     Albert
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130702/fdb45de1/attachment-0001.html 


More information about the hotspot-compiler-dev mailing list