RFR(S): 8026949: -Xint flag prints wrong warning: Initialization of C1 thread failed (no space to run compilers)
Albert Noll
albert.noll at oracle.com
Wed Oct 23 21:54:13 PDT 2013
Hi,
I guess this bug can be considered as reviewed.
Since it is only a minor issue, I guess it is fine if
we push it after ZBB.
Best,
Albert
On 23.10.2013 12:01, Igor Ignatyev wrote:
> Yes, I'm fine w/ the latest version.
>
> Best regards,
> Igor Ignatyev
>
> On 10/23/2013 01:46 PM, Albert Noll wrote:
>> Thank you, Igor!
>>
>> Best,
>> Albert
>>
>> On 23.10.2013 11:25, Igor Veresov wrote:
>>> 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