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

Christian Tornqvist christian.tornqvist at oracle.com
Tue Jul 2 14:13:39 PDT 2013


 

  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).

Adding the check for the error message is a good change too though :)

 

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/
<http://cr.openjdk.java.net/%7Eanoll/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
<mailto: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/
<http://cr.openjdk.java.net/%7Eanoll/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> 
[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/>
<http://cr.openjdk.java.net/%7Eanoll/8015635/webrev.03/> <http://cr.openjdk
.java.net/%7Eanoll/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: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>
 
    [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:To:hotspot-compiler-dev at openjdk.java.net>   
 <mailto: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/>
<http://cr.openjdk.java.net/%7Eanoll/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/>
<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/>
<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/>
<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/>
<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/7566e971/attachment-0001.html 


More information about the hotspot-compiler-dev mailing list