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

Exception When Running ExtensionUtilTest under Java 8

    XMLWordPrintable

    Details

    • Complexity:
      Low
    • Development:

      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 ExtensionUtilTest class throws an exception when running 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

                Assignee:
                ibewes Wesley Brown
                Reporter:
                ibewes Wesley Brown
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: