forked from square/dagger
-
Notifications
You must be signed in to change notification settings - Fork 2k
Closed
Description
The following code works fine on 2.55:
@Component(modules = [ReproModule::class])
interface Repro {
fun repro(): suspend ((String) -> Unit) -> Unit
}
@Module
class ReproModule {
@Provides
fun repro(): suspend ((String) -> Unit) -> Unit = {
}
}
When upgrading to 2.56.1 I started observing a ksp failure:
> Task :app:kspDevDebugKotlin FAILED
e: [ksp] java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302)
at java.base/java.util.Objects.checkIndex(Objects.java:365)
at java.base/java.util.ArrayList.get(ArrayList.java:428)
at dagger.internal.codegen.xprocessing.Nullability.getAnnotatedTypeName(Nullability.java:91)
at dagger.internal.codegen.xprocessing.Nullability.getAnnotatedTypeName(Nullability.java:90)
at dagger.internal.codegen.xprocessing.Nullability.getTypeNameWithNullableAnnotations(Nullability.java:79)
at dagger.internal.codegen.xprocessing.MethodSpecs.overriding(MethodSpecs.java:42)
at dagger.internal.codegen.writing.ComponentRequestRepresentations.getComponentMethod(ComponentRequestRepresentations.java:190)
at dagger.internal.codegen.writing.ComponentImplementation$ShardImplementation.addInterfaceMethods(ComponentImplementation.java:925)
at dagger.internal.codegen.writing.ComponentImplementation$ShardImplementation.generate(ComponentImplementation.java:757)
at dagger.internal.codegen.writing.ComponentImplementation.generate(ComponentImplementation.java:450)
at dagger.internal.codegen.componentgenerator.ComponentGenerator.topLevelTypes(ComponentGenerator.java:61)
at dagger.internal.codegen.componentgenerator.ComponentGenerator.topLevelTypes(ComponentGenerator.java:32)
at dagger.internal.codegen.base.SourceFileGenerator.generate(SourceFileGenerator.java:73)
at dagger.internal.codegen.base.SourceFileGenerator.generate(SourceFileGenerator.java:68)
at dagger.internal.codegen.processingstep.ComponentProcessingStep.generateComponent(ComponentProcessingStep.java:137)
at dagger.internal.codegen.processingstep.ComponentProcessingStep.processRootComponent(ComponentProcessingStep.java:115)
at dagger.internal.codegen.processingstep.ComponentProcessingStep.process(ComponentProcessingStep.java:83)
at dagger.internal.codegen.processingstep.ComponentProcessingStep.process(ComponentProcessingStep.java:48)
at dagger.internal.codegen.processingstep.TypeCheckingProcessingStep.lambda$process$0(TypeCheckingProcessingStep.java:96)
at com.google.common.collect.RegularImmutableMap.forEach(RegularImmutableMap.java:300)
at dagger.internal.codegen.processingstep.TypeCheckingProcessingStep.process(TypeCheckingProcessingStep.java:74)
at dagger.internal.codegen.processingstep.TypeCheckingProcessingStep.process(TypeCheckingProcessingStep.java:49)
at dagger.spi.internal.shaded.androidx.room.compiler.processing.XProcessingStep.process(XProcessingStep.kt:57)
at dagger.spi.internal.shaded.androidx.room.compiler.processing.CommonProcessorDelegate.processRound(XBasicAnnotationProcessor.kt:134)
at dagger.spi.internal.shaded.androidx.room.compiler.processing.ksp.KspBasicAnnotationProcessor.process(KspBasicAnnotationProcessor.kt:62)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$8$1.invoke(KotlinSymbolProcessingExtension.kt:320)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$8$1.invoke(KotlinSymbolProcessingExtension.kt:318)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.handleException(KotlinSymbolProcessingExtension.kt:430)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:318)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:112)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:75)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze$lambda$7(KotlinToJVMBytecodeCompiler.kt:326)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:112)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:317)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.runFrontendAndGenerateIrUsingClassicFrontend(KotlinToJVMBytecodeCompiler.kt:154)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:75)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:167)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:36)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:113)
at org.jetbrains.kotlin.cli.common.CLICompiler.exec(CLICompiler.kt:337)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1700)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:714)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1575)
Im not sure if this is the root cause why I started observing the issue in my main $workproject, but I see a similar error stacktrace.
I haven't found anything related in the relase notes so I figured it's worth reporting an issue
Metadata
Metadata
Assignees
Labels
No labels