hotspot/test/gc/TestVerifyBeforeGCDuringStartup.java: java.lang.RuntimeException: Unrecognized option: -server -Xint

Jonathan Gibbons jonathan.gibbons at oracle.com
Fri Dec 6 13:31:34 PST 2013


Francis,

This is a bug in the test in the version in jdk7u. The version in jdk8 
has been fixed.
[Note to self: make sure you read the right version of the files.]

The clue is in the error message that indicates that "-server -Xint" is 
being treated a single command. Despite what you say, it is *not* a fix 
to reverse the options: that use makes the single option be "-Xint 
-server" and while it might make the problem go away, the code is still 
not doing what you probably expect.

The bug is in line 37 of the source file for TestVerifyBeforeGCStartup

>       
> ProcessTools.createJavaProcessBuilder(System.getProperty("test.vm.opts"),
>                                             "-XX:-UseTLAB",
> "-XX:+UnlockDiagnosticVMOptions",
>                                             "-XX:+VerifyBeforeGC", 
> "-version");

The System.getProperty call will return a white-space separated list of 
options, which in this case will be passed as a single string to the 
createJavaProcessBuilder call, giving the effect you observed.

The correct solution is to split the value of the system property into 
words, and to add each of the
words individually into the list of words given to 
createJavaProcessBuilder.  This fix has been done in the JDK 8 version 
of the test.

I suggest you continue this issue on the hotspot-dev alias, and suggest 
that someone backport the appropriate fix.   From "hg log" it looks like 
this is the changeset that needs to be backported.

> changeset:   4586:3edf23423bb2
> user:        johnc
> date:        Fri Apr 26 10:57:57 2013 -0700
> summary:     8011898: gc/TestVerifyBeforeGCDuringStartup.java: 
> java.lang.RuntimeException: '[Verifying' missing from stdout/stderr: 
> [Error: Could not find or load main class]

-- Jon





On 12/06/2013 11:12 AM, Francis ANDRE wrote:
> Hi Jon
>
> Ok mistake on my side, I have just to invert the options on the 
> command line... but I think this kind of test  is somewhat erroneous...
>
> Francis
> Le 05/12/2013 07:52, Francis ANDRE a écrit :
>> Hi Jon
>>
>> Running the hotspot non regression test with jtreg, I got this 
>> java.lang.RuntimeException: Unrecognized option: -server -Xint -- see 
>> below -- with this command
>>
>> The problem is coming from the order of the test.vm.options. Using 
>> -J-Dtest.vm.opts='-Xint -server'  instead of 
>> -J-Dtest.vm.opts='-server -Xint' \\. makes the test pass.
>>
>>
>> Here the launch command:
>> $JT_HOME/win32/bin/jtreg -dir:Z:/jdk/jdk7u-dev/hotspot/test -server 
>> -Xint -verbose:summary -conc:2 -a -ignore:quiet -timeoutFactor:5 
>> -agentvm 
>> -testjdk:Z:/JDK/jdk7u-dev/hotspot/build/windows/jdk-windows-i586 
>> compiler gc runtime sanity serviceability
>>
>>
>> Francis
>>
>> Content of 
>> Z:\JDK\jdk7u-dev\hotspot\JTwork\gc\TestVerifyBeforeGCDuringStartup.jtr
>>
>> #Test Results (version 2)
>> #Tue Dec 03 06:36:51 CET 2013
>> #-----testdescription-----
>> $file=Z\:\\JDK\\jdk7u-dev\\hotspot\\test\\gc\\TestVerifyBeforeGCDuringStartup.java 
>>
>> $root=Z\:\\JDK\\jdk7u-dev\\hotspot\\test
>> keywords=bug8010463 gc
>> library=/testlibrary
>> run=ASSUMED_ACTION main TestVerifyBeforeGCDuringStartup\r\n
>> source=TestVerifyBeforeGCDuringStartup.java
>> title=Simple test run with -XX\:+VerifyBeforeGC -XX\:-UseTLAB to 
>> verify 8010463
>>
>> #-----environment-----
>>
>> #-----testresult-----
>> description=file\:/Z\:/JDK/jdk7u-dev/hotspot/test/gc/TestVerifyBeforeGCDuringStartup.java 
>>
>> elapsed=468 0\:00\:00.468
>> end=Tue Dec 03 06\:36\:51 CET 2013
>> environment=regtest
>> execStatus=Failed. Execution failed\: `main' threw exception\: 
>> java.lang.RuntimeException\: '[Verifying' missing from 
>> stdout/stderr\: [Error\: Could not create the Java Virtual Machine. 
>> Error\: A fatal exception has occurred. Program will exit. 
>> Unrecognized option\: -server -Xint ]
>> hostname=idefix
>> javatestOS=Windows XP 5.1 (x86)
>> javatestVersion=4.4.1
>> jtregVersion=jtreg 4.1 dev b00
>> script=com.sun.javatest.regtest.RegressionScript
>> sections=script_messages build compile main
>> start=Tue Dec 03 06\:36\:51 CET 2013
>> test=gc/TestVerifyBeforeGCDuringStartup.java
>> user.name=FrancisANDRE
>> work=Z\:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\gc
>>
>> #section:script_messages
>> ----------messages:(5/223)*----------
>> JDK under test: 
>> (Z:\\JDK\\jdk7u-dev\\hotspot\\build\\windows\\jdk-windows-i586)
>> java version "1.7.0_45"
>> Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
>> OpenJDK Server VM (build 24.60-b03-internal, interpreted mode)
>>
>>
>> #section:build
>> ----------messages:(3/119)----------
>> command: build TestVerifyBeforeGCDuringStartup
>> reason: Named class compiled on demand
>> elapsed time (seconds): 0.406
>> result: Passed. Build successful
>>
>> #section:compile
>> ----------messages:(3/203)*----------
>> command: compile -XDignore.symbol.file=true 
>> Z:\\JDK\\jdk7u-dev\\hotspot\\test\\gc\\TestVerifyBeforeGCDuringStartup.java
>> reason: .class file out of date or does not exist
>> elapsed time (seconds): 0.406
>> ----------rerun:(22/2460)*----------
>> 'PATH=C:\\cygwin\\usr\\local\\bin;C:\\cygwin\\bin;C:\\WINDOWS;C:\\WINDOWS\\system32;C:\\WINDOWS\\System32\\Wbem;C:\\Program 
>> Files\\Microsoft Visual Studio 10.0\\Common7\\IDE;C:\\Program 
>> Files\\Microsoft Visual Studio 10.0\\VC\\BIN;C:\\Program 
>> Files\\Microsoft Visual Studio 
>> 10.0\\Common7\\Tools;C:\\WINDOWS\\Microsoft.NET\\Framework\\v4.0.30319;C:\\Program 
>> Files\\Microsoft Visual Studio 10.0\\VC\\VCPackages;C:\\Program 
>> Files\\Microsoft SDKs\\Windows\\v7.0A\\bin\\NETFX 4.0 
>> Tools;C:\\Program Files\\Microsoft 
>> SDKs\\Windows\\v7.0A\\bin;C:\\Program Files\\Apache Software 
>> Foundation\\apache-ant-1.8.4\\bin;C:\\Program Files\\Apache Software 
>> Foundation\\apache-maven-3.0.3\\bin' \\
>> SystemDrive=C: \\
>> 'SystemRoot=C:\\WINDOWS' \\
>> 'TEMP=C:\\cygwin\\tmp' \\
>> 'TMP=C:\\DOCUME~1\\FRANCI~1\\LOCALS~1\\Temp' \\
>> 'windir=C:\\WINDOWS' \\
>> 'Z:\\JDK\\jdk7u-dev\\hotspot\\build\\windows\\jdk-windows-i586\\bin\\javac' 
>> \\
>>         -J-server \\
>>         -J-Xint \\
>>         -J-Dtest.vm.opts='-server -Xint' \\
>> -J-Dcompile.jdk='Z:\\JDK\\jdk7u-dev\\hotspot\\build\\windows\\jdk-windows-i586' 
>> \\
>> -J-Dtest.src.path='Z:\\JDK\\jdk7u-dev\\hotspot\\test\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\test\\testlibrary' 
>> \\
>>         -J-Dtest.src='Z:\\JDK\\jdk7u-dev\\hotspot\\test\\gc' \\
>>         -J-Dtest.tool.vm.opts='-J-server -J-Xint' \\
>> -J-Dtest.class.path='Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\testlibrary' 
>> \\
>>         -J-Dtest.timeout.factor=5.0 \\
>> -J-Dtest.classes='Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\gc' \\ 
>>
>> -J-Dtest.class.path.prefix='Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\test\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\testlibrary' 
>> \\
>> -J-Dtest.jdk='Z:\\JDK\\jdk7u-dev\\hotspot\\build\\windows\\jdk-windows-i586' 
>> \\
>>         -J-Dtest.java.opts= \\
>>         -J-Dtest.compiler.opts= \\
>>         -d 'Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\gc' 
>> -classpath 
>> 'Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\test\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\testlibrary;Z:\\JDK\\jdk7u-dev\\hotspot\\build\\windows\\jdk-windows-i586\\lib\\tools.jar' 
>> -sourcepath 
>> 'Z:\\JDK\\jdk7u-dev\\hotspot\\test\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\test\\testlibrary' 
>> -XDignore.symbol.file=true 
>> 'Z:\\JDK\\jdk7u-dev\\hotspot\\test\\gc\\TestVerifyBeforeGCDuringStartup.java'
>> result: Passed. Compilation successful
>>
>> #section:main
>> ----------messages:(3/164)----------
>> command: main TestVerifyBeforeGCDuringStartup
>> reason: Assumed action based on file name: run main 
>> TestVerifyBeforeGCDuringStartup
>> elapsed time (seconds): 0.047
>> ----------rerun:(21/2176)*----------
>> 'PATH=C:\\cygwin\\usr\\local\\bin;C:\\cygwin\\bin;C:\\WINDOWS;C:\\WINDOWS\\system32;C:\\WINDOWS\\System32\\Wbem;C:\\Program 
>> Files\\Microsoft Visual Studio 10.0\\Common7\\IDE;C:\\Program 
>> Files\\Microsoft Visual Studio 10.0\\VC\\BIN;C:\\Program 
>> Files\\Microsoft Visual Studio 
>> 10.0\\Common7\\Tools;C:\\WINDOWS\\Microsoft.NET\\Framework\\v4.0.30319;C:\\Program 
>> Files\\Microsoft Visual Studio 10.0\\VC\\VCPackages;C:\\Program 
>> Files\\Microsoft SDKs\\Windows\\v7.0A\\bin\\NETFX 4.0 
>> Tools;C:\\Program Files\\Microsoft 
>> SDKs\\Windows\\v7.0A\\bin;C:\\Program Files\\Apache Software 
>> Foundation\\apache-ant-1.8.4\\bin;C:\\Program Files\\Apache Software 
>> Foundation\\apache-maven-3.0.3\\bin' \\
>> SystemDrive=C: \\
>> 'SystemRoot=C:\\WINDOWS' \\
>> 'TEMP=C:\\cygwin\\tmp' \\
>> 'TMP=C:\\DOCUME~1\\FRANCI~1\\LOCALS~1\\Temp' \\
>> 'windir=C:\\WINDOWS' \\
>> 'Z:\\JDK\\jdk7u-dev\\hotspot\\build\\windows\\jdk-windows-i586\\bin\\java' 
>> \\
>>         -Dtest.vm.opts='-server -Xint' \\
>> -Dcompile.jdk='Z:\\JDK\\jdk7u-dev\\hotspot\\build\\windows\\jdk-windows-i586' 
>> \\
>> -Dtest.src.path='Z:\\JDK\\jdk7u-dev\\hotspot\\test\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\test\\testlibrary' 
>> \\
>>         -Dtest.src='Z:\\JDK\\jdk7u-dev\\hotspot\\test\\gc' \\
>>         -Dtest.tool.vm.opts='-J-server -J-Xint' \\
>> -Dtest.class.path='Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\testlibrary' 
>> \\
>>         -Dtest.timeout.factor=5.0 \\
>> -Dtest.classes='Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\gc' \\
>> -Dtest.class.path.prefix='Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\test\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\testlibrary' 
>> \\
>> -Dtest.jdk='Z:\\JDK\\jdk7u-dev\\hotspot\\build\\windows\\jdk-windows-i586' 
>> \\
>>         -Dtest.java.opts= \\
>>         -Dtest.compiler.opts= \\
>>         -classpath 
>> 'Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\test\\gc;Z:\\JDK\\jdk7u-dev\\hotspot\\JTwork\\classes\\0\\testlibrary;Z:\\JDK\\jdk7u-dev\\hotspot\\build\\windows\\jdk-windows-i586\\lib\\tools.jar' 
>> \\
>>         TestVerifyBeforeGCDuringStartup
>> ----------System.err:(17/915)----------
>> java.lang.RuntimeException: '[Verifying' missing from stdout/stderr: 
>> [Error: Could not create the Java Virtual Machine.
>> Error: A fatal exception has occurred. Program will exit.
>> Unrecognized option: -server -Xint
>> ]
>>
>>     at 
>> com.oracle.java.testlibrary.OutputAnalyzer.shouldContain(OutputAnalyzer.java:79)
>>     at 
>> TestVerifyBeforeGCDuringStartup.main(TestVerifyBeforeGCDuringStartup.java:42)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>     at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>     at java.lang.reflect.Method.invoke(Method.java:606)
>>     at 
>> com.sun.javatest.regtest.MainAction$SameVMRunnable.run(MainAction.java:746)
>>     at java.lang.Thread.run(Thread.java:744)
>>
>> JavaTest Message: Test threw exception: java.lang.RuntimeException
>> JavaTest Message: shutting down test
>>
>> result: Failed. Execution failed: `main' threw exception: 
>> java.lang.RuntimeException: '[Verifying' missing from stdout/stderr: 
>> [Error: Could not create the Java Virtual Machine. Error: A fatal 
>> exception has occurred. Program will exit. Unrecognized option: 
>> -server -Xint ]
>>
>>
>> test result: Failed. Execution failed: `main' threw exception: 
>> java.lang.RuntimeException: '[Verifying' missing from stdout/stderr: 
>> [Error: Could not create the Java Virtual Machine. Error: A fatal 
>> exception has occurred. Program will exit. Unrecognized option: 
>> -server -Xint ]
>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/jtreg-use/attachments/20131206/f5f0a633/attachment-0001.html 


More information about the jtreg-use mailing list