RFR(S): 8026949: -Xint flag prints wrong warning: Initialization of C1 thread failed (no space to run compilers)

Igor Veresov igor.veresov at oracle.com
Wed Oct 23 02:25:46 PDT 2013


I think the latest version is fine.

igor

On Oct 23, 2013, at 1:15 AM, Albert Noll <albert.noll at oracle.com> wrote:

> Hi Igor,
> 
> are you fine with the lastest version, or should I add the -XX:+DisplayVMOutputToStdout to the test?
> 
> Best,
> Albert
> 
> On 23.10.2013 09:48, Igor Ignatyev wrote:
>> > Is this testing the full output or only the first line?
>> full output, but '-version' by default uses stderr, so stdouts should be empty and equal.
>> I think it would be better to add vm flags to explicitly use of stdout for warnings -- -XX:+DisplayVMOutputToStdout.
>> 
>> Best regards,
>> Igor Ignatyev
>> 
>> On 10/23/2013 04:45 AM, Christian Thalinger wrote:
>>>   44     // Check that the outputs are equal
>>>   45     if (out1.getStdout().compareTo(out2.getStdout()) != 0) {
>>> 
>>> Is this testing the full output or only the first line?  Because the
>>> outputs are not equal:
>>> 
>>> $ java -Xint -version
>>> java version "1.8.0-ea"
>>> Java(TM) SE Runtime Environment (build 1.8.0-ea-b109)
>>> Java HotSpot(TM) 64-Bit Server VM (build 25.0-b56-internal-fastdebug,
>>> interpreted mode)
>>> 
>>> $ java -Xcomp -version
>>> java version "1.8.0-ea"
>>> Java(TM) SE Runtime Environment (build 1.8.0-ea-b109)
>>> Java HotSpot(TM) 64-Bit Server VM (build 25.0-b56-internal-fastdebug,
>>> compiled mode)
>>> 
>>> 
>>> On Oct 22, 2013, at 12:18 PM, Albert Noll <albert.noll at oracle.com
>>> <mailto:albert.noll at oracle.com>> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> sure, here is the patch including the test:
>>>> 
>>>> http://cr.openjdk.java.net/~anoll/8026949/webrev.02/
>>>> <http://cr.openjdk.java.net/%7Eanoll/8026949/webrev.02/>
>>>> 
>>>> Best,
>>>> Albert
>>>> 
>>>> On 22.10.2013 20:34, igor.ignatyev at oracle.com wrote:
>>>>> Albert, please add a jtreg test for this change. I think it is very
>>>>> easy: just start 'java -version' as a external process and check its
>>>>> output in 'Xint' and '-Xcomp' cases. If you don't think so, please
>>>>> file a RFE to add regression test and assign it to me.
>>>>> 
>>>>> Thanks.
>>>>> - Igor
>>>>> 
>>>>> ----- Reply message -----
>>>>> From: "Albert Noll" <albert.noll at oracle.com>
>>>>> To: "Igor Veresov" <igor.veresov at oracle.com>
>>>>> Cc: "hotspot-compiler-dev at openjdk.java.net"
>>>>> <hotspot-compiler-dev at openjdk.java.net>
>>>>> Subject: RFR(S): 8026949: -Xint flag prints wrong warning:
>>>>> Initialization of C1 thread failed (no space to run compilers)
>>>>> Date: Tue, Oct 22, 2013 22:03
>>>>> 
>>>>> Roland, Igor, thanks for looking at this.
>>>>> 
>>>>> I tested the patch as follows:
>>>>> 
>>>>> java -Xint -version .. make sure that output does not appear
>>>>> java -Xcomp -version make sure that compiler(s) are working
>>>>> 
>>>>> Execution of nashorn octane + some DaCapo benchmarks. (with -Xint and
>>>>> -Xcomp and -Xmixed)
>>>>> 
>>>>> Seems to work fine.
>>>>> 
>>>>> Best,
>>>>> Albert
>>>>> 
>>>>> On 22.10.2013 19:12, Igor Veresov wrote:
>>>>>> Looks good.
>>>>>> 
>>>>>> igor
>>>>>> 
>>>>>> On Oct 22, 2013, at 6:15 AM, Albert Noll <albert.noll at oracle.com
>>>>>> <mailto:albert.noll at oracle.com>> wrote:
>>>>>> 
>>>>>>> Thanks Igor. This is a good solution.
>>>>>>> 
>>>>>>> Here is the webrev:
>>>>>>> http://cr.openjdk.java.net/~anoll/8026949/webrev.01/
>>>>>>> <http://cr.openjdk.java.net/%7Eanoll/8026949/webrev.01/>
>>>>>>> 
>>>>>>> Best,
>>>>>>> Albert
>>>>>>> 
>>>>>>> On 22.10.2013 08:41, Igor Veresov wrote:
>>>>>>>> Another trivial fix option is to just bail out
>>>>>>>> of CompileBroker::compilation_init() is UseCompiler is false. To
>>>>>>>> avoid initializing the compiler objects and all..
>>>>>>>> 
>>>>>>>> igor
>>>>>>>> 
>>>>>>>> On Oct 21, 2013, at 11:15 PM, Albert Noll <albert.noll at oracle.com
>>>>>>>> <mailto:albert.noll at oracle.com>> wrote:
>>>>>>>> 
>>>>>>>>> Christian, Igor, thanks for the reviews.
>>>>>>>>> 
>>>>>>>>> There seems to be an ambiguity between -Xint and
>>>>>>>>> -XX:+UseCompiler. Whether we use a compiler or
>>>>>>>>> not, depends on the order in which the arguments are given. I am
>>>>>>>>> not exactly sure why we have
>>>>>>>>> the -XX:(+/-)UseCompiler flag at all, also as a product flag.
>>>>>>>>> 
>>>>>>>>> The reason why I added the checks when we determine the number of
>>>>>>>>> compiler threads is that we
>>>>>>>>> do not generate the compiler objects (they are not needed). Also,
>>>>>>>>> the number of compiler threads
>>>>>>>>> is set correctly.
>>>>>>>>> 
>>>>>>>>> The solution proposed by Igor is simpler. If the above issues do
>>>>>>>>> not matter, I would also opt for the
>>>>>>>>> simple solution.
>>>>>>>>> 
>>>>>>>>> Best,
>>>>>>>>> Albert
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On 22.10.2013 06:17, Igor Veresov wrote:
>>>>>>>>>> If think you can just use the existing "UseCompiler" flag, that
>>>>>>>>>> we set to false when -Xint is specified and just not call
>>>>>>>>>> init_compiler_threads() if UseCompiler == false.
>>>>>>>>>> 
>>>>>>>>>> igor
>>>>>>>>>> 
>>>>>>>>>> On Oct 21, 2013, at 2:54 AM, Albert Noll <albert.noll at oracle.com
>>>>>>>>>> <mailto:albert.noll at oracle.com>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> Hi,
>>>>>>>>>>> 
>>>>>>>>>>> could I have reviews for this small patch?
>>>>>>>>>>> 
>>>>>>>>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8026949
>>>>>>>>>>> webrev: http://cr.openjdk.java.net/~anoll/8026949/webrev.00/
>>>>>>>>>>> <http://cr.openjdk.java.net/%7Eanoll/8026949/webrev.00/>
>>>>>>>>>>> 
>>>>>>>>>>> Problem: 8023014 introduced a wrong warning: Initialization of
>>>>>>>>>>> C1 thread failed (no space to run compilers) when the VM is started
>>>>>>>>>>>               with -Xint
>>>>>>>>>>> 
>>>>>>>>>>> Solution: Do not start compiler threads if VM is started with -Xint
>>>>>>>>>>> 
>>>>>>>>>>> Testing: -Xint flag does not print out the false warning.
>>>>>>>>>>> Tested flag combinations:
>>>>>>>>>>> -XX:+TieredCompilation -Xint (-server / -client)
>>>>>>>>>>> -XX:-TieredCompilation -Xint   (-server / -client)
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> Many thanks in advance,
>>>>>>>>>>> Albert
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
> 



More information about the hotspot-compiler-dev mailing list