From david.holmes at oracle.com Sun Jun 24 23:32:07 2018 From: david.holmes at oracle.com (David Holmes) Date: Mon, 25 Jun 2018 09:32:07 +1000 Subject: Problem with vmoptions versus javaoptions Message-ID: If I pass: -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -Xcomp" the tests run fine but take excruciatingly long as the compilations are also running in Xcomp mode. So I tried changing to -javaoptions and got: Error: VM option 'UseJVMCICompiler' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions. Error: The unlock option must precede 'UseJVMCICompiler'. Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. It's like the options were not being parsed and passed correctly. Any ideas? Thanks, David From martinrb at google.com Mon Jun 25 16:55:47 2018 From: martinrb at google.com (Martin Buchholz) Date: Mon, 25 Jun 2018 09:55:47 -0700 Subject: Problem with vmoptions versus javaoptions In-Reply-To: References: Message-ID: Hi David, I tried adding '-javaoptions:-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -Xcomp' to my jtreg invocation, and it worked! I can tell something changed because my test (FJExceptionTableLeak!) ran much more slowly! I suspect shell quoting misstep. On Sun, Jun 24, 2018 at 4:32 PM, David Holmes wrote: > If I pass: > > -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -Xcomp" > > the tests run fine but take excruciatingly long as the compilations are > also running in Xcomp mode. So I tried changing to -javaoptions and got: > > Error: VM option 'UseJVMCICompiler' is experimental and must be enabled > via -XX:+UnlockExperimentalVMOptions. > Error: The unlock option must precede 'UseJVMCICompiler'. > Error: Could not create the Java Virtual Machine. > Error: A fatal exception has occurred. Program will exit. > > It's like the options were not being parsed and passed correctly. > > Any ideas? > > Thanks, > David > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonathan.gibbons at oracle.com Mon Jun 25 16:58:11 2018 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 25 Jun 2018 09:58:11 -0700 Subject: Problem with vmoptions versus javaoptions In-Reply-To: References: Message-ID: David, What info is available in the .jtr file regarding the command lines that were constructed? -- Jon On 6/24/18 4:32 PM, David Holmes wrote: > If I pass: > > -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler > -Xcomp" > > the tests run fine but take excruciatingly long as the compilations > are also running in Xcomp mode. So I tried changing to -javaoptions > and got: > > Error: VM option 'UseJVMCICompiler' is experimental and must be > enabled via -XX:+UnlockExperimentalVMOptions. > Error: The unlock option must precede 'UseJVMCICompiler'. > Error: Could not create the Java Virtual Machine. > Error: A fatal exception has occurred. Program will exit. > > It's like the options were not being parsed and passed correctly. > > Any ideas? > > Thanks, > David From david.holmes at oracle.com Mon Jun 25 23:28:06 2018 From: david.holmes at oracle.com (David Holmes) Date: Tue, 26 Jun 2018 09:28:06 +1000 Subject: Problem with vmoptions versus javaoptions In-Reply-To: References: Message-ID: <8eeebda0-e901-350a-8262-82616ab5c66b@oracle.com> Hi Jon, On 26/06/2018 2:58 AM, Jonathan Gibbons wrote: > David, > > What info is available in the .jtr file regarding the command lines that > were constructed? Ah! We don't get that far: Error: VM option 'UseJVMCICompiler' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions. Error: The unlock option must precede 'UseJVMCICompiler'. Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. Error: failed to get JDK properties for /export/users/dh198349/jdk-dev/open/test/hotspot/jtreg/../../../../build/linux-x64-debug/images/jdk/bin/java -XX:+UseJVMCICompiler -Xcomp -XX:+UnlockExperimentalVMOptions; exit code 1 Sorry that last line was important. David > -- Jon > > > On 6/24/18 4:32 PM, David Holmes wrote: >> If I pass: >> >> -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler >> -Xcomp" >> >> the tests run fine but take excruciatingly long as the compilations >> are also running in Xcomp mode. So I tried changing to -javaoptions >> and got: >> >> Error: VM option 'UseJVMCICompiler' is experimental and must be >> enabled via -XX:+UnlockExperimentalVMOptions. >> Error: The unlock option must precede 'UseJVMCICompiler'. >> Error: Could not create the Java Virtual Machine. >> Error: A fatal exception has occurred. Program will exit. >> >> It's like the options were not being parsed and passed correctly. >> >> Any ideas? >> >> Thanks, >> David > From jonathan.gibbons at oracle.com Mon Jun 25 23:50:32 2018 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 25 Jun 2018 16:50:32 -0700 Subject: Problem with vmoptions versus javaoptions In-Reply-To: <8eeebda0-e901-350a-8262-82616ab5c66b@oracle.com> References: <8eeebda0-e901-350a-8262-82616ab5c66b@oracle.com> Message-ID: <5B317FC8.40503@oracle.com> Thanks for adding the last line; it was important. Yes, jtreg was trying to set up the command to get the custom property definitions from the JVM under tests. This happens once, at the beginning of the run. I've not seen this "order of options" show up as a problem before. In this case, the command line contains the following, in order, 1. the options specified by `-vmoptions` 2. by the options specified by `-javaoptions` 3. any additional options needed for the module system 4. any options specified in the "extraPropDefns" entries in TEST.ROOT Can you use that information to ensure that the command line gets set up correctly? At this point, I'm not sure if there is really a bug or not, given Martin B's comment that this seemed to work for him. I would strongly expect that if you put -XX:+UnlockExperimentalVMOptions early in your -vmoptions you should be OK. -- Jon On 06/25/2018 04:28 PM, David Holmes wrote: > Hi Jon, > > On 26/06/2018 2:58 AM, Jonathan Gibbons wrote: >> David, >> >> What info is available in the .jtr file regarding the command lines >> that were constructed? > > Ah! We don't get that far: > > Error: VM option 'UseJVMCICompiler' is experimental and must be > enabled via -XX:+UnlockExperimentalVMOptions. > Error: The unlock option must precede 'UseJVMCICompiler'. > Error: Could not create the Java Virtual Machine. > Error: A fatal exception has occurred. Program will exit. > Error: failed to get JDK properties for > /export/users/dh198349/jdk-dev/open/test/hotspot/jtreg/../../../../build/linux-x64-debug/images/jdk/bin/java > -XX:+UseJVMCICompiler -Xcomp -XX:+UnlockExperimentalVMOptions; exit > code 1 > > Sorry that last line was important. > > David > >> -- Jon >> >> >> On 6/24/18 4:32 PM, David Holmes wrote: >>> If I pass: >>> >>> -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler >>> -Xcomp" >>> >>> the tests run fine but take excruciatingly long as the compilations >>> are also running in Xcomp mode. So I tried changing to -javaoptions >>> and got: >>> >>> Error: VM option 'UseJVMCICompiler' is experimental and must be >>> enabled via -XX:+UnlockExperimentalVMOptions. >>> Error: The unlock option must precede 'UseJVMCICompiler'. >>> Error: Could not create the Java Virtual Machine. >>> Error: A fatal exception has occurred. Program will exit. >>> >>> It's like the options were not being parsed and passed correctly. >>> >>> Any ideas? >>> >>> Thanks, >>> David >> From david.holmes at oracle.com Tue Jun 26 01:01:50 2018 From: david.holmes at oracle.com (David Holmes) Date: Tue, 26 Jun 2018 11:01:50 +1000 Subject: Problem with vmoptions versus javaoptions In-Reply-To: <5B317FC8.40503@oracle.com> References: <8eeebda0-e901-350a-8262-82616ab5c66b@oracle.com> <5B317FC8.40503@oracle.com> Message-ID: <6ca35fa3-0475-fdb7-fddd-ae34ae9264df@oracle.com> On 26/06/2018 9:50 AM, Jonathan Gibbons wrote: > Thanks for adding the last line; it was important. > > Yes, jtreg was trying to set up the command to get the custom property > definitions from the JVM under tests. This happens once, at the > beginning of the run. > > I've not seen this "order of options" show up as a problem before. > > In this case, the command line contains the following, in order, > > 1. the options specified by `-vmoptions` > 2. by the options specified by `-javaoptions` > 3. any additional options needed for the module system > 4. any options specified in the "extraPropDefns" entries in TEST.ROOT > > Can you use that information to ensure that the command line gets set up > correctly?? At this point, I'm not sure if there is really a bug or not, > given Martin B's comment that this seemed to work for him. I would > strongly expect that if you put -XX:+UnlockExperimentalVMOptions early > in your -vmoptions you should be OK. But I have it first: -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -Xcomp" It's when I change -vmoptions to -javaoptions that it breaks. Seems to me, based on the error message: >> -XX:+UseJVMCICompiler -Xcomp -XX:+UnlockExperimentalVMOptions; that jtreg has reordered things somehow ?? Thanks, David > -- Jon > > > > > > > On 06/25/2018 04:28 PM, David Holmes wrote: >> Hi Jon, >> >> On 26/06/2018 2:58 AM, Jonathan Gibbons wrote: >>> David, >>> >>> What info is available in the .jtr file regarding the command lines >>> that were constructed? >> >> Ah! We don't get that far: >> >> Error: VM option 'UseJVMCICompiler' is experimental and must be >> enabled via -XX:+UnlockExperimentalVMOptions. >> Error: The unlock option must precede 'UseJVMCICompiler'. >> Error: Could not create the Java Virtual Machine. >> Error: A fatal exception has occurred. Program will exit. >> Error: failed to get JDK properties for >> /export/users/dh198349/jdk-dev/open/test/hotspot/jtreg/../../../../build/linux-x64-debug/images/jdk/bin/java >> -XX:+UseJVMCICompiler -Xcomp -XX:+UnlockExperimentalVMOptions; exit >> code 1 >> >> Sorry that last line was important. >> >> David >> >>> -- Jon >>> >>> >>> On 6/24/18 4:32 PM, David Holmes wrote: >>>> If I pass: >>>> >>>> -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler >>>> -Xcomp" >>>> >>>> the tests run fine but take excruciatingly long as the compilations >>>> are also running in Xcomp mode. So I tried changing to -javaoptions >>>> and got: >>>> >>>> Error: VM option 'UseJVMCICompiler' is experimental and must be >>>> enabled via -XX:+UnlockExperimentalVMOptions. >>>> Error: The unlock option must precede 'UseJVMCICompiler'. >>>> Error: Could not create the Java Virtual Machine. >>>> Error: A fatal exception has occurred. Program will exit. >>>> >>>> It's like the options were not being parsed and passed correctly. >>>> >>>> Any ideas? >>>> >>>> Thanks, >>>> David >>> > From jonathan.gibbons at oracle.com Tue Jun 26 15:23:46 2018 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 26 Jun 2018 08:23:46 -0700 Subject: Problem with vmoptions versus javaoptions In-Reply-To: <6ca35fa3-0475-fdb7-fddd-ae34ae9264df@oracle.com> References: <8eeebda0-e901-350a-8262-82616ab5c66b@oracle.com> <5B317FC8.40503@oracle.com> <6ca35fa3-0475-fdb7-fddd-ae34ae9264df@oracle.com> Message-ID: On 6/25/18 6:01 PM, David Holmes wrote: > On 26/06/2018 9:50 AM, Jonathan Gibbons wrote: >> Thanks for adding the last line; it was important. >> >> Yes, jtreg was trying to set up the command to get the custom >> property definitions from the JVM under tests. This happens once, at >> the beginning of the run. >> >> I've not seen this "order of options" show up as a problem before. >> >> In this case, the command line contains the following, in order, >> >> 1. the options specified by `-vmoptions` >> 2. by the options specified by `-javaoptions` >> 3. any additional options needed for the module system >> 4. any options specified in the "extraPropDefns" entries in TEST.ROOT >> >> Can you use that information to ensure that the command line gets set >> up correctly?? At this point, I'm not sure if there is really a bug >> or not, given Martin B's comment that this seemed to work for him. I >> would strongly expect that if you put >> -XX:+UnlockExperimentalVMOptions early in your -vmoptions you should >> be OK. > > But I have it first: > > -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler > -Xcomp" > > It's when I change -vmoptions to -javaoptions that it breaks. Seems to > me, based on the error message: > > >> -XX:+UseJVMCICompiler -Xcomp -XX:+UnlockExperimentalVMOptions; > > that jtreg has reordered things somehow ?? > > Thanks, > David David, OK, thanks; I know where to check.? Yes, there is code that "processes" options, but it's not supposed to gratuitously reorder them. -- Jon > >> -- Jon >> >> >> >> >> >> >> On 06/25/2018 04:28 PM, David Holmes wrote: >>> Hi Jon, >>> >>> On 26/06/2018 2:58 AM, Jonathan Gibbons wrote: >>>> David, >>>> >>>> What info is available in the .jtr file regarding the command lines >>>> that were constructed? >>> >>> Ah! We don't get that far: >>> >>> Error: VM option 'UseJVMCICompiler' is experimental and must be >>> enabled via -XX:+UnlockExperimentalVMOptions. >>> Error: The unlock option must precede 'UseJVMCICompiler'. >>> Error: Could not create the Java Virtual Machine. >>> Error: A fatal exception has occurred. Program will exit. >>> Error: failed to get JDK properties for >>> /export/users/dh198349/jdk-dev/open/test/hotspot/jtreg/../../../../build/linux-x64-debug/images/jdk/bin/java >>> -XX:+UseJVMCICompiler -Xcomp -XX:+UnlockExperimentalVMOptions; exit >>> code 1 >>> >>> Sorry that last line was important. >>> >>> David >>> >>>> -- Jon >>>> >>>> >>>> On 6/24/18 4:32 PM, David Holmes wrote: >>>>> If I pass: >>>>> >>>>> -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler >>>>> -Xcomp" >>>>> >>>>> the tests run fine but take excruciatingly long as the >>>>> compilations are also running in Xcomp mode. So I tried changing >>>>> to -javaoptions and got: >>>>> >>>>> Error: VM option 'UseJVMCICompiler' is experimental and must be >>>>> enabled via -XX:+UnlockExperimentalVMOptions. >>>>> Error: The unlock option must precede 'UseJVMCICompiler'. >>>>> Error: Could not create the Java Virtual Machine. >>>>> Error: A fatal exception has occurred. Program will exit. >>>>> >>>>> It's like the options were not being parsed and passed correctly. >>>>> >>>>> Any ideas? >>>>> >>>>> Thanks, >>>>> David >>>> >> From jonathan.gibbons at oracle.com Tue Jun 26 17:35:01 2018 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 26 Jun 2018 10:35:01 -0700 Subject: Problem with vmoptions versus javaoptions In-Reply-To: <6ca35fa3-0475-fdb7-fddd-ae34ae9264df@oracle.com> References: <8eeebda0-e901-350a-8262-82616ab5c66b@oracle.com> <5B317FC8.40503@oracle.com> <6ca35fa3-0475-fdb7-fddd-ae34ae9264df@oracle.com> Message-ID: <5B327945.5060705@oracle.com> David, If it is convenient for you to find it, can you send me the complete jtreg command line that you are using? -- Jon On 06/25/2018 06:01 PM, David Holmes wrote: > On 26/06/2018 9:50 AM, Jonathan Gibbons wrote: >> Thanks for adding the last line; it was important. >> >> Yes, jtreg was trying to set up the command to get the custom >> property definitions from the JVM under tests. This happens once, at >> the beginning of the run. >> >> I've not seen this "order of options" show up as a problem before. >> >> In this case, the command line contains the following, in order, >> >> 1. the options specified by `-vmoptions` >> 2. by the options specified by `-javaoptions` >> 3. any additional options needed for the module system >> 4. any options specified in the "extraPropDefns" entries in TEST.ROOT >> >> Can you use that information to ensure that the command line gets set >> up correctly? At this point, I'm not sure if there is really a bug >> or not, given Martin B's comment that this seemed to work for him. I >> would strongly expect that if you put >> -XX:+UnlockExperimentalVMOptions early in your -vmoptions you should >> be OK. > > But I have it first: > > -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler > -Xcomp" > > It's when I change -vmoptions to -javaoptions that it breaks. Seems to > me, based on the error message: > > >> -XX:+UseJVMCICompiler -Xcomp -XX:+UnlockExperimentalVMOptions; > > that jtreg has reordered things somehow ?? > > Thanks, > David > >> -- Jon >> >> >> >> >> >> >> On 06/25/2018 04:28 PM, David Holmes wrote: >>> Hi Jon, >>> >>> On 26/06/2018 2:58 AM, Jonathan Gibbons wrote: >>>> David, >>>> >>>> What info is available in the .jtr file regarding the command lines >>>> that were constructed? >>> >>> Ah! We don't get that far: >>> >>> Error: VM option 'UseJVMCICompiler' is experimental and must be >>> enabled via -XX:+UnlockExperimentalVMOptions. >>> Error: The unlock option must precede 'UseJVMCICompiler'. >>> Error: Could not create the Java Virtual Machine. >>> Error: A fatal exception has occurred. Program will exit. >>> Error: failed to get JDK properties for >>> /export/users/dh198349/jdk-dev/open/test/hotspot/jtreg/../../../../build/linux-x64-debug/images/jdk/bin/java >>> -XX:+UseJVMCICompiler -Xcomp -XX:+UnlockExperimentalVMOptions; exit >>> code 1 >>> >>> Sorry that last line was important. >>> >>> David >>> >>>> -- Jon >>>> >>>> >>>> On 6/24/18 4:32 PM, David Holmes wrote: >>>>> If I pass: >>>>> >>>>> -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler >>>>> -Xcomp" >>>>> >>>>> the tests run fine but take excruciatingly long as the >>>>> compilations are also running in Xcomp mode. So I tried changing >>>>> to -javaoptions and got: >>>>> >>>>> Error: VM option 'UseJVMCICompiler' is experimental and must be >>>>> enabled via -XX:+UnlockExperimentalVMOptions. >>>>> Error: The unlock option must precede 'UseJVMCICompiler'. >>>>> Error: Could not create the Java Virtual Machine. >>>>> Error: A fatal exception has occurred. Program will exit. >>>>> >>>>> It's like the options were not being parsed and passed correctly. >>>>> >>>>> Any ideas? >>>>> >>>>> Thanks, >>>>> David >>>> >> From david.holmes at oracle.com Wed Jun 27 21:42:02 2018 From: david.holmes at oracle.com (David Holmes) Date: Thu, 28 Jun 2018 07:42:02 +1000 Subject: Problem with vmoptions versus javaoptions In-Reply-To: <5B327945.5060705@oracle.com> References: <8eeebda0-e901-350a-8262-82616ab5c66b@oracle.com> <5B317FC8.40503@oracle.com> <6ca35fa3-0475-fdb7-fddd-ae34ae9264df@oracle.com> <5B327945.5060705@oracle.com> Message-ID: Just to close this off, the problem was quoting as Martin had suggested. One of my scripts didn't use "$@", so the quotes on the string of javaoptions were removed which made jtreg only see the first one (the Ulockxxx) as a javaoption which was then moved to the end of the option list - hence the error. Thanks, David On 27/06/2018 3:35 AM, Jonathan Gibbons wrote: > David, > > If it is convenient for you to find it, can you send me the complete > jtreg command line that you are using? > > -- Jon > > > On 06/25/2018 06:01 PM, David Holmes wrote: >> On 26/06/2018 9:50 AM, Jonathan Gibbons wrote: >>> Thanks for adding the last line; it was important. >>> >>> Yes, jtreg was trying to set up the command to get the custom >>> property definitions from the JVM under tests. This happens once, at >>> the beginning of the run. >>> >>> I've not seen this "order of options" show up as a problem before. >>> >>> In this case, the command line contains the following, in order, >>> >>> 1. the options specified by `-vmoptions` >>> 2. by the options specified by `-javaoptions` >>> 3. any additional options needed for the module system >>> 4. any options specified in the "extraPropDefns" entries in TEST.ROOT >>> >>> Can you use that information to ensure that the command line gets set >>> up correctly?? At this point, I'm not sure if there is really a bug >>> or not, given Martin B's comment that this seemed to work for him. I >>> would strongly expect that if you put >>> -XX:+UnlockExperimentalVMOptions early in your -vmoptions you should >>> be OK. >> >> But I have it first: >> >> -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler >> -Xcomp" >> >> It's when I change -vmoptions to -javaoptions that it breaks. Seems to >> me, based on the error message: >> >> >> -XX:+UseJVMCICompiler -Xcomp -XX:+UnlockExperimentalVMOptions; >> >> that jtreg has reordered things somehow ?? >> >> Thanks, >> David >> >>> -- Jon >>> >>> >>> >>> >>> >>> >>> On 06/25/2018 04:28 PM, David Holmes wrote: >>>> Hi Jon, >>>> >>>> On 26/06/2018 2:58 AM, Jonathan Gibbons wrote: >>>>> David, >>>>> >>>>> What info is available in the .jtr file regarding the command lines >>>>> that were constructed? >>>> >>>> Ah! We don't get that far: >>>> >>>> Error: VM option 'UseJVMCICompiler' is experimental and must be >>>> enabled via -XX:+UnlockExperimentalVMOptions. >>>> Error: The unlock option must precede 'UseJVMCICompiler'. >>>> Error: Could not create the Java Virtual Machine. >>>> Error: A fatal exception has occurred. Program will exit. >>>> Error: failed to get JDK properties for >>>> /export/users/dh198349/jdk-dev/open/test/hotspot/jtreg/../../../../build/linux-x64-debug/images/jdk/bin/java >>>> -XX:+UseJVMCICompiler -Xcomp -XX:+UnlockExperimentalVMOptions; exit >>>> code 1 >>>> >>>> Sorry that last line was important. >>>> >>>> David >>>> >>>>> -- Jon >>>>> >>>>> >>>>> On 6/24/18 4:32 PM, David Holmes wrote: >>>>>> If I pass: >>>>>> >>>>>> -vmoptions:"-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler >>>>>> -Xcomp" >>>>>> >>>>>> the tests run fine but take excruciatingly long as the >>>>>> compilations are also running in Xcomp mode. So I tried changing >>>>>> to -javaoptions and got: >>>>>> >>>>>> Error: VM option 'UseJVMCICompiler' is experimental and must be >>>>>> enabled via -XX:+UnlockExperimentalVMOptions. >>>>>> Error: The unlock option must precede 'UseJVMCICompiler'. >>>>>> Error: Could not create the Java Virtual Machine. >>>>>> Error: A fatal exception has occurred. Program will exit. >>>>>> >>>>>> It's like the options were not being parsed and passed correctly. >>>>>> >>>>>> Any ideas? >>>>>> >>>>>> Thanks, >>>>>> David >>>>> >>> >