Uploaded image for project: 'OpenMRS Core'
  1. OpenMRS Core
  2. TRUNK-4596

Exception when running PortletTagTest under java 8

    XMLWordPrintable

Details

    • Low

    Description

      Dev Notes:

      When creating pull requests, be sure to specify java8 branch as the target into which to merge the code

      The initializationError test in the PortletTagTest class throws an exception when run under Java 8.

      <error message="Failed to transform class with name org.openmrs.module.ModuleFactory. Reason: java.io.IOException: invalid constant type: 18" type="java.lang.IllegalStateException">java.lang.IllegalStateException: Failed to transform class with name org.openmrs.module.ModuleFactory. Reason: java.io.IOException: invalid constant type: 18
      at org.powermock.core.classloader.MockClassLoader.loadMockClass(MockClassLoader.java:219)
      at org.powermock.core.classloader.MockClassLoader.loadModifiedClass(MockClassLoader.java:147)
      at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass(DeferSupportingClassLoader.java:67)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:340)
      at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)
      at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
      at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
      at sun.reflect.annotation.AnnotationParser.parseSig(AnnotationParser.java:439)
      at sun.reflect.annotation.AnnotationParser.parseClassValue(AnnotationParser.java:420)
      at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:724)
      at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:531)
      at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:355)
      at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:286)
      at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:120)
      at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:72)
      at java.lang.Class.createAnnotationData(Class.java:3508)
      at java.lang.Class.annotationData(Class.java:3497)
      at java.lang.Class.getAnnotation(Class.java:3402)
      at org.junit.internal.MethodSorter.getDeclaredMethods(MethodSorter.java:52)
      at org.junit.internal.runners.TestClass.getAnnotatedMethods(TestClass.java:45)
      at org.junit.internal.runners.MethodValidator.validateTestMethods(MethodValidator.java:71)
      at org.junit.internal.runners.MethodValidator.validateStaticMethods(MethodValidator.java:44)
      at org.junit.internal.runners.MethodValidator.validateMethodsForDefaultRunner(MethodValidator.java:50)
      at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.validate(PowerMockJUnit44RunnerDelegateImpl.java:110)
      at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.<init>(PowerMockJUnit44RunnerDelegateImpl.java:72)
      at org.powermock.modules.junit4.internal.impl.PowerMockJUnit49RunnerDelegateImpl.<init>(PowerMockJUnit49RunnerDelegateImpl.java:29)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
      at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:143)
      at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:39)
      at org.powermock.tests.utils.impl.AbstractTestSuiteChunkerImpl.createTestDelegators(AbstractTestSuiteChunkerImpl.java:217)
      at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.<init>(JUnit4TestSuiteChunkerImpl.java:59)
      at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.<init>(AbstractCommonPowerMockRunner.java:32)
      at org.powermock.modules.junit4.PowerMockRunner.<init>(PowerMockRunner.java:33)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
      at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:29)
      at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:21)
      at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
      at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
      at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
      at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
      at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:51)
      at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115)
      at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102)
      at org.apache.maven.surefire.Surefire.run(Surefire.java:180)
      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:483)
      at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350)
      at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
      Caused by: java.lang.RuntimeException: java.io.IOException: invalid constant type: 18
      at javassist.CtClassType.getClassFile2(CtClassType.java:203)
      at javassist.CtClassType.subtypeOf(CtClassType.java:303)
      at javassist.CtClassType.subtypeOf(CtClassType.java:318)
      at javassist.compiler.MemberResolver.compareSignature(MemberResolver.java:247)
      at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:119)
      at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:96)
      at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:704)
      at javassist.expr.NewExpr$ProceedForNew.setReturnType(NewExpr.java:243)
      at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:146)
      at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
      at javassist.compiler.TypeChecker.atVariableAssign(TypeChecker.java:248)
      at javassist.compiler.TypeChecker.atAssignExpr(TypeChecker.java:217)
      at javassist.compiler.ast.AssignExpr.accept(AssignExpr.java:38)
      at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:241)
      at javassist.compiler.CodeGen.atStmnt(CodeGen.java:329)
      at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
      at javassist.compiler.CodeGen.atStmnt(CodeGen.java:350)
      at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
      at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:404)
      at javassist.compiler.CodeGen.atStmnt(CodeGen.java:354)
      at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
      at javassist.compiler.Javac.compileStmnt(Javac.java:568)
      at javassist.expr.NewExpr.replace(NewExpr.java:206)
      at org.powermock.core.transformers.impl.MainMockTransformer$PowerMockExpressionEditor.edit(MainMockTransformer.java:445)
      at javassist.expr.ExprEditor.loopBody(ExprEditor.java:211)
      at javassist.expr.ExprEditor.doit(ExprEditor.java:90)
      at javassist.CtClassType.instrument(CtClassType.java:1374)
      at org.powermock.core.transformers.impl.MainMockTransformer.transform(MainMockTransformer.java:75)
      at org.powermock.core.classloader.MockClassLoader.loadMockClass(MockClassLoader.java:215)
      ... 57 more
      Caused by: java.io.IOException: invalid constant type: 18
      at javassist.bytecode.ConstPool.readOne(ConstPool.java:1090)
      at javassist.bytecode.ConstPool.read(ConstPool.java:1033)
      at javassist.bytecode.ConstPool.<init>(ConstPool.java:149)
      at javassist.bytecode.ClassFile.read(ClassFile.java:737)
      at javassist.bytecode.ClassFile.<init>(ClassFile.java:108)
      at javassist.CtClassType.getClassFile2(CtClassType.java:190)
      ... 85 more
      </error>

      Gliffy Diagrams

        Attachments

          Issue Links

            Activity

              People

                wyclif Wyclif Luyima
                ibewes Wesley Brown
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: