Skip to content

Kotlin 2.3.20 compatibility issue (works with Kotlin 2.3.0) #2159

@xRomZak

Description

@xRomZak

Library Version

  • graphql-kotlin 9.0.0
  • kotlin 2.3.20
  • JDK 25.0.2

Describe the bug
Unexpected reflection error after upgrade to Kotlin 2.3.20

Exception in thread "main" kotlin.reflect.jvm.internal.KotlinReflectionInternalError: Unsupported parameter owner: null
	at kotlin.reflect.jvm.internal.ReflectKParameterKt.getJavaParameter(ReflectKParameter.kt:82)
	at kotlin.reflect.jvm.internal.ReflectKParameter.annotations_delegate$lambda$0(ReflectKParameter.kt:24)
	at kotlin.reflect.jvm.internal.ReflectKParameter.accessor$ReflectKParameter$lambda0(ReflectKParameter.kt)
	at kotlin.reflect.jvm.internal.ReflectKParameter$$Lambda$0.invoke(Unknown Source)
	at kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:125)
	at kotlin.reflect.jvm.internal.ReflectKParameter.getAnnotations(ReflectKParameter.kt:23)
	at com.expediagroup.graphql.generator.internal.extensions.AnnotationExtensionsKt.isGraphQLIgnored(annotationExtensions.kt:69)
	at com.expediagroup.graphql.generator.internal.extensions.KPropertyExtensionsKt.isPropertyGraphQLIgnored(kPropertyExtensions.kt:29)
	at com.expediagroup.graphql.generator.internal.filters.PropertyFiltersKt.isPropertyNotGraphQLIgnored$lambda$1(propertyFilters.kt:37)
	at com.expediagroup.graphql.generator.internal.extensions.KClassExtensionsKt.getValidProperties(kClassExtensions.kt:44)
	at com.expediagroup.graphql.generator.internal.types.GenerateDirectiveKt.getDirective$lambda$6(generateDirective.kt:84)
	at com.expediagroup.graphql.generator.internal.types.GenerateDirectiveKt.getDirective$lambda$7(generateDirective.kt:69)
	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1724)
	at com.expediagroup.graphql.generator.internal.types.GenerateDirectiveKt.getDirective(generateDirective.kt:69)
	at com.expediagroup.graphql.generator.internal.types.GenerateDirectiveKt.generateDirectives(generateDirective.kt:53)
	at com.expediagroup.graphql.generator.internal.types.GeneratePropertyKt.generateProperty(generateProperty.kt:50)
	at com.expediagroup.graphql.generator.internal.types.GenerateObjectKt.generateObject(generateObject.kt:61)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.getGraphQLType(generateGraphQLType.kt:106)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.objectFromReflection$lambda$1(generateGraphQLType.kt:67)
	at com.expediagroup.graphql.generator.internal.state.TypesCache.buildIfNotUnderConstruction$graphql_kotlin_schema_generator(TypesCache.kt:150)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.objectFromReflection(generateGraphQLType.kt:66)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.generateGraphQLType(generateGraphQLType.kt:45)
	at com.expediagroup.graphql.generator.internal.types.GeneratePropertyKt.generateProperty(generateProperty.kt:38)
	at com.expediagroup.graphql.generator.internal.types.GenerateInterfaceKt.generateInterface(generateInterface.kt:58)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.getGraphQLType(generateGraphQLType.kt:104)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.objectFromReflection$lambda$1(generateGraphQLType.kt:67)
	at com.expediagroup.graphql.generator.internal.state.TypesCache.buildIfNotUnderConstruction$graphql_kotlin_schema_generator(TypesCache.kt:150)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.objectFromReflection(generateGraphQLType.kt:66)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.generateGraphQLType(generateGraphQLType.kt:45)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.generateGraphQLType$default(generateGraphQLType.kt:41)
	at com.expediagroup.graphql.generator.internal.types.GenerateObjectKt.generateObject(generateObject.kt:52)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.getGraphQLType(generateGraphQLType.kt:106)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.objectFromReflection$lambda$1(generateGraphQLType.kt:67)
	at com.expediagroup.graphql.generator.internal.state.TypesCache.buildIfNotUnderConstruction$graphql_kotlin_schema_generator(TypesCache.kt:150)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.objectFromReflection(generateGraphQLType.kt:66)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.generateGraphQLType(generateGraphQLType.kt:45)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.generateGraphQLType$default(generateGraphQLType.kt:41)
	at com.expediagroup.graphql.generator.internal.types.GenerateUnionKt.createUnion(generateUnion.kt:84)
	at com.expediagroup.graphql.generator.internal.types.GenerateUnionKt.generateUnionFromKClass(generateUnion.kt:76)
	at com.expediagroup.graphql.generator.internal.types.GenerateUnionKt.generateUnion(generateUnion.kt:39)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.getGraphQLType(generateGraphQLType.kt:98)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.objectFromReflection$lambda$1(generateGraphQLType.kt:67)
	at com.expediagroup.graphql.generator.internal.state.TypesCache.buildIfNotUnderConstruction$graphql_kotlin_schema_generator(TypesCache.kt:150)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.objectFromReflection(generateGraphQLType.kt:66)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.generateGraphQLType(generateGraphQLType.kt:45)
	at com.expediagroup.graphql.generator.internal.types.GenerateListKt.generateList(generateList.kt:25)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.getGraphQLType(generateGraphQLType.kt:97)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.objectFromReflection$lambda$1(generateGraphQLType.kt:67)
	at com.expediagroup.graphql.generator.internal.state.TypesCache.buildIfNotUnderConstruction$graphql_kotlin_schema_generator(TypesCache.kt:140)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.objectFromReflection(generateGraphQLType.kt:66)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.generateGraphQLType(generateGraphQLType.kt:45)
	at com.expediagroup.graphql.generator.internal.types.GeneratePropertyKt.generateProperty(generateProperty.kt:38)
	at com.expediagroup.graphql.generator.internal.types.GenerateObjectKt.generateObject(generateObject.kt:61)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.getGraphQLType(generateGraphQLType.kt:106)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.objectFromReflection$lambda$1(generateGraphQLType.kt:67)
	at com.expediagroup.graphql.generator.internal.state.TypesCache.buildIfNotUnderConstruction$graphql_kotlin_schema_generator(TypesCache.kt:150)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.objectFromReflection(generateGraphQLType.kt:66)
	at com.expediagroup.graphql.generator.internal.types.GenerateGraphQLTypeKt.generateGraphQLType(generateGraphQLType.kt:45)
	at com.expediagroup.graphql.generator.internal.types.GenerateFunctionKt.generateFunction(generateFunction.kt:56)
	at com.expediagroup.graphql.generator.internal.types.GenerateFunctionKt.generateFunction$default(generateFunction.kt:34)
	at com.expediagroup.graphql.generator.internal.types.GenerateQueryKt.generateQueries(generateQuery.kt:43)
	at com.expediagroup.graphql.generator.SchemaGenerator.generateSchema(SchemaGenerator.kt:80)
	at com.expediagroup.graphql.generator.SchemaGenerator.generateSchema$default(SchemaGenerator.kt:58)
	at com.expediagroup.graphql.generator.ToSchemaKt.toSchema(toSchema.kt:43)
	at com.expediagroup.graphql.generator.ToSchemaKt.toSchema$default(toSchema.kt:33)

To Reproduce
Steps to reproduce the behavior. Please provide:

  • Schema Configuration
  • Kotlin code used to generate the schema

Expected behavior
A schema is generated

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions