Hi Alan,

On 23/07/16 07:57, Alan Bateman wrote:
On 22/07/2016 17:16, Daniel Fuchs wrote:

Hi,

Please find below a fix for
8153082: Update XSTL compiler to generate classes that invoke addReads
https://bugs.openjdk.java.net/browse/JDK-8153082

This fix removes a dependency from java.xml to an internal
java base API.
This looks good. The only thing that looks a bit strange is changing the
class file version during generation. It there any reason not to bump
the default? Separately, we should cache the Configuration as each
translet has the same but that is a separate issue of course.

I've done the experiment and bumped the default class file version
to 49. But then some other tests (e.g. SAXTFactoryTest) started failing
with strange ClassFileFormat errors (see at the end of the mail).

My guess is that the XSLT compiler (or is it BCEL?) is not ready for
a global upgrade of class file version to 49.
It seems that something is sometimes genereting bytecode that's
incompatible with class file version 49
(I verified that those tests would pass with 48, but they fail with 49).

I have unfortunately no idea what exactly is causing the issue - so
I've revised my patch to generate 1.1 compatible byte code instead.
(mixing bytecode that requires v < 49 with bytecode that requires v > 48
 does not sound like a good idea ;-( )

So here is a new webrev that does not require 49 and makes all
the tests happy:

http://cr.openjdk.java.net/~dfuchs/webrev_8153082/webrev.01/

best regards,

-- daniel

-----------------------------------------------------------------

---- ClassFormatError in SAXTFactoryTest when class file
     version is > 48

java.lang.ClassFormatError: Illegal class name "die/verwandlung/" in class file <Unknown>
        at java.lang.ClassLoader.defineClass1(java.base@9-internal/Native 
Method)
at java.lang.ClassLoader.defineClass(java.base@9-internal/ClassLoader.java:942) at java.lang.ClassLoader.defineClass(java.base@9-internal/ClassLoader.java:806) at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl$TransletClassLoader.defineClass(java.xml@9-internal/TemplatesImpl.java:197) at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.defineTransletClasses(java.xml@9-internal/TemplatesImpl.java:492) at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.getTransletInstance(java.xml@9-internal/TemplatesImpl.java:529) at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.newTransformer(java.xml@9-internal/TemplatesImpl.java:564) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(java.xml@9-internal/TransformerFactoryImpl.java:798) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformerHandler(java.xml@9-internal/TransformerFactoryImpl.java:1105) at javax.xml.transform.ptests.SAXTFactoryTest.testcase06(SAXTFactoryTest.java:237) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-internal/Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@9-internal/NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-internal/DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(java.base@9-internal/Method.java:533)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
        at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
        at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
        at org.testng.TestRunner.privateRun(TestRunner.java:767)
        at org.testng.TestRunner.run(TestRunner.java:617)
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
        at org.testng.SuiteRunner.run(SuiteRunner.java:240)
        at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
        at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
        at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
        at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
        at org.testng.TestNG.run(TestNG.java:1057)
at com.sun.javatest.regtest.TestNGAction$TestNGRunner.main(TestNGAction.java:220) at com.sun.javatest.regtest.TestNGAction$TestNGRunner.main(TestNGAction.java:184) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-internal/Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@9-internal/NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-internal/DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(java.base@9-internal/Method.java:533)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:110)
        at java.lang.Thread.run(java.base@9-internal/Thread.java:843)




Reply via email to