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

Dokka 1.6.20 maven plugin in multi-module project fails with "DefaultDispatcher was terminated" #2457

Closed
josephlbarnett opened this issue Apr 21, 2022 · 2 comments · Fixed by #2461
Labels

Comments

@josephlbarnett
Copy link

Describe the bug
Dokka generation fails in the second run module of a multi-module maven project since version 1.6.20 with "DefaultDispatcher was terminated"

If we use the -rf maven reactor argument to resume the build, the failing module passes, and then the subsequent one fails, perhaps some module level cleanup has cleaned up too much?

Entire build passes with dokka 1.6.10

Expected behaviour
Dokka generates documentation and the build succeeds

To Reproduce
Seeing this in builds of https://github.com/trib3/leakycauldron/
https://app.circleci.com/pipelines/github/trib3/leakycauldron/3047/workflows/4cb66bdd-2e79-401a-afdc-cbd6253e2bc3/jobs/3169

Installation

  • Operating system: Linux
  • Build tool: Maven
  • Dokka version: 1.6.20

stack trace from running maven with -e:

Execution default of goal org.jetbrains.dokka:dokka-maven-plugin:1.6.20:dokka failed: DefaultDispatcher was terminated
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default of goal org.jetbrains.dokka:dokka-maven-plugin:1.6.20:dokka failed: DefaultDispatcher was terminated
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:148)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.util.concurrent.RejectedExecutionException: DefaultDispatcher was terminated
    at kotlinx.coroutines.scheduling.CoroutineScheduler.dispatch (CoroutineScheduler.kt:392)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.dispatch$default (CoroutineScheduler.kt:383)
    at kotlinx.coroutines.scheduling.SchedulerCoroutineDispatcher.dispatch (Dispatcher.kt:97)
    at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith (DispatchedContinuation.kt:322)
    at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable (Cancellable.kt:30)
    at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default (Cancellable.kt:25)
    at kotlinx.coroutines.CoroutineStart.invoke (CoroutineStart.kt:110)
    at kotlinx.coroutines.AbstractCoroutine.start (AbstractCoroutine.kt:126)
    at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking (Builders.kt:58)
    at kotlinx.coroutines.BuildersKt.runBlocking (Unknown Source)
    at org.jetbrains.dokka.base.generation.SingleModuleGeneration.createDocumentationModels (SingleModuleGeneration.kt:57)
    at org.jetbrains.dokka.base.generation.SingleModuleGeneration.generate (SingleModuleGeneration.kt:28)
    at org.jetbrains.dokka.DokkaGenerator$generate$1.invoke (DokkaGenerator.kt:29)
    at org.jetbrains.dokka.DokkaGenerator$generate$1.invoke (DokkaGenerator.kt:17)
    at org.jetbrains.dokka.DokkaGeneratorKt.timed (DokkaGenerator.kt:76)
    at org.jetbrains.dokka.DokkaGeneratorKt.access$timed (DokkaGenerator.kt:1)
    at org.jetbrains.dokka.DokkaGenerator.generate (DokkaGenerator.kt:22)
    at org.jetbrains.dokka.maven.AbstractDokkaMojo.execute (DokkaMojo.kt:269)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
@IgnatBeresnev
Copy link
Member

Hi! Thanks for the report.

Indeed, it looks like regression, most likely caused by #2325

What happens is coroutine dispacthers get shut down after each module pass now to avoid possible resource leaks. It works for gradle just fine, but it seems like maven has different module life cycle or something when it comes to multi-module projects.

I've created a PR, I'll try to get it included in 1.6.21: #2461

@IgnatBeresnev
Copy link
Member

Will be published in 1.6.21 later today

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants