OpenJDK / valhalla / valhalla
changeset 52549:bfdf2926cebc
8212197: OpenDataException thrown when constructing CompositeData for StackTraceElement
Reviewed-by: alanb
author | mchung |
---|---|
date | Tue, 16 Oct 2018 11:47:33 -0700 |
parents | af6fb2cb82ae |
children | 3b17277860e7 |
files | src/java.management/share/classes/sun/management/StackTraceElementCompositeData.java test/jdk/sun/management/StackTraceElementCompositeData/CompatibilityTest.java |
diffstat | 2 files changed, 17 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/java.management/share/classes/sun/management/StackTraceElementCompositeData.java Tue Oct 16 11:24:41 2018 -0700 +++ b/src/java.management/share/classes/sun/management/StackTraceElementCompositeData.java Tue Oct 16 11:47:33 2018 -0700 @@ -78,14 +78,16 @@ // CONTENTS OF THIS ARRAY MUST BE SYNCHRONIZED WITH // STACK_TRACE_ELEMENT_ATTRIBUTES! final Object[] stackTraceElementItemValues = { - ste.getClassLoaderName(), - ste.getModuleName(), - ste.getModuleVersion(), + // JDK 5 attributes ste.getClassName(), ste.getMethodName(), ste.getFileName(), ste.getLineNumber(), ste.isNativeMethod(), + // JDK 9 attributes + ste.getClassLoaderName(), + ste.getModuleName(), + ste.getModuleVersion(), }; try { return new CompositeDataSupport(STACK_TRACE_ELEMENT_COMPOSITE_TYPE,
--- a/test/jdk/sun/management/StackTraceElementCompositeData/CompatibilityTest.java Tue Oct 16 11:24:41 2018 -0700 +++ b/test/jdk/sun/management/StackTraceElementCompositeData/CompatibilityTest.java Tue Oct 16 11:47:33 2018 -0700 @@ -36,7 +36,7 @@ /* * @test - * @bug 8139587 + * @bug 8139587 8212197 * @modules java.management/sun.management * @summary Check backward compatibility of StackTraceElementCompositeData * @author Jaroslav Bachorik @@ -154,5 +154,16 @@ assertEquals(ste.isNativeMethod(), false); assertEquals(ste.getLineNumber(), 123); } + + @Test + public void testCompositeData() throws Exception { + StackTraceElement ste = new StackTraceElement("app", + "m", "1.0", + "p.MyClass", "myMethod", + "MyClass.java", 123); + CompositeData cd = StackTraceElementCompositeData.toCompositeData(ste); + StackTraceElement ste1 = StackTraceElementCompositeData.from(cd); + assertEquals(ste, ste1); + } }