JDK-8147477 : com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java is failing for the jdk9/hs snapshot control job
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2016-01-15
  • Updated: 2016-02-25
  • Resolved: 2016-01-29
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9 b107Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Description
com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java is failing for the JPRT control job of this week jdk9/hs snapshot. Looks like the test is being run with options like: +UseGOneGC, +UseCerealGC

This need to be fixed before the snapshot is pushed to jdk9/dev next week.
If the solution requires  changes in the repository, please push the solution straight to jdk9/dev.  

Filed as P2 as we need this taken care of ASAP
Comments
Verified that ~ScopedVMInitArgs() when we free: os::free(_args.options[i].optionString); we use the instance of a string that we dynamically allocated in the constructor ScopedVMInitArgs(): options_arr[i].optionString = os::strdup(options_arr[i].optionString); Removing the "integration_blocker" label and assigning to Dmitry to get the standalone regression test into hotspot/tests. We should also lower the priority to P3.
21-01-2016

David: yep Dmitry is always amazing, but I had to do my diligence, and at that point I was getting many tips. The picture is much clearer in hindsight, but at that point I had to filter out the noise.
21-01-2016

As I wrote above: > Okay, perhaps Dmitry can add a test case to the existing VM options > collection of tests that he has going... Somewhere in your collection of test/runtime/CommandLine/* tests. CheckOrigin.java caught this bug by accident. Its focus is to verify that the "origin" of the various options is correct, i.e., did the option come from an env var or the cmd line or... Its use of '-XX:+TraceExceptions' was to provide a known option in an env var bucket. Rachel changed that part of the test to '-XX:+CheckJNICalls' so we again have a known and an unknown option in that bucket.
21-01-2016

CheckOrigin.java not more covers this situation, because TraceExceptions was removed from it by JDK-8147494. So, I can prepare simple regression test and add it to the our hotspot jtreg tests.
21-01-2016

Gerard - note that Dmitry had already found the problem around the same time you were posting your standalone test cases. It is a pity that nothing detected that we were allowing a stack allocated buffer to escape. As one of the reviewers of the broken code I think I paid too little attention to the aliasing code when reviewing JDK-8145153 because it was previously being reviewed under JDK-8141211 - but that review thread got caught up on the ttyLocker issue. So a few lessons to be learnt on this one.
21-01-2016

Okay, I guess we're going to have this conversation... JPRT isn't meant to run every test and you know that. It is meant to be a sanity check that something obvious didn't get broken. When pushing changes to any repo, it is the responsibility of the engineer and their review team to know what tests should be run before the changeset was pushed. Personally, I'm paranoid and I tend to run the equivalent of JDK9-hs-rt nightly on my changes before I push, but I'm really anal about testing. The bug that introduced this failure escaped multiple times. It escaped developer pre-integration testing, it escaped JDK9-hs-rt nightly testing analysis, and lastly it escaped JDK9-hs nightly testing analysis. This failure was picked by Alejandro during his JPRT snapshot PIT run. Notice that I said JPRT there... there is a way to run more testing via JPRT, but we don't impose that time sink on every JPRT job. If we did, we'd never get anything done. The really sad part here is that there were other bugs filed on the test before this one (JDK-8147477) and none of those bugs stopped the flow of the changeset that introduced the bug. So above when I said that the bug escaped JDK9-hs-rt nightly testing analysis, I was being generous. We saw the failure, we filed a bug, but we didn't raise the integration_blocker flag so the changeset escaped. > The "we" are people in the hotspot group before making a checkin. This is disrespectful of the folks in the hotspot group that do more than the "normal" amount of testing (whatever that is). There are folks in the hotspot group that would have caught this bug before the initial integration into JDK9-hs-rt (and I don't include myself in that group). In any case, the "we" should have caught this after it started failing in JDK9-hs-rt nightly.
21-01-2016

The "we" are people in the hotspot group before making a checkin. Fix JPRT to run these tests then or require everyone to run every single test before checkin. Obviously this escaped or we wouldn't be here, would we?
20-01-2016

It certainly appears that the JDK management tests are run in every single JDK9-hs-rt nightly... so I'm not sure who "we" is. :-) The JDK management stuff has a number of APIs that do stuff with JVM options so for anyone changing JVM options code it would be a good idea to run those tests.
20-01-2016

Yes. It's not a test that is in our repository that we normally run. We should add a test for this regression.
20-01-2016

The bug was caught by an existing test, but you want another test? Okay, perhaps Dmitry can add a test case to the existing VM options collection of tests that he has going...
20-01-2016

I don't think this should be closed as a duplicate. I think a regression test should be added for this bug in the hotspot/test/runtime directory.
20-01-2016

In the process of verifying...
20-01-2016

Gerard, if you are convinced that JDK-8146800 fixes this bug, then feel free to remove the 'integration_blocker' alias and close this bug as a duplicate of JDK-8146800.
20-01-2016

Yes, 8146800 is the one.
20-01-2016

That would explain why it works now. I assume Max is talking about JDK-8146800
20-01-2016

The aliasing mechanism has been changed, and shouldn't have this problem anymore. The new mechanism doesn't require any additional space to be allocated. This change went in last week.
20-01-2016

I found it. In arguments.cpp we have: // char buffer to store looked up logging option. char aliased_logging_option[256]; // Catch -XX options which are aliased to Unified logging commands. if (match_option(option, "-XX:", &tail)) { if (lookup_logging_aliases(option->optionString, aliased_logging_option)) { option->optionString = aliased_logging_option; } } where "optionString" is being freed later, so we really need: // char buffer to store looked up logging option. char *aliased_logging_option = (char*)os::malloc(256, mtInternal); // Catch -XX options which are aliased to Unified logging commands. if (match_option(option, "-XX:", &tail)) { if (lookup_logging_aliases(option->optionString, aliased_logging_option)) { option->optionString = aliased_logging_option; } } We may need to find the option length, before assuming it's 256 characters long though.
20-01-2016

Ah, we use: static AliasedFlag const aliased_jvm_logging_flags[] = { { "-XX:+TraceExceptions", "-Xlog:exceptions=info" }, { "-XX:-TraceExceptions", "-Xlog:exceptions=off" }, { "-XX:+TraceMonitorInflation", "-Xlog:monitorinflation=debug" }, { "-XX:-TraceMonitorInflation", "-Xlog:monitorinflation=off" }, { NULL, NULL } }; and // lookup_logging_aliases // Called from parse_each_vm_init_arg(). Should be called on -XX options before specific cases are checked. // If arg matches any aliased_jvm_logging_flags entry, look up the real name and copy it into buffer. bool Arguments::lookup_logging_aliases(const char* arg, char* buffer) { for (size_t i = 0; aliased_jvm_logging_flags[i].alias_name != NULL; i++) { const AliasedFlag& flag_status = aliased_jvm_logging_flags[i]; if (strcmp(flag_status.alias_name, arg) == 0) { strcpy(buffer, flag_status.real_name); return true; } } return false; } to map "-XX:+TraceExceptions" into "-Xlog:exceptions" (why isn't it "-Xlog:exceptions=info"?) Looking...
20-01-2016

Apparently "ScopedVMInitArgs" is called 5 times and crashes while trying to free "-Xlog:exceptions" command line option, which isn't even set (explicitly), so where does it come from? # java -cp /Volumes/Work/bugs/8147477/Test Test ~ScopedVMInitArgs ~ScopedVMInitArgs ~ScopedVMInitArgs ~ScopedVMInitArgs ~ScopedVMInitArgs _args.nOptions: 1 _args.options[0].optionString: 0x700000219890 [-Xlog:exceptions] ## nof_mallocs = 636, nof_frees = 17 ## memory stomp: GuardedMemory(0x0000700000219918) base_addr=0x0000700000219870 tag=0x0000700000219918 user_size=123145304512896 user_data=0x0000700000219890 Header guard @0x0000700000219870 is BROKEN
20-01-2016

This standalone test case version (redirects output from the sub-process) is easier to debug using "printfs": import java.io.File; import java.io.FileWriter; import java.io.PrintWriter; import java.util.Map; public class Test { public static void main(String... args) throws Exception { File flagsFile = File.createTempFile("Test", null); try (PrintWriter pw = new PrintWriter(new FileWriter(flagsFile))) { pw.println("+IgnoreUnrecognizedVMOptions"); } ProcessBuilder pb = new ProcessBuilder( "/Volumes/Work/bugs/8147477/jdk/build/ide/hotspot/xcode/build/jdk/bin/java", "-XX:Flags=" + flagsFile.getAbsolutePath(), "-version"); Map<String, String> env = pb.environment(); env.put("_JAVA_OPTIONS", "-XX:+TraceExceptions"); pb.redirectOutput(ProcessBuilder.Redirect.INHERIT); pb.redirectError(ProcessBuilder.Redirect.INHERIT); pb.start(); } }
20-01-2016

Oh, so this is good. All we need is a regression test since this bug is now fixed with the new logging alias code. Is this no longer a blocker since we've root caused it? Also, it's @ignored in main and now not @ignored in hs-rt.
20-01-2016

Coleen, sorry, I made a typo in JAVA_TOOL_OPTIONS env variable(please see updated comment) Also, I check build from 2016-01-19 hs-rt nightly and jvm not crash and aliasing works. Thus I think that JDK-8146800 "Reorganize logging alias code." fix the problem.
20-01-2016

In current sources TraceExceptions is listed in the following table( src/share/vm/runtime/arguments.cpp module): static AliasedLoggingFlag const aliased_logging_flags[] = { { "TraceClassResolution", LogLevel::Info, true, LogTag::_classresolve }, { "TraceExceptions", LogLevel::Info, true, LogTag::_exceptions }, { "TraceMonitorInflation", LogLevel::Debug, true, LogTag::_monitorinflation }, { NULL, LogLevel::Off, false, LogTag::__NO_TAG } }; I check all these 3 flags by specifying them in _JAVA_OPTIONS and got memory stomping error on my Linux-x64 and with build from JPRT dev control job. Here a simple reproducer: export _JAVA_OPTIONS='-XX:+TraceExceptions' java Specifying these flags in _JAVA_TOOL_OPTIONS not give error. But also, "-XX:+TraceExceptions" is not aliased by _JAVA_TOOL_OPTIONS. UPDATE: I made a typo above. The actual name of env variable is JAVA_TOOL_OPTIONS and specifing "-XX:+TraceExceptions" there also cause memory stomping error.
20-01-2016

Here is a standalone test case: import java.io.File; import java.io.FileWriter; import java.io.PrintWriter; import java.util.Map; public class Test { public static void main(String... args) throws Exception { File flagsFile = File.createTempFile("Test", null); try (PrintWriter pw = new PrintWriter(new FileWriter(flagsFile))) { pw.println("+IgnoreUnrecognizedVMOptions"); } ProcessBuilder pb = new ProcessBuilder( "/Volumes/Work/bugs/8147477/jdk/build/macosx-x86_64-normal-server-fastdebug/images/jdk/bin/java", "-XX:Flags=" + flagsFile.getAbsolutePath(), "-version"); Map<String, String> env = pb.environment(); env.put("_JAVA_OPTIONS", "-XX:+TraceExceptions"); pb.start(); } } which is run by issuing: "javac Test.java ; java Test"
20-01-2016

This is the smallest test case that reproduces the crash: import java.io.File; import java.io.FileWriter; import java.io.PrintWriter; import java.util.Map; import jdk.testlibrary.ProcessTools; public class CheckOrigin { public static void main(String... args) throws Exception { File flagsFile = File.createTempFile("CheckOriginFlags", null); try (PrintWriter pw = new PrintWriter(new FileWriter(flagsFile))) { pw.println("+IgnoreUnrecognizedVMOptions"); } ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( "-XX:Flags=" + flagsFile.getAbsolutePath(), "-version"); Map<String, String> env = pb.environment(); env.put("_JAVA_OPTIONS", "-XX:+TraceExceptions"); pb.start(); } } I'm working now on stand alone test...
20-01-2016

I think that following code cause problems because it store locally allocated array into the optionsString which then freed( src/share/vm/runtime/arguments.cpp module): jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, SysClassPath* scp_p, bool* scp_assembly_required_p, Flag::Flags origin) { ... // char buffer to store looked up logging option. char aliased_logging_option[256]; // Catch -XX options which are aliased to Unified logging commands. if (match_option(option, "-XX:", &tail)) { if (lookup_logging_aliases(option->optionString, aliased_logging_option)) { option->optionString = aliased_logging_option; } } ... This code was removed by JDK-8146800 "Reorganize logging alias code.".
20-01-2016

The aliasing should work so that -XX:+TraceExceptions is aliased when found in _JAVA_TOOL_OPTIONS. Sounds like another bug.
20-01-2016

According to the CheckOrigin.java test the "-XX:+TraceExceptions" is specified in _JAVA_OPTIONS env variable: Map<String, String> env = pb.environment(); // "UseCMSGC" should be ignored. env.put("_JAVA_OPTIONS", "-XX:+TraceExceptions -XX:+UseCMSGC"); Also, not existing "-XX:+UseCMSGC" is also specified in _JAVA_OPTIONS env variable. Thus, just removing -XX:+TraceExceptions should not cause problems... But 'TraceExceptions' was added by JDK-8141211 to the aliased flag table in src/share/vm/runtime/arguments.cpp module: static AliasedFlag const aliased_jvm_logging_flags[] = { + { "-XX:+TraceExceptions", "-Xlog:exceptions=info" }, + { "-XX:-TraceExceptions", "-Xlog:exceptions=off" }, Therefore, the problem is related to the processing aliased flags in environment variables.
20-01-2016

Not quite. My theory is that JDK-8135198 changed the way memory is being managed so the bug where an unknown option in a flags file no longer causes a crash. Update: I don't see anything in JDK-8135198 that would explain handling bad behavior by the flags file handling code. Update: I suspect that when the flags file code encounters -XX:+TraceExceptions which is no longer supported, it is putting a bad pointer in the VM args array which sometimes results in a crash when that memory is cleaned up.
20-01-2016

JDK-8141211: Convert TraceExceptions to Unified Logging is the checkin that uncovers the issue. Dan has advanced the theory that the JDK-8135198 had a bug, where processing unrecognized runtime options (ie. TraceException whose definition was changed in JDK-8141211, see JDK-8147494) via file list, would cause a crash.
20-01-2016

The order (newest at the top) of those checkins: JDK-8141211: Convert TraceExceptions to Unified Logging JDK-8074457: Remove the non-Zero CPP Interpreter JDK-8048521: Remove obsolete code from os_windows.cpp/hpp JDK-8145774: Move scrubbing setup code away out of ConcurrentMark JDK-8145672: Remove dependency of G1FromCardCache to HeapRegionRemSet
20-01-2016

The test failure first appears on RT-nightly build from 2015-12-22 There were 6 changes that went into that build: JDK-8048521 Remove obsolete code from os_windows.cpp/hpp JDK-8074457 Remove the non-Zero CPP Interpreter JDK-8141211 Convert TraceExceptions to Unified Logging JDK-8145672 Remove dependency of G1FromCardCache to HeapRegionRemSet JDK-8145774 Move scrubbing setup code away out of ConcurrentMark JDK-8145306 Add support for abortable mixed GCs in G1
19-01-2016

Latest hs-rt has a number of changes related to options file processing due to: changeset: 9824:0904e24692e0 parent: 9822:3ef994824cd0 user: rdurbin date: Fri Jan 08 15:38:08 2016 -0800 summary: 8135198: Add -XX:VMOptionsFile support to JAVA_TOOL_OPTIONS and _JAVA_OPTIONS
18-01-2016

The latest jdk9-hs-rt does not crash (tried both product and fastdebug builds): # hg path default = http://hg.openjdk.java.net/jdk9/hs-rt /Volumes/Work/bugs/8147477/jdk9-hs-rt # hg tip changeset: 1875:38184b1e208d tag: tip parent: 1874:ce1c42690afb parent: 1859:19be145dfe04 user: jwilhelm date: Thu Jan 14 16:36:40 2016 +0100 summary: Merge
15-01-2016

There are 2 problems here: #1 Because "TraceExceptions" is no longer a VM runtime option defined in globals.hpp (part of RUNTIME_FLAGS macro), CheckOrigin.java fails with "java.lang.IllegalArgumentException: VM option "TraceExceptions" does not exist" because HotSpotDiagnosticMXBean.getVMOption(option) can no longer find the option. This issue is most likely due to https://bugs.openjdk.java.net/browse/JDK-8141211 #2 The CheckOrigin.java crashes when "TraceExceptions" is enabled with "free(): invalid pointer", which must be due to a very recent change - still looking for it ...
15-01-2016

There was some recent activity around "TraceExceptions": changeset: 9847:7289bce381de user: mockner date: Wed Jan 13 14:56:17 2016 -0500 summary: 8146800: Reorganize logging alias code. changeset: 9790:a51c3c17ec6e parent: 9788:903a2e023ffb user: mockner date: Wed Dec 23 15:05:38 2015 -0500 summary: 8144874: Reimplement TraceClassResolution with Unified Logging. changeset: 9787:0c82805adfc5 user: rprotacio date: Tue Dec 22 16:29:48 2015 -0500 summary: 8141211: Convert TraceExceptions to Unified Logging which might be related.
15-01-2016

Duplicated the problem using the binaries from the JPRT job on Mac OS X platform using the test in question: Thread 4 Crashed: 0 libsystem_kernel.dylib 0x00007fff8f21b002 __pthread_kill + 10 1 libsystem_pthread.dylib 0x00007fff8818f5c5 pthread_kill + 90 2 libsystem_c.dylib 0x00007fff933026e7 abort + 129 3 libsystem_malloc.dylib 0x00007fff97233070 free + 425 4 libjvm.dylib 0x0000000110aec6ef ScopedVMInitArgs::~ScopedVMInitArgs() + 43 5 libjvm.dylib 0x0000000110aeb68d Arguments::parse(JavaVMInitArgs const*) + 1071 6 libjvm.dylib 0x0000000111060804 Threads::create_vm(JavaVMInitArgs*, bool*) + 150 7 libjvm.dylib 0x0000000110db4ab2 JNI_CreateJavaVM + 112 8 java 0x000000010f745cd2 JavaMain + 282 9 libsystem_pthread.dylib 0x00007fff8818dc13 _pthread_body + 131 10 libsystem_pthread.dylib 0x00007fff8818db90 _pthread_start + 168 11 libsystem_pthread.dylib 0x00007fff8818b375 thread_start + 13
15-01-2016

Looks like the use of incorrect options is intentional, so I changed the synopsis. But we need this fixed or excluded before pushing the snapshot, otherwise it will start showing in the library side testing
15-01-2016

More recent memory stomper bugs: JDK-8144522 nsk/jvmti/IterateThroughHeap memory stomper JDK-8144947 Crash with memory stomping error Trailer guard is BROKEN Please note that Lois already updated JDK-8144947 with sightings of this test failing (com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java).
15-01-2016

This looks like the cause of the failure: Agent[1].stderr: *** glibc detected *** /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/bin/java: free(): invalid pointer: 0x555a6ea0 *** I think the test is intentionally using malformed options like +UseGOneGC and +UseCerealGC. It is entirely possible that use of these malformed options is causing the errant free() call.
15-01-2016

Here's the failing test's snippet from the linux_i586_2.6-product-c1-jdk_management.log: Note: changed the Oracle internal hostname to XXX. -------------------------------------------------- Agent[1].stderr: *** glibc detected *** /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/bin/java: free(): invalid pointer: 0x555a6ea0 *** Agent[1].stderr: ======= Backtrace: ========= Agent[1].stderr: /lib/libc.so.6[0x4d2b1e31] Agent[1].stderr: /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/server/libjvm.so(+0x871853)[0x55e40853] Agent[1].stderr: /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/server/libjvm.so(+0x27a735)[0x55849735] Agent[1].stderr: /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/server/libjvm.so(+0x9cb1a2)[0x55f9a1a2] Agent[1].stderr: /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/server/libjvm.so(JNI_CreateJavaVM+0x4d)[0x55c32f5d] Agent[1].stderr: /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/bin/../lib/i386/jli/libjli.so(+0x7526)[0x555bd526] Agent[1].stderr: /lib/libpthread.so.0[0x4d40ca49] Agent[1].stderr: /lib/libc.so.6(clone+0x5e)[0x4d323aee] Agent[1].stderr: ======= Memory map: ======== Agent[1].stderr: 08048000-08049000 r-xp 00000000 ca:02 1321263 /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/bin/java Agent[1].stderr: 08049000-0804a000 rw-p 00000000 ca:02 1321263 /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/bin/java Agent[1].stdout: VM option '+PrintSafepointStatistics'Agent[1].stderr: 0957e000-0959f000 rw-p 00000000 00:00 0 [heap] Agent[1].stdout: VM option '+IgnoreUnrecognizedVMOptions'Agent[1].stderr: 4d21f000-4d23d000 r-xp 00000000 ca:02 9050472 /lib/ld-2.12.so Agent[1].stdout: VM option '+PrintVMOptions'Agent[1].stderr: 4d23d000-4d23e000 r--p 0001d000 ca:02 9050472 /lib/ld-2.12.so Agent[1].stdout: VM option '+UseGOneGC'Agent[1].stderr: 4d23e000-4d23f000 rw-p 0001e000 ca:02 9050472 /lib/ld-2.12.so Agent[1].stderr: 4d241000-4d3d1000 r-xp 00000000 ca:02 9049264 /lib/libc-2.12.soAgent[1].stdout: VM option '+UseConcMarkSweepGC' Agent[1].stdout: VM option '+UseCodeAging'Agent[1].stderr: 4d3d1000-4d3d2000 ---p 00190000 ca:02 9049264 /lib/libc-2.12.so Agent[1].stdout: VM option '+UseCerealGC'Agent[1].stderr: 4d3d2000-4d3d4000 r--p 00190000 ca:02 9049264 /lib/libc-2.12.so Agent[1].stdout: VM option 'Flags=/opt/jprt/T/T1/050351.amurillo/io/linux_i586_2.6-product-c1-jdk_management/CheckOriginFlags4349573000949053858.tmp' Agent[1].stderr: 4d3d4000-4d3d5000 rw-p 00192000 ca:02 9049264 /lib/libc-2.12.soAgent[1].stdout: VM option '+TraceExceptions' Agent[1].stderr: 4d3d5000-4d3d8000 rw-p 00000000 00:00 0 Agent[1].stdout: VM option '+UseCMSGC' Agent[1].stderr: 4d3da000-4d402000 r-xp 00000000 ca:02 9049599 /lib/libm-2.12.so Agent[1].stderr: 4d402000-4d403000 r--p 00027000 ca:02 9049599 /lib/libm-2.12.so Agent[1].stderr: 4d403000-4d404000 rw-p 00028000 ca:02 9049599 /lib/libm-2.12.so Agent[1].stderr: 4d406000-4d41d000 r-xp 00000000 ca:02 9049653 /lib/libpthread-2.12.so Agent[1].stderr: 4d41d000-4d41e000 r--p 00016000 ca:02 9049653 /lib/libpthread-2.12.so Agent[1].stderr: 4d41e000-4d41f000 rw-p 00017000 ca:02 9049653 /lib/libpthread-2.12.so Agent[1].stderr: 4d41f000-4d421000 rw-p 00000000 00:00 0 Agent[1].stderr: 4d423000-4d426000 r-xp 00000000 ca:02 9049271 /lib/libdl-2.12.so Agent[1].stderr: 4d426000-4d427000 r--p 00002000 ca:02 9049271 /lib/libdl-2.12.so Agent[1].stderr: 4d427000-4d428000 rw-p 00003000 ca:02 9049271 /lib/libdl-2.12.so Agent[1].stderr: 4d463000-4d480000 r-xp 00000000 ca:02 9049618 /lib/libgcc_s-4.4.7-20120601.so.1 Agent[1].stderr: 4d480000-4d481000 rw-p 0001d000 ca:02 9049618 /lib/libgcc_s-4.4.7-20120601.so.1 Agent[1].stderr: 4d572000-4d579000 r-xp 00000000 ca:02 9049649 /lib/librt-2.12.so Agent[1].stderr: 4d579000-4d57a000 r--p 00006000 ca:02 9049649 /lib/librt-2.12.so Agent[1].stderr: 4d57a000-4d57b000 rw-p 00007000 ca:02 9049649 /lib/librt-2.12.so Agent[1].stderr: 55555000-55556000 r-xp 00000000 00:00 0 [vdso] Agent[1].stderr: 55556000-55557000 rw-p 00000000 00:00 0 Agent[1].stderr: 55557000-55558000 ---p 00000000 00:00 0 Agent[1].stderr: 55558000-555a8000 rw-p 00000000 00:00 0 Agent[1].stderr: 555a8000-555b3000 r-xp 00000000 ca:02 1450866 /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/libverify.so Agent[1].stderr: 555b3000-555b4000 rw-p 0000b000 ca:02 1450866 /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/libverify.so Agent[1].stderr: 555b4000-555b6000 rw-p 00000000 00:00 0 Agent[1].stderr: 555b6000-555cc000 r-xp 00000000 ca:02 1450843 /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/jli/libjli.so Agent[1].stderr: 555cc000-555cd000 rw-p 00015000 ca:02 1450843 /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/jli/libjli.so Agent[1].stderr: 555cd000-555cf000 rw-p 00000000 00:00 0 Agent[1].stderr: 555cf000-56290000 r-xp 00000000 ca:02 1450838 /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/server/libjvm.so Agent[1].stderr: 56290000-562f0000 r--p 00cc0000 ca:02 1450838 /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/server/libjvm.so Agent[1].stderr: 562f0000-56312000 rw-p 00d20000 ca:02 1450838 /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/server/libjvm.so Agent[1].stderr: 56312000-56344000 rw-p 00000000 00:00 0 Agent[1].stderr: 56344000-5636a000 r-xp 00000000 ca:02 1450881 /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/libjava.so Agent[1].stderr: 5636a000-5636b000 rw-p 00025000 ca:02 1450881 /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/lib/i386/libjava.so Agent[1].stderr: 56400000-56421000 rw-p 00000000 00:00 0 Agent[1].stderr: 56421000-56500000 ---p 00000000 00:00 0 Agent[1].stderr: ff9bc000-ff9dd000 rw-p 00000000 00:00 0 [stack] TEST: com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java JDK under test: (/opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product) java version "9-internal" Java(TM) SE Runtime Environment (build 9-internal+0-2016-01-15-050351.amurillo.jdk9-hs-2016-01-14-jdk9-dev-control) Java HotSpot(TM) Client VM (build 9-internal+0-2016-01-15-050351.amurillo.jdk9-hs-2016-01-14-jdk9-dev-control, mixed mode, sharing) ACTION: build -- Passed. Build successful REASON: User specified action: run build jdk.testlibrary.* TIME: 0.553 seconds messages: command: build jdk.testlibrary.* reason: User specified action: run build jdk.testlibrary.* elapsed time (seconds): 0.553 ACTION: compile -- Passed. Compilation successful REASON: .class file out of date or does not exist TIME: 0.552 seconds messages: command: compile -XDignore.symbol.file=true /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/FileUtils.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/JarUtils.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/OSInfo.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/TestThread.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/StreamPumper.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/ProcessThread.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/IOUtils.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/Platform.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/Utils.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/OutputBuffer.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/FilterClassLoader.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/SerializationUtils.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/LockFreeLogManager.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/JDKToolFinder.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/RandomFactory.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/TimeLimitedRunner.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/ParentLastURLClassLoader.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/XRun.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/OptimalCapacity.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/JDKToolLauncher.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/JcmdBase.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/SimpleSSLContext.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/Asserts.java reason: .class file out of date or does not exist elapsed time (seconds): 0.552 rerun: DISPLAY=XXX.us.oracle.com:510 \ HOME=/opt/jprt/jprtadm \ LANG=C \ LC_ALL=C \ LC_CTYPE= \ PATH=/bin:/usr/bin \ /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/bin/javac \ -J-ea \ -J-esa \ -J-client \ -J-Xmx512m \ -J-Duser.home=/opt/jprt/T/T1/050351.amurillo \ -J-Djava.io.tmpdir=/opt/jprt/T/T1/050351.amurillo/io/linux_i586_2.6-product-c1-jdk_management \ -J-client \ -J-Dtest.class.path.prefix=/opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/lib/testlibrary \ -J-Dtest.src=/opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean \ -J-Dtest.src.path=/opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary \ -J-Dtest.classes=/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/com/sun/management/HotSpotDiagnosticMXBean \ -J-Dtest.class.path=/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/lib/testlibrary \ -J-Dtest.vm.opts='-ea -esa -client -Xmx512m' \ -J-Dtest.tool.vm.opts='-J-ea -J-esa -J-client -J-Xmx512m' \ -J-Dtest.compiler.opts= \ -J-Dtest.java.opts='-Duser.home=/opt/jprt/T/T1/050351.amurillo -Djava.io.tmpdir=/opt/jprt/T/T1/050351.amurillo/io/linux_i586_2.6-product-c1-jdk_management -client' \ -J-Dtest.jdk=/opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product \ -J-Dcompile.jdk=/opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product \ -J-Dtest.timeout.factor=4.0 \ -d /opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/lib/testlibrary -classpath /opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/lib/testlibrary -sourcepath /opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary -XDignore.symbol.file=true /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/FileUtils.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/JarUtils.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/OSInfo.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/TestThread.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/StreamPumper.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/ProcessThread.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/IOUtils.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/Platform.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/Utils.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/OutputBuffer.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/FilterClassLoader.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/SerializationUtils.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/LockFreeLogManager.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/JDKToolFinder.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/RandomFactory.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/TimeLimitedRunner.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/ParentLastURLClassLoader.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/XRun.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/OptimalCapacity.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/JDKToolLauncher.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/JcmdBase.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/SimpleSSLContext.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java /opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary/jdk/testlibrary/Asserts.java direct: Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. ACTION: build -- Passed. Build successful REASON: Named class compiled on demand TIME: 0.11 seconds messages: command: build CheckOrigin reason: Named class compiled on demand elapsed time (seconds): 0.11 ACTION: compile -- Passed. Compilation successful REASON: .class file out of date or does not exist TIME: 0.109 seconds messages: command: compile -XDignore.symbol.file=true /opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java reason: .class file out of date or does not exist elapsed time (seconds): 0.109 rerun: DISPLAY=XXX.us.oracle.com:510 \ HOME=/opt/jprt/jprtadm \ LANG=C \ LC_ALL=C \ LC_CTYPE= \ PATH=/bin:/usr/bin \ /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/bin/javac \ -J-ea \ -J-esa \ -J-client \ -J-Xmx512m \ -J-Duser.home=/opt/jprt/T/T1/050351.amurillo \ -J-Djava.io.tmpdir=/opt/jprt/T/T1/050351.amurillo/io/linux_i586_2.6-product-c1-jdk_management \ -J-client \ -J-Dtest.class.path.prefix=/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/lib/testlibrary \ -J-Dtest.src=/opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean \ -J-Dtest.src.path=/opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary \ -J-Dtest.classes=/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/com/sun/management/HotSpotDiagnosticMXBean \ -J-Dtest.class.path=/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/lib/testlibrary \ -J-Dtest.vm.opts='-ea -esa -client -Xmx512m' \ -J-Dtest.tool.vm.opts='-J-ea -J-esa -J-client -J-Xmx512m' \ -J-Dtest.compiler.opts= \ -J-Dtest.java.opts='-Duser.home=/opt/jprt/T/T1/050351.amurillo -Djava.io.tmpdir=/opt/jprt/T/T1/050351.amurillo/io/linux_i586_2.6-product-c1-jdk_management -client' \ -J-Dtest.jdk=/opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product \ -J-Dcompile.jdk=/opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product \ -J-Dtest.timeout.factor=4.0 \ -d /opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/com/sun/management/HotSpotDiagnosticMXBean -classpath /opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/lib/testlibrary -sourcepath /opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary -XDignore.symbol.file=true /opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java direct: Note: /opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. ACTION: main -- Failed. Execution failed: `main' threw exception: java.lang.Exception: Unexpected exit code from subprocess == 134 REASON: User specified action: run main CheckOrigin TIME: 0.207 seconds messages: command: main CheckOrigin reason: User specified action: run main CheckOrigin elapsed time (seconds): 0.207 rerun: DISPLAY=XXX.us.oracle.com:510 \ HOME=/opt/jprt/jprtadm \ LANG=C \ LC_ALL=C \ LC_CTYPE= \ PATH=/bin:/usr/bin \ /opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/bin/java \ -Dtest.class.path.prefix=/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/lib/testlibrary \ -Dtest.src=/opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean \ -Dtest.src.path=/opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/test/lib/testlibrary \ -Dtest.classes=/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/com/sun/management/HotSpotDiagnosticMXBean \ -Dtest.class.path=/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/lib/testlibrary \ -Dtest.vm.opts='-ea -esa -client -Xmx512m' \ -Dtest.tool.vm.opts='-J-ea -J-esa -J-client -J-Xmx512m' \ -Dtest.compiler.opts= \ -Dtest.java.opts='-Duser.home=/opt/jprt/T/T1/050351.amurillo -Djava.io.tmpdir=/opt/jprt/T/T1/050351.amurillo/io/linux_i586_2.6-product-c1-jdk_management -client' \ -Dtest.jdk=/opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product \ -Dcompile.jdk=/opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product \ -Dtest.timeout.factor=4.0 \ -classpath /opt/jprt/products/T1/jtreg4.1-latest/jtreg/lib/javatest.jar:/opt/jprt/products/T1/jtreg4.1-latest/jtreg/lib/jtreg.jar:/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/test/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/lib/testlibrary \ CheckOrigin STDOUT: Command line: [/opt/jprt/T/T1/050351.amurillo/testproduct/linux_i586_2.6-product/bin/java -XX:+UseConcMarkSweepGC -XX:+UseCodeAging -XX:+UseCerealGC -XX:Flags=/opt/jprt/T/T1/050351.amurillo/io/linux_i586_2.6-product-c1-jdk_management/CheckOriginFlags4349573000949053858.tmp -cp /opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/com/sun/management/HotSpotDiagnosticMXBean:/opt/jprt/T/T1/050351.amurillo/s/jdk/testoutput/jdk_management/JTwork/classes/lib/testlibrary CheckOrigin -runtests ] sub process exit == 134 STDERR: java.lang.Exception: Unexpected exit code from subprocess == 134 at CheckOrigin.main(CheckOrigin.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:520) at com.sun.javatest.regtest.agent.MainActionHelper$SameVMRunnable.run(MainActionHelper.java:218) at java.lang.Thread.run(Thread.java:804) JavaTest Message: Test threw exception: java.lang.Exception JavaTest Message: shutting down test TEST RESULT: Failed. Execution failed: `main' threw exception: java.lang.Exception: Unexpected exit code from subprocess == 134
15-01-2016