Project

General

Profile

Actions

Bug #22415

open

Java SDK fails to build on Debian 12

Added by Brett Smith 1 day ago. Updated 1 day ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
-
Story points:
-

Description

With the included JDK 17.0.13 and Gradle 4.4.1:

======= test sdk/java-v2
openjdk version "17.0.13" 2024-10-15
OpenJDK Runtime Environment (build 17.0.13+11-Debian-2deb12u1)
OpenJDK 64-Bit Server VM (build 17.0.13+11-Debian-2deb12u1, mixed mode, sharing)
Starting a Gradle Daemon (subsequent builds will be faster)

> Task :compileTestJava
Note: /home/brett/Curii/arvados/sdk/java-v2/src/test/java/org/arvados/client/api/client/CollectionsApiClientTest.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :test

org.arvados.client.utils.FileMergeTest > fileChunksAreMergedIntoOneFile PASSED

org.arvados.client.utils.FileSplitTest > fileIsDividedIntoSmallerChunks PASSED

org.arvados.client.facade.ArvadosFacadeTest > downloadOfWholeCollectionIsPerformedSuccessfully PASSED

org.arvados.client.facade.ArvadosFacadeTest > downloadOfSingleFilePerformedSuccessfully PASSED

org.arvados.client.facade.ArvadosFacadeTest > downloadOfWholeCollectionUsingKeepWebPerformedSuccessfully PASSED

org.arvados.client.facade.ArvadosFacadeTest > uploadIsPerformedSuccessfullyUsingDiskOnlyKeepServices SKIPPED

org.arvados.client.facade.ArvadosFacadeTest > uploadIsPerformedSuccessfully PASSED

org.arvados.client.logic.collection.FileTokenTest > toStringReturnsOriginalFileTokenInfo PASSED

org.arvados.client.logic.collection.FileTokenTest > fullPathIsReturnedProperly PASSED

org.arvados.client.logic.collection.FileTokenTest > tokenInfoIsDividedCorrectly PASSED

org.arvados.client.logic.collection.ManifestFactoryTest > manifestIsCreatedAsExpected SKIPPED

org.arvados.client.logic.collection.ManifestStreamTest > toStringReturnsProperlyConnectedManifestStream PASSED

org.arvados.client.logic.collection.ManifestDecoderTest > manifestTextWithInvalidStreamNameThrowsException PASSED

org.arvados.client.logic.collection.ManifestDecoderTest > allLocatorsAndFileTokensAreExtractedFromComplexManifest PASSED

org.arvados.client.logic.collection.ManifestDecoderTest > allLocatorsAndFileTokensAreExtractedFromSimpleManifest PASSED

org.arvados.client.logic.collection.ManifestDecoderTest > emptyManifestTextThrowsException PASSED
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

org.arvados.client.logic.keep.KeepClientTest > exceptionIsThrownWhenThereAreNoServersAccessible FAILED
    org.mockito.exceptions.base.MockitoException
        Caused by: org.mockito.exceptions.base.MockitoException
            Caused by: java.lang.IllegalStateException
                Caused by: java.lang.IllegalArgumentException

org.arvados.client.logic.keep.KeepClientTest > uploadedFile FAILED
    org.mockito.exceptions.base.MockitoException
        Caused by: org.mockito.exceptions.base.MockitoException
            Caused by: java.lang.IllegalStateException
                Caused by: java.lang.IllegalArgumentException

org.arvados.client.logic.keep.KeepClientTest > fileIsDownloadedWhenFirstServerDoesNotRespond FAILED
    org.mockito.exceptions.base.MockitoException
        Caused by: org.mockito.exceptions.base.MockitoException
            Caused by: java.lang.IllegalStateException
                Caused by: java.lang.IllegalArgumentException

org.arvados.client.logic.keep.KeepClientTest > fileIsDownloaded FAILED
    org.mockito.exceptions.base.MockitoException
        Caused by: org.mockito.exceptions.base.MockitoException
            Caused by: java.lang.IllegalStateException
                Caused by: java.lang.IllegalArgumentException

org.arvados.client.logic.keep.KeepClientTest > exceptionIsThrownWhenNoServerResponds FAILED
    org.mockito.exceptions.base.MockitoException
        Caused by: org.mockito.exceptions.base.MockitoException
            Caused by: java.lang.IllegalStateException
                Caused by: java.lang.IllegalArgumentException

org.arvados.client.logic.keep.FileDownloaderTest > testDownloadFileWithResume FAILED
    org.mockito.exceptions.base.MockitoException
        Caused by: org.mockito.exceptions.base.MockitoException
            Caused by: java.lang.IllegalStateException
                Caused by: java.lang.IllegalArgumentException

org.arvados.client.logic.keep.FileDownloaderTest > downloadingAllFilesFromCollectionWorksProperly FAILED
    org.mockito.exceptions.base.MockitoException
        Caused by: org.mockito.exceptions.base.MockitoException
            Caused by: java.lang.IllegalStateException
                Caused by: java.lang.IllegalArgumentException

org.arvados.client.logic.keep.FileDownloaderTest > downloadingSingleFileFromKeepWebWorksCorrectly FAILED
    org.mockito.exceptions.base.MockitoException
        Caused by: org.mockito.exceptions.base.MockitoException
            Caused by: java.lang.IllegalStateException
                Caused by: java.lang.IllegalArgumentException

org.arvados.client.logic.keep.KeepLocatorTest > locatorIsStrippedWithMd5sumAndSize PASSED

org.arvados.client.logic.keep.KeepLocatorTest > locatorToStringProperlyShowing PASSED

org.arvados.client.logic.keep.KeepLocatorTest > md5sumIsExtracted PASSED

org.arvados.client.api.client.KeepServicesApiClientTest > listAccessibleKeepServices PASSED

org.arvados.client.api.client.KeepServicesApiClientTest > listKeepServices PASSED

org.arvados.client.api.client.KeepServicesApiClientTest > getKeepService PASSED

org.arvados.client.api.client.BaseStandardApiClientTest > urlBuilderBuildsExpectedUrlFormat FAILED
    org.mockito.exceptions.base.MockitoException
        Caused by: org.mockito.exceptions.base.MockitoException
            Caused by: org.mockito.exceptions.base.MockitoException
                Caused by: java.lang.IllegalStateException
                    Caused by: java.lang.IllegalArgumentException

org.arvados.client.api.client.KeepServerApiClientTest > downloadFileFromServer PASSED

org.arvados.client.api.client.KeepServerApiClientTest > uploadFileToServer PASSED

org.arvados.client.api.client.factory.OkHttpClientFactoryTest > secureOkHttpClientIsCreated PASSED

org.arvados.client.api.client.factory.OkHttpClientFactoryTest > insecureOkHttpClientIsCreated PASSED

org.arvados.client.api.client.LinkApiClientTest > listLinks PASSED

org.arvados.client.api.client.LinkApiClientTest > getLink PASSED

org.arvados.client.api.client.LinkApiClientTest > createLink PASSED

org.arvados.client.api.client.UsersApiClientTest > listUsers PASSED

org.arvados.client.api.client.UsersApiClientTest > getUser PASSED

org.arvados.client.api.client.UsersApiClientTest > getCurrentUser PASSED

org.arvados.client.api.client.UsersApiClientTest > getSystemUser PASSED

org.arvados.client.api.client.UsersApiClientTest > createUser PASSED

org.arvados.client.api.client.GroupsApiClientTest > listProjectsByOwner PASSED

org.arvados.client.api.client.GroupsApiClientTest > listGroups PASSED

org.arvados.client.api.client.GroupsApiClientTest > getGroup PASSED

org.arvados.client.api.client.KeepWebApiClientTest > downloadPartialIsPerformedSuccessfully PASSED

org.arvados.client.api.client.KeepWebApiClientTest > uploadFile PASSED

org.arvados.client.api.client.CollectionsApiClientTest > getCollection PASSED

org.arvados.client.api.client.CollectionsApiClientTest > createCollectionWithManifest PASSED

org.arvados.client.api.client.CollectionsApiClientTest > listCollections PASSED

org.arvados.client.api.client.CollectionsApiClientTest > createCollection PASSED

org.arvados.client.api.client.CollectionsApiClientTest > testUpdateWithReplaceFiles PASSED
WARNING: A terminally deprecated method in java.lang.System has been called
WARNING: System::setSecurityManager has been called by org.gradle.api.internal.tasks.testing.worker.TestWorker (file:/usr/share/gradle/lib/plugins/gradle-testing-base-4.4.1.jar)
WARNING: Please consider reporting this to the maintainers of org.gradle.api.internal.tasks.testing.worker.TestWorker
WARNING: System::setSecurityManager will be removed in a future release

---- Test results ----
FAILURE (53 tests, 42 successes, 9 failures, 2 skipped)

53 tests completed, 9 failed, 2 skipped

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> There were failing tests. See the report at: file:///home/brett/Curii/arvados/sdk/java-v2/build/reports/tests/test/index.html

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 9s
5 actionable tasks: 3 executed, 2 up-to-date
======= sdk/java-v2 tests -- FAILED

Individual test failures all look like this:

org.mockito.exceptions.base.MockitoException: Unable to initialize @Spy annotated field 'client'.

Mockito cannot mock this class: class org.arvados.client.api.client.BaseStandardApiClientTest$1.

If you're not sure why you're getting this error, please report to the mailing list.

Java               : 17
JVM vendor name    : Debian
JVM vendor version : 17.0.13+11-Debian-2deb12u1
JVM name           : OpenJDK 64-Bit Server VM
JVM version        : 17.0.13+11-Debian-2deb12u1
JVM info           : mixed mode, sharing
OS name            : Linux
OS version         : 6.1.0-28-amd64

You are seeing this disclaimer because Mockito is configured to create inlined mocks.
You can learn about inline mocks and their limitations under item #39 of the Mockito class javadoc.

Underlying exception : org.mockito.exceptions.base.MockitoException: Could not modify all classes [class java.lang.Object, class org.arvados.client.api.client.BaseStandardApiClientTest$1, class org.arvados.client.api.client.BaseStandardApiClient, class org.arvados.client.api.client.BaseApiClient]
    at org.mockito.internal.runners.DefaultInternalRunner$1$1.evaluate(DefaultInternalRunner.java:44)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.mockito.internal.runners.DefaultInternalRunner$1.run(DefaultInternalRunner.java:77)
    at org.mockito.internal.runners.DefaultInternalRunner.run(DefaultInternalRunner.java:83)
    at org.mockito.internal.runners.StrictRunner.run(StrictRunner.java:39)
    at org.mockito.junit.MockitoJUnitRunner.run(MockitoJUnitRunner.java:163)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:114)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:57)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:66)
    at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:569)
    at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
    at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    at jdk.proxy1/jdk.proxy1.$Proxy1.processTestClass(Unknown Source)
    at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:108)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:569)
    at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:146)
    at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:128)
    at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: org.mockito.exceptions.base.MockitoException: 
Mockito cannot mock this class: class org.arvados.client.api.client.BaseStandardApiClientTest$1.

If you're not sure why you're getting this error, please report to the mailing list.

Java               : 17
JVM vendor name    : Debian
JVM vendor version : 17.0.13+11-Debian-2deb12u1
JVM name           : OpenJDK 64-Bit Server VM
JVM version        : 17.0.13+11-Debian-2deb12u1
JVM info           : mixed mode, sharing
OS name            : Linux
OS version         : 6.1.0-28-amd64

You are seeing this disclaimer because Mockito is configured to create inlined mocks.
You can learn about inline mocks and their limitations under item #39 of the Mockito class javadoc.

Underlying exception : org.mockito.exceptions.base.MockitoException: Could not modify all classes [class java.lang.Object, class org.arvados.client.api.client.BaseStandardApiClientTest$1, class org.arvados.client.api.client.BaseStandardApiClient, class org.arvados.client.api.client.BaseApiClient]
    ... 44 more
Caused by: org.mockito.exceptions.base.MockitoException: Could not modify all classes [class java.lang.Object, class org.arvados.client.api.client.BaseStandardApiClientTest$1, class org.arvados.client.api.client.BaseStandardApiClient, class org.arvados.client.api.client.BaseApiClient]
    at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:152)
    at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:365)
    at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:174)
    at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:376)
    ... 44 more
Caused by: java.lang.IllegalStateException: 
Byte Buddy could not instrument all classes within the mock's type hierarchy

This problem should never occur for javac-compiled classes. This problem has been observed for classes that are:
 - Compiled by older versions of scalac
 - Classes that are part of the Android distribution
    at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.triggerRetransformation(InlineBytecodeGenerator.java:176)
    at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.mockClass(InlineBytecodeGenerator.java:152)
    at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator$1.call(TypeCachingBytecodeGenerator.java:37)
    at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator$1.call(TypeCachingBytecodeGenerator.java:34)
    at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:152)
    at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:365)
    at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:174)
    at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:376)
    at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.mockClass(TypeCachingBytecodeGenerator.java:32)
    at org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.createMockType(InlineByteBuddyMockMaker.java:199)
    at org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.createMock(InlineByteBuddyMockMaker.java:180)
    at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:35)
    at org.mockito.internal.MockitoCore.mock(MockitoCore.java:63)
    at org.mockito.Mockito.mock(Mockito.java:1908)
    at org.mockito.internal.configuration.SpyAnnotationEngine.spyInstance(SpyAnnotationEngine.java:76)
    at org.mockito.internal.configuration.SpyAnnotationEngine.process(SpyAnnotationEngine.java:64)
    at org.mockito.internal.configuration.InjectingAnnotationEngine.processIndependentAnnotations(InjectingAnnotationEngine.java:60)
    at org.mockito.internal.configuration.InjectingAnnotationEngine.process(InjectingAnnotationEngine.java:42)
    at org.mockito.MockitoAnnotations.initMocks(MockitoAnnotations.java:68)
    ... 44 more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 61
    at net.bytebuddy.jar.asm.ClassReader.<init>(ClassReader.java:195)
    at net.bytebuddy.jar.asm.ClassReader.<init>(ClassReader.java:176)
    at net.bytebuddy.jar.asm.ClassReader.<init>(ClassReader.java:162)
    at net.bytebuddy.utility.OpenedClassReader.of(OpenedClassReader.java:86)
    at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining.create(TypeWriter.java:3394)
    at net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:1933)
    at net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder.make(RedefinitionDynamicTypeBuilder.java:217)
    at net.bytebuddy.dynamic.scaffold.inline.AbstractInliningDynamicTypeBuilder.make(AbstractInliningDynamicTypeBuilder.java:120)
    at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.make(DynamicType.java:3404)
    at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.transform(InlineBytecodeGenerator.java:253)
    at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:244)
    at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
    at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:541)
    at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
    at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:169)
    at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.triggerRetransformation(InlineBytecodeGenerator.java:173)
    ... 62 more
Actions

Also available in: Atom PDF