Dokka: StackOverflowError when running dokkaHtml task

Created on 18 Aug 2020  路  5Comments  路  Source: Kotlin/dokka

Describe the bug
StackOverflowError occurs when running dokkaHtml Gradle task.

Expected behaviour
Documentation to be built sucessfully

Screenshots
None

To Reproduce

  • Run dokkaHtml task.

I'm able to reproduce this bug on this project on commit https://github.com/blogify-dev/krate/commit/200bb00fb76fe9f85aa211948a800a66cbfe83ea
Traceback: https://pastify-app.web.app/show/e4A2CI6lXOh1QcQXMBaR

Dokka configuration
Configuration of dokka used to reproduce the bug

    dokkaHtml {
        outputDirectory = "$buildDir/dokka"

        dokkaSourceSets {
            configureEach {
                includeNonPublic = false

                skipDeprecated = true

                skipEmptyPackages = true

                jdkVersion = 8

                includes = listOf("docs/krate.md")

                externalDocumentationLink {
                    url = URL("https://docs.31416.dev/reflectr/")
                }

                perPackageOption {
                    prefix   = "krate.annotations"
                    suppress = true
                }

                perPackageOption {
                    prefix   = "krate.util"
                    suppress = true
                }

                sourceLink {
                    path = "./"

                    url = "https://github.com/blogify-dev/krate/blob/master/"

                    lineSuffix = "#L"
                }
            }
        }
    }

This configuration in the project used can be found here

Installation

  • Operating system: Linux (Fedora 32)
  • Build tool: Gradle v6.5
  • Dokka version: 1.4.0-rc

Additional context
None. If I missed anything or need to provide more information, please let me know.

bug high priority

All 5 comments

Same here, I am pasting the scan from Gradle https://scans.gradle.com/s/2xxjvct2sxl2s/failure#1 In windows with Gradle 6.6 does not happen on my other project, I will try this on Windows as well to see

Thanks for submitting this issue and thanks for pointing to a project with this issue 鈽猴笍
We will investigate this problem soon!

@Kordyjan
Here is the prepared project you can use for debugging 鈽猴笍
https://github.com/sellmair/krate/tree/dokka-bug-1342


Here is the Stacktrace


> Task :dokkaHtml FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':dokkaHtml'.
> java.lang.StackOverflowError (no error message)

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

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':dokkaHtml'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:207)
        at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:205)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:186)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:114)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:409)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:399)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:242)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:150)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:94)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:356)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: java.lang.StackOverflowError
        at org.jetbrains.kotlin.types.ErrorUtils.isError(ErrorUtils.java:547)
        at org.jetbrains.kotlin.resolve.DescriptorUtils.getFqNameSafeIfPossible(DescriptorUtils.java:99)
        at org.jetbrains.kotlin.resolve.DescriptorUtils.getFqNameSafe(DescriptorUtils.java:92)
        at org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt.getFqNameSafe(DescriptorUtils.kt:56)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.getConstructorName(TypeReferenceFactory.kt:51)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:38)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:35)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromProjection(TypeReferenceFactory.kt:47)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:39)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:35)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromProjection(TypeReferenceFactory.kt:47)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:39)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:35)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromProjection(TypeReferenceFactory.kt:47)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:39)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:35)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromProjection(TypeReferenceFactory.kt:47)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:39)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:35)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromProjection(TypeReferenceFactory.kt:47)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:39)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:35)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromProjection(TypeReferenceFactory.kt:47)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:39)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:35)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromProjection(TypeReferenceFactory.kt:47)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:39)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:35)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromProjection(TypeReferenceFactory.kt:47)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:39)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:35)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromProjection(TypeReferenceFactory.kt:47)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:39)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:35)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromProjection(TypeReferenceFactory.kt:47)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:39)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.fromPossiblyNullable(TypeReferenceFactory.kt:28)
        at org.jetbrains.dokka.analysis.TypeReferenceFactoryKt.from(TypeReferenceFactory.kt:35)

Fixed in builds:

  • 1.4.10-dev-52
  • 1.4.0-dev-48

Available in https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev

Thanks very much for the quick fix! 馃

Was this page helpful?
0 / 5 - 0 ratings

Related issues

fschoellhammer picture fschoellhammer  路  6Comments

simonbasle picture simonbasle  路  4Comments

gabrielittner picture gabrielittner  路  3Comments

xit0c picture xit0c  路  4Comments

Egorand picture Egorand  路  3Comments