Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-10217

NullPointerException or NoClassDefFoundError in ThreadLocalRandom causes multiple test failures

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • core, tests
    • None

    Description

      The below stack traces were seen in the unit-test-openjdk8 job in the pipeline. In addition to the two failures shown, multiple other failures due to NoClassDefFoundError for ThreadLocalRandom were also present.

      DiskEntryHelperTest > doSynchronousWriteReturnsTrueWhenDiskRegionIsSync FAILED
      10:19:40    org.mockito.exceptions.base.MockitoException: 
      10:19:40    Mockito cannot mock this class: class org.apache.geode.internal.cache.DiskRegion.
      10:19:40
      10:19:40    If you're not sure why you're getting this error, please report to the mailing list.
      10:19:40
      10:19:40
      10:19:40    Java               : 1.8
      10:19:40    JVM vendor name    : BellSoft
      10:19:40    JVM vendor version : 25.322-b06
      10:19:40    JVM name           : OpenJDK 64-Bit Server VM
      10:19:40    JVM version        : 1.8.0_322-b06
      10:19:40    JVM info           : mixed mode
      10:19:40    OS name            : Linux
      10:19:40    OS version         : 5.4.0-1069-gcp
      10:19:40
      10:19:40
      10:19:40    You are seeing this disclaimer because Mockito is configured to create inlined mocks.
      10:19:40    You can learn about inline mocks and their limitations under item #39 of the Mockito class javadoc.
      10:19:40
      10:19:40    Underlying exception : org.mockito.exceptions.base.MockitoException: Could not modify all classes [class org.apache.geode.internal.cache.DiskRegion, interface org.apache.geode.internal.cache.persistence.DiskRegionView, class org.apache.geode.internal.cache.AbstractDiskRegion]
      10:19:40        at org.apache.geode.internal.cache.entries.DiskEntryHelperTest.<init>(DiskEntryHelperTest.java:44)
      10:19:40
      10:19:40        Caused by:
      10:19:40        org.mockito.exceptions.base.MockitoException: Could not modify all classes [class org.apache.geode.internal.cache.DiskRegion, interface org.apache.geode.internal.cache.persistence.DiskRegionView, class org.apache.geode.internal.cache.AbstractDiskRegion]
      10:19:40            at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:157)
      10:19:40            at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:371)
      10:19:40            at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:179)
      10:19:40            at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:382)
      10:19:40            ... 1 more
      10:19:40
      10:19:40            Caused by:
      10:19:40            java.lang.IllegalStateException: 
      10:19:40            Byte Buddy could not instrument all classes within the mock's type hierarchy
      10:19:40
      10:19:40            This problem should never occur for javac-compiled classes. This problem has been observed for classes that are:
      10:19:40             - Compiled by older versions of scalac
      10:19:40             - Classes that are part of the Android distribution
      10:19:40                at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.triggerRetransformation(InlineBytecodeGenerator.java:280)
      10:19:40                at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.mockClass(InlineBytecodeGenerator.java:213)
      10:19:40                at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.lambda$mockClass$0(TypeCachingBytecodeGenerator.java:47)
      10:19:40                at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:157)
      10:19:40                at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:371)
      10:19:40                at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:179)
      10:19:40                at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:382)
      10:19:40                at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.mockClass(TypeCachingBytecodeGenerator.java:40)
      10:19:40                at org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.createMockType(InlineDelegateByteBuddyMockMaker.java:389)
      10:19:40                at org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.doCreateMock(InlineDelegateByteBuddyMockMaker.java:349)
      10:19:40                at org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.createMock(InlineDelegateByteBuddyMockMaker.java:328)
      10:19:40                at org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.createMock(InlineByteBuddyMockMaker.java:56)
      10:19:40                at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:53)
      10:19:40                at org.mockito.internal.MockitoCore.mock(MockitoCore.java:96)
      10:19:40                at org.mockito.Mockito.mock(Mockito.java:1965)
      10:19:40                at org.mockito.Mockito.mock(Mockito.java:1880)
      10:19:40                ... 1 more
      10:19:40
      10:19:40                Caused by:
      10:19:40                java.lang.ExceptionInInitializerError
      10:19:40                    at java.util.concurrent.ConcurrentHashMap.fullAddCount(ConcurrentHashMap.java:2526)
      10:19:40                    at java.util.concurrent.ConcurrentHashMap.addCount(ConcurrentHashMap.java:2266)
      10:19:40                    at java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1166)
      10:19:40                    at java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097)
      10:19:40                    at org.mockito.internal.util.concurrent.WeakConcurrentMap.expungeStaleEntries(WeakConcurrentMap.java:139)
      10:19:40                    at org.mockito.internal.util.concurrent.WeakConcurrentMap$WithInlinedExpunction.containsKey(WeakConcurrentMap.java:272)
      10:19:40                    at org.mockito.internal.creation.bytebuddy.MockMethodAdvice.isMock(MockMethodAdvice.java:169)
      10:19:40                    at java.lang.Object.equals(Object.java:149)
      10:19:40                    at java.lang.reflect.Method.equals(Method.java:317)
      10:19:40                    at java.util.HashMap.getNode(HashMap.java:573)
      10:19:40                    at java.util.HashMap.get(HashMap.java:558)
      10:19:40                    at net.bytebuddy.utility.dispatcher.JavaDispatcher$ProxiedInvocationHandler.invoke(JavaDispatcher.java:1143)
      10:19:40                    at net.bytebuddy.description.method.$Proxy44.getParameterCount(Unknown Source)
      10:19:40                    at net.bytebuddy.description.method.ParameterList$ForLoadedExecutable.size(ParameterList.java:226)
      10:19:40                    at net.bytebuddy.description.method.ParameterList$AbstractBase.asTypeList(ParameterList.java:105)
      10:19:40                    at net.bytebuddy.description.method.MethodDescription$AbstractBase.getStackSize(MethodDescription.java:463)
      10:19:40                    at net.bytebuddy.asm.Advice$ArgumentHandler$ForAdvice$Default$ForMethodEnter.mapped(Advice.java:4743)
      10:19:40                    at net.bytebuddy.asm.Advice$Dispatcher$Inlining$CodeTranslationVisitor.visitVarInsn(Advice.java:9335)
      10:19:40                    at net.bytebuddy.jar.asm.MethodVisitor.visitVarInsn(MethodVisitor.java:359)
      10:19:40                    at net.bytebuddy.jar.asm.ClassReader.readCode(ClassReader.java:2408)
      10:19:40                    at net.bytebuddy.jar.asm.ClassReader.readMethod(ClassReader.java:1514)
      10:19:40                    at net.bytebuddy.jar.asm.ClassReader.accept(ClassReader.java:744)
      10:19:40                    at net.bytebuddy.jar.asm.ClassReader.accept(ClassReader.java:424)
      10:19:40                    at net.bytebuddy.asm.Advice$Dispatcher$Inlining$Resolved$AdviceMethodInliner.apply(Advice.java:8325)
      10:19:40                    at net.bytebuddy.asm.Advice$AdviceVisitor.onAfterExceptionTable(Advice.java:10579)
      10:19:40                    at net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor.considerEndOfExceptionTable(ExceptionTableSensitiveMethodVisitor.java:49)
      10:19:40                    at net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor.visitLabel(ExceptionTableSensitiveMethodVisitor.java:81)
      10:19:40                    at net.bytebuddy.jar.asm.Label.accept(Label.java:358)
      10:19:40                    at net.bytebuddy.jar.asm.ClassReader.readCode(ClassReader.java:2057)
      10:19:40                    at net.bytebuddy.jar.asm.ClassReader.readMethod(ClassReader.java:1514)
      10:19:40                    at net.bytebuddy.jar.asm.ClassReader.accept(ClassReader.java:744)
      10:19:40                    at net.bytebuddy.jar.asm.ClassReader.accept(ClassReader.java:424)
      10:19:40                    at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining.create(TypeWriter.java:3951)
      10:19:40                    at net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:2213)
      10:19:40                    at net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder.make(RedefinitionDynamicTypeBuilder.java:224)
      10:19:40                    at net.bytebuddy.dynamic.scaffold.inline.AbstractInliningDynamicTypeBuilder.make(AbstractInliningDynamicTypeBuilder.java:123)
      10:19:40                    at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.make(DynamicType.java:3661)
      10:19:40                    at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.transform(InlineBytecodeGenerator.java:394)
      10:19:40                    at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
      10:19:40                    at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
      10:19:40                    at sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
      10:19:40                    at sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:144)
      10:19:40                    at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.triggerRetransformation(InlineBytecodeGenerator.java:276)
      10:19:40                    ... 16 more
      10:19:40
      10:19:40                    Caused by:
      10:19:40                    java.lang.NullPointerException
      10:19:40                        at java.util.concurrent.ThreadLocalRandom.getProbe(ThreadLocalRandom.java:980)
      10:19:40                        at java.util.concurrent.ConcurrentHashMap.fullAddCount(ConcurrentHashMap.java:2526)
      10:19:40                        at java.util.concurrent.ConcurrentHashMap.addCount(ConcurrentHashMap.java:2266)
      10:19:40                        at java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1166)
      10:19:40                        at java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097)
      10:19:40                        at org.mockito.internal.util.concurrent.WeakConcurrentMap.expungeStaleEntries(WeakConcurrentMap.java:139)
      10:19:40                        at org.mockito.internal.util.concurrent.WeakConcurrentMap$WithInlinedExpunction.containsKey(WeakConcurrentMap.java:272)
      10:19:40                        at org.mockito.internal.creation.bytebuddy.MockMethodAdvice.isMock(MockMethodAdvice.java:169)
      10:19:40                        at org.mockito.internal.creation.bytebuddy.MockMethodAdvice.isMocked(MockMethodAdvice.java:174)
      10:19:40                        at java.util.Hashtable.isEmpty(Hashtable.java:245)
      10:19:40                        at sun.misc.VM.getSavedProperty(VM.java:258)
      10:19:40                        at java.util.concurrent.ThreadLocalRandom.initialSeed(ThreadLocalRandom.java:139)
      10:19:40                        at java.util.concurrent.ThreadLocalRandom.<clinit>(ThreadLocalRandom.java:136)
      10:19:40                        ... 59 more
      
      MemoryAllocatorJUnitTest > testBasics FAILED
      10:22:14    java.lang.NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom
      10:22:14        at java.util.concurrent.ConcurrentSkipListMap.doPut(ConcurrentSkipListMap.java:857)
      10:22:14        at java.util.concurrent.ConcurrentSkipListMap.putIfAbsent(ConcurrentSkipListMap.java:1979)
      10:22:14        at java.util.concurrent.ConcurrentSkipListSet.add(ConcurrentSkipListSet.java:241)
      10:22:14        at org.apache.geode.internal.offheap.FreeListManager.freeHuge(FreeListManager.java:872)
      10:22:14        at org.apache.geode.internal.offheap.FreeListManager.free(FreeListManager.java:840)
      10:22:14        at org.apache.geode.internal.offheap.FreeListManager.free(FreeListManager.java:824)
      10:22:14        at org.apache.geode.internal.offheap.ReferenceCounterInstance.release(ReferenceCounterInstance.java:110)
      10:22:14        at org.apache.geode.internal.offheap.ReferenceCounterInstance.release(ReferenceCounterInstance.java:60)
      10:22:14        at org.apache.geode.internal.offheap.ReferenceCounter.release(ReferenceCounter.java:44)
      10:22:14        at org.apache.geode.internal.offheap.OffHeapStoredObject.release(OffHeapStoredObject.java:366)
      10:22:14        at org.apache.geode.internal.offheap.MemoryAllocatorJUnitTest.testBasics(MemoryAllocatorJUnitTest.java:191)
      10:22:27

      ===============  Test Results URI =================
      http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.1069/test-results/test/1649179431/
      =========================================

      Test report artifacts from this job are available at:

      http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.1069/test-artifacts/1649179431/unittestfiles-openjdk8-1.15.0-build.1069.tgz

      Attachments

        Activity

          People

            Unassigned Unassigned
            pjohnson Patrick Johnsn
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: