RFR (XS): 8015635: Crash when specifying very large code cache size
Albert Noll
albert.noll at oracle.com
Thu Jul 4 05:13:24 PDT 2013
Hi,
do you think the test is fine, or does it need to be reworked?
Best,
Albert
On 03.07.2013 00:26, Christian Thalinger wrote:
>
> On Jul 2, 2013, at 2:13 PM, Christian Tornqvist
> <christian.tornqvist at oracle.com
> <mailto: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 thoughJ
>> Thanks,
>> Christian
>> *From:*Albert Noll [mailto:albert.noll at oracle.com <http://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 <http://cr.openjdk.java.net/%7Eanoll/8015635/webrev.03/>
>>
>> .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/20130704/e53e518a/attachment-0001.html
More information about the hotspot-compiler-dev
mailing list