Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-71806

JacocoPublisherTest fails on Java 21 with EasyMock errors

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • jacoco-plugin
    • None
    • 3.3.5

      hudson.plugins.jacoco.JacocoPublisherTest fails on Java 21 with:

      java.lang.IllegalArgumentException: Could not create type
      	at org.easymock.bytebuddy.TypeCache.findOrInsert(TypeCache.java:170)
      	at org.easymock.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:399)
      	at org.easymock.internal.ClassProxyFactory.createProxy(ClassProxyFactory.java:136)
      	at org.easymock.internal.MocksControl.createMock(MocksControl.java:108)
      	at org.easymock.internal.MocksControl.createMock(MocksControl.java:81)
      	at org.easymock.IMocksControl.mock(IMocksControl.java:44)
      	at org.easymock.EasyMock.niceMock(EasyMock.java:187)
      	at hudson.plugins.jacoco.JacocoPublisherTest.<init>(JacocoPublisherTest.java:50)
      	at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
      	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
      	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
      	at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:250)
      	at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:260)
      	at org.junit.runners.BlockJUnit4ClassRunner$2.runReflectiveCall(BlockJUnit4ClassRunner.java:309)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:306)
      	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
      	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
      	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
      	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
      	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
      	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
      	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
      	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
      	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
      	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
      	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
      	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
      	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
      	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
      	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
      	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
      	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
      	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
      	at org.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:50)
      	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:184)
      	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:148)
      	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:120)
      	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
      	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
      	at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
      	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
      Caused by: java.lang.IllegalArgumentException: hudson.Launcher$$$EasyMock$1 must be defined in the same package as org.easymock.internal.ClassProxyFactory
      	at org.easymock.bytebuddy.dynamic.loading.ClassInjector$UsingLookup.injectRaw(ClassInjector.java:1635)
      	at org.easymock.bytebuddy.dynamic.loading.ClassInjector$AbstractBase.inject(ClassInjector.java:118)
      	at org.easymock.bytebuddy.dynamic.loading.ClassLoadingStrategy$UsingLookup.load(ClassLoadingStrategy.java:519)
      	at org.easymock.bytebuddy.dynamic.TypeResolutionStrategy$Passive.initialize(TypeResolutionStrategy.java:101)
      	at org.easymock.bytebuddy.dynamic.DynamicType$Default$Unloaded.load(DynamicType.java:6317)
      	at org.easymock.internal.ClassProxyFactory.lambda$createProxy$0(ClassProxyFactory.java:146)
      	at org.easymock.bytebuddy.TypeCache.findOrInsert(TypeCache.java:168)
      	... 48 more
      

          [JENKINS-71806] JacocoPublisherTest fails on Java 21 with EasyMock errors

          Basil Crow created issue -

          Basil Crow added a comment -

          See https://github.com/easymock/easymock/issues/442 - this passes with EasyMock at commit d8beccd0, so we need to wait for EasyMock 5.2.0 to be released and upgrade the EasyMock dependency to fix this bug.

          Basil Crow added a comment - See https://github.com/easymock/easymock/issues/442 - this passes with EasyMock at commit d8beccd0, so we need to wait for EasyMock 5.2.0 to be released and upgrade the EasyMock dependency to fix this bug.
          Basil Crow made changes -
          Assignee Original: Ognjen Bubalo [ ognjenb ]

          Basil Crow added a comment -

          When this ticket is resolved, the workaround in jenkinsci/bom should be deleted per https://github.com/jenkinsci/bom/issues/2383

          Basil Crow added a comment - When this ticket is resolved, the workaround in jenkinsci/bom should be deleted per https://github.com/jenkinsci/bom/issues/2383
          Alexander Brandes made changes -
          Remote Link New: This issue links to "https://github.com/jenkinsci/jacoco-plugin/pull/256 (Web Link)" [ 28914 ]
          Alexander Brandes made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Alexander Brandes made changes -
          Status Original: In Progress [ 3 ] New: In Review [ 10005 ]
          Alexander Brandes made changes -
          Released As New: 3.3.5
          Resolution New: Fixed [ 1 ]
          Status Original: In Review [ 10005 ] New: Closed [ 6 ]

            Unassigned Unassigned
            basil Basil Crow
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: