Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Index -1 out of bounds for length 0 (AdColony + io.michaelrocks.paranoid ? ) #304

Closed
4 of 6 tasks
MoNTE48 opened this issue Apr 6, 2022 · 8 comments · Fixed by #307
Closed
4 of 6 tasks

Index -1 out of bounds for length 0 (AdColony + io.michaelrocks.paranoid ? ) #304

MoNTE48 opened this issue Apr 6, 2022 · 8 comments · Fixed by #307
Assignees
Labels
bug Something isn't working Platform: Android

Comments

@MoNTE48
Copy link

MoNTE48 commented Apr 6, 2022

Android Gradle Plugin:
7.1.2

Gradle:
7.4.2

Optimizer:

  • ProGuard
  • R8

Have you created the sentry.properties file?

  • Yes -> where?
  • No

SDKs:

  • sentry-android -> which version? 5.7.1
  • sentry-react-native -> which version?

I have the following issue:

> Task :app:transformClassesWithParanoidForDebug FAILED
[sentry] Error while instrumenting e.p ()Ljava/lang/String;.
Please report this issue at https://github.com/getsentry/sentry-android-gradle-plugin/issues
java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 0
	at org.objectweb.asm.Frame.merge(Frame.java:1268)
	at org.objectweb.asm.Frame.merge(Frame.java:1244)
	at org.objectweb.asm.MethodWriter.computeAllFrames(MethodWriter.java:1610)
	at org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1546)
	at org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:773)
	at org.objectweb.asm.commons.LocalVariablesSorter.visitMaxs(LocalVariablesSorter.java:148)
	at org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:773)
	at io.sentry.android.gradle.instrumentation.util.CatchingMethodVisitor.visitMaxs(CatchingMethodVisitor.kt:24)
	at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:769)
	at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:649)
	at org.objectweb.asm.tree.ClassNode.accept(ClassNode.java:452)
	at io.sentry.android.gradle.instrumentation.util.AnalyzingVisitor.visitEnd(AnalyzingVisitor.kt:14)
	at org.objectweb.asm.ClassVisitor.visitEnd(ClassVisitor.java:377)
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:725)
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:401)
	at com.android.build.gradle.internal.instrumentation.AsmInstrumentationManager.doInstrumentClass(AsmInstrumentationManager.kt:220)
	at com.android.build.gradle.internal.instrumentation.AsmInstrumentationManager.instrumentClassToJar(AsmInstrumentationManager.kt:272)
	at com.android.build.gradle.internal.instrumentation.AsmInstrumentationManager.instrumentClassesFromJarToJar(AsmInstrumentationManager.kt:140)
	at com.android.build.gradle.internal.dependency.AsmClassesTransform.transform(AsmClassesTransform.kt:134)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformer.transform(DefaultTransformer.java:264)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformerInvocationFactory$AbstractTransformerExecution$1.call(DefaultTransformerInvocationFactory.java:296)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformerInvocationFactory$AbstractTransformerExecution$1.call(DefaultTransformerInvocationFactory.java:291)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformerInvocationFactory$AbstractTransformerExecution.execute(DefaultTransformerInvocationFactory.java:291)
	at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89)
	at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40)
	at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53)
	at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50)
	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40)
	at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68)
	at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38)
	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36)
	at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
	at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
	at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
	at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
	at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29)
	at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:61)
	at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:42)
	at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:60)
	at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:27)
	at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:180)
	at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:75)
	at org.gradle.internal.Either$Right.fold(Either.java:175)
	at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
	at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:73)
	at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:48)
	at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36)
	at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25)
	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:110)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:56)
	at java.base/java.util.Optional.orElseGet(Optional.java:369)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:56)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:73)
	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:89)
	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50)
	at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:114)
	at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:76)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:50)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:249)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:86)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:54)
	at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
	at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
	at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:43)
	at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:31)
	at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
	at org.gradle.internal.execution.workspace.impl.DefaultImmutableWorkspaceProvider.lambda$withWorkspace$3(DefaultImmutableWorkspaceProvider.java:124)
	at org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess.withFileLock(LockOnDemandCrossProcessCacheAccess.java:90)
	at org.gradle.cache.internal.DefaultCacheAccess.withFileLock(DefaultCacheAccess.java:191)
	at org.gradle.cache.internal.DefaultPersistentDirectoryStore.withFileLock(DefaultPersistentDirectoryStore.java:188)
	at org.gradle.cache.internal.DefaultCacheFactory$ReferenceTrackingCache.withFileLock(DefaultCacheFactory.java:209)
	at org.gradle.internal.execution.workspace.impl.DefaultImmutableWorkspaceProvider.withWorkspace(DefaultImmutableWorkspaceProvider.java:121)
	at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
	at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
	at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
	at org.gradle.internal.execution.steps.IdentityCacheStep.lambda$executeDeferred$0(IdentityCacheStep.java:49)
	at org.gradle.cache.Cache.lambda$get$0(Cache.java:31)
	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
	at org.gradle.cache.ManualEvictionInMemoryCache.get(ManualEvictionInMemoryCache.java:30)
	at org.gradle.cache.internal.DefaultCrossBuildInMemoryCacheFactory$CrossBuildCacheRetainingDataFromPreviousBuild.get(DefaultCrossBuildInMemoryCacheFactory.java:255)
	at org.gradle.cache.Cache.get(Cache.java:31)
	at org.gradle.internal.execution.steps.IdentityCacheStep.lambda$executeDeferred$1(IdentityCacheStep.java:47)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformerInvocationFactory$1.lambda$processDeferredOutput$0(DefaultTransformerInvocationFactory.java:153)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformerInvocationFactory.fireTransformListeners(DefaultTransformerInvocationFactory.java:185)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformerInvocationFactory.access$000(DefaultTransformerInvocationFactory.java:70)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformerInvocationFactory$1.lambda$processDeferredOutput$1(DefaultTransformerInvocationFactory.java:152)
	at org.gradle.api.internal.artifacts.transform.CacheableInvocation$3.invoke(CacheableInvocation.java:110)
	at org.gradle.api.internal.artifacts.transform.CacheableInvocation$1.invoke(CacheableInvocation.java:58)
	at org.gradle.api.internal.artifacts.transform.TransformingAsyncArtifactListener$TransformedArtifact.finalizeValue(TransformingAsyncArtifactListener.java:203)
	at org.gradle.api.internal.artifacts.transform.TransformingAsyncArtifactListener$TransformedArtifact.run(TransformingAsyncArtifactListener.java:136)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$QueueWorker.execute(DefaultBuildOperationExecutor.java:238)
	at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runOperation(DefaultBuildOperationQueue.java:266)
	at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.doRunBatch(DefaultBuildOperationQueue.java:247)
	at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$0(DefaultBuildOperationQueue.java:237)
	at org.gradle.internal.resources.AbstractResourceLockRegistry.whileDisallowingLockChanges(AbstractResourceLockRegistry.java:69)
	at org.gradle.internal.work.DefaultWorkerLeaseService.whileDisallowingProjectLockChanges(DefaultWorkerLeaseService.java:242)
	at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$1(DefaultBuildOperationQueue.java:237)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:270)
	at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:119)
	at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runBatch(DefaultBuildOperationQueue.java:223)
	at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.run(DefaultBuildOperationQueue.java:191)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Unable to find common super type for java/lang/Throwable and io/sentry/instrumentation/file/SentryFileReader.
Unable to find common super type for java/lang/Throwable and io/sentry/instrumentation/file/SentryFileReader.
Unable to find common super type for io/sentry/instrumentation/file/SentryFileReader and java/io/BufferedReader.
Unable to find common super type for io/sentry/instrumentation/file/SentryFileReader and java/lang/Object.
Unable to find common super type for java/lang/Exception and io/sentry/instrumentation/file/SentryFileReader.
Unable to find common super type for java/lang/String and com/google/android/gms/ads/identifier/AdvertisingIdClient$Info.
Unable to find common super type for java/lang/Object and com/google/android/gms/ads/identifier/AdvertisingIdClient$Info.
Unable to find common super type for java/lang/NoClassDefFoundError and com/google/android/gms/appset/AppSetIdClient.
Unable to find common super type for java/lang/NoClassDefFoundError and com/google/android/gms/common/GoogleApiAvailabilityLight.

Execution failed for task ':app:transformClassesWithParanoidForDebug'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Failed to transform sdk-4.7.1.aar (com.adcolony:sdk:4.7.1) to match attributes {artifactType=android-asm-instrumented-jars, asm-transformed-variant=debug, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
      > Execution failed for AsmClassesTransform: /Users/admin/.gradle/caches/transforms-3/de189f87bb94a05cb25347599b77df1b/transformed/jetified-sdk-4.7.1-runtime.jar.
         > Index -1 out of bounds for length 0

* 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.

Steps to reproduce:

  • Step

Actual result:

  • Actual

Expected result:

  • Result
@MoNTE48 MoNTE48 changed the title Index -1 out of bounds for length 0 (AdColony Index -1 out of bounds for length 0 (AdColony + o.michaelrocks.paranoid ? ) Apr 6, 2022
@MoNTE48 MoNTE48 changed the title Index -1 out of bounds for length 0 (AdColony + o.michaelrocks.paranoid ? ) Index -1 out of bounds for length 0 (AdColony + io.michaelrocks.paranoid ? ) Apr 6, 2022
@marandaneto
Copy link
Contributor

marandaneto commented Apr 8, 2022

@MoNTE48 thanks for reporting, we'll look into it, meanwhile try to disable the tracingInstrumentation in your plugin configuration -> https://docs.sentry.io/platforms/android/gradle/
That should work for now.

@MoNTE48
Copy link
Author

MoNTE48 commented Apr 8, 2022

Okay, disabling tracingInstrumentation worked for me.

@MoNTE48
Copy link
Author

MoNTE48 commented Apr 8, 2022

By the way, new warnings appeared:

Missing class com.bytedance.JProtect (referenced from: void com.bytedance.sdk.openadsdk.c.e.a(android.content.Context, com.bytedance.sdk.openadsdk.core.f.l, java.lang.String, java.util.Map, java.lang.Double) and 32 other contexts)
Missing class io.sentry.android.fragment.FragmentLifecycleIntegration (referenced from: void io.sentry.android.core.AndroidOptionsInitializer.installDefaultIntegrations(android.content.Context, io.sentry.SentryOptions, io.sentry.android.core.IBuildInfoProvider, io.sentry.android.core.LoadClass, io.sentry.android.core.ActivityFramesTracker, boolean, boolean) and 1 other context)
Missing class io.sentry.android.timber.SentryTimberIntegration (referenced from: void io.sentry.android.core.AndroidOptionsInitializer.installDefaultIntegrations(android.content.Context, io.sentry.SentryOptions, io.sentry.android.core.IBuildInfoProvider, io.sentry.android.core.LoadClass, io.sentry.android.core.ActivityFramesTracker, boolean, boolean) and 1 other context)

@marandaneto marandaneto added the bug Something isn't working label Apr 8, 2022
@romtsn
Copy link
Member

romtsn commented Apr 9, 2022

@MoNTE48 the first one isn't from us, the last 2 should be ignored, because we are checking at runtime for those classes to be present on the classpath before hitting that code.

@MoNTE48
Copy link
Author

MoNTE48 commented Apr 9, 2022

Okay. If you need more details from me or have anything else to test, just let me know!

@romtsn
Copy link
Member

romtsn commented Apr 10, 2022

sure, thanks for your assistance! I've managed to reproduce the issue, now looking into fixing it.

@romtsn
Copy link
Member

romtsn commented Apr 12, 2022

@MoNTE48 this has been fixed and shipped as part of 3.1.0-beta.1, could you give it a try please? (with enabling tracingInstrumentation option back)

@MoNTE48
Copy link
Author

MoNTE48 commented Apr 12, 2022

@romtsn, 3.1.0-beta.1 fixes this issue. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Platform: Android
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants