Skip to content

NoClassDefFoundError during shutdown #513

@tzaeschke

Description

@tzaeschke

When running an executable from command line (with mvn compile exec:java) that uses dnsjava I get NoClassDefFoundError during shutdown (and shutdown hangs for 10 seconds):

java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: org/xbill/DNS/NioTcpClient$ChannelKey
    at org.xbill.DNS.NioTcpClient.closeTcp (NioTcpClient.java:70)
    at org.xbill.DNS.NioClient.runTasks (NioClient.java:174)
    at org.xbill.DNS.NioClient.close (NioClient.java:94)
    at org.xbill.DNS.NioClient.lambda$selector$0 (NioClient.java:64)
    at java.lang.Thread.run (Thread.java:750)
Caused by: java.lang.NoClassDefFoundError: org/xbill/DNS/NioTcpClient$ChannelKey
    at org.xbill.DNS.NioTcpClient.closeTcp (NioTcpClient.java:70)
    at org.xbill.DNS.NioClient.runTasks (NioClient.java:174)
    at org.xbill.DNS.NioClient.close (NioClient.java:94)
    at org.xbill.DNS.NioClient.lambda$selector$0 (NioClient.java:64)
    at java.lang.Thread.run (Thread.java:750)
Caused by: java.lang.ClassNotFoundException: org.xbill.DNS.NioTcpClient$ChannelKey
    at org.codehaus.mojo.exec.URLClassLoaderBuilder$ExecJavaClassLoader.loadClass (URLClassLoaderBuilder.java:211)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:351)
    at org.xbill.DNS.NioTcpClient.closeTcp (NioTcpClient.java:70)
    at org.xbill.DNS.NioClient.runTasks (NioClient.java:174)
    at org.xbill.DNS.NioClient.close (NioClient.java:94)
    at org.xbill.DNS.NioClient.lambda$selector$0 (NioClient.java:64)
    at java.lang.Thread.run (Thread.java:750)

Minimal example project: https://github.com/tzaeschke/exec-maven-plugin-issue

Workaround

The problem can be avoided by manually calling NioClient.close(); before exiting.

Note

I reported this also to the dnsjava project, but they suspect this should be fixed in the exec-maven-plugin: dnsjava/dnsjava#396 (comment)
A related issue as been reported before in #327, but that appears to be happening before shutdown.

Another user reported a similar issue during shutdown, but not in a separate issue: #327 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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