[undertow-dev] Java 9: sun.misc.Cleaner not found

Tomaz Cerar tcerar at redhat.com
Tue Oct 10 04:14:43 EDT 2017


JDK9 encapsulates the private classes properly now.

adding something like --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
to your command line should probably fix it.

On Mon, Oct 9, 2017 at 6:49 PM, Hicks, Matt <matt at matthicks.com> wrote:

> I just updated to Java 9 and have started getting the following exception:
>
> exampleJVM[ERROR] Oct 09, 2017 11:45:35 AM io.undertow.server.DirectByteBufferDeallocator
> <clinit>
> exampleJVM[ERROR] ERROR: UT005091: Failed to initialize
> DirectByteBufferDeallocator
> exampleJVM[ERROR] java.lang.ClassNotFoundException: sun.misc.Cleaner
> exampleJVM[ERROR] at java.base/jdk.internal.loader.
> BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
> exampleJVM[ERROR] at java.base/jdk.internal.loader.
> ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
> exampleJVM[ERROR] at java.base/java.lang.ClassLoader.loadClass(
> ClassLoader.java:496)
> exampleJVM[ERROR] at java.base/java.lang.Class.forName0(Native Method)
> exampleJVM[ERROR] at java.base/java.lang.Class.forName(Class.java:292)
> exampleJVM[ERROR] at io.undertow.server.DirectByteBufferDeallocator.<
> clinit>(DirectByteBufferDeallocator.java:23)
> exampleJVM[ERROR] at io.undertow.server.DefaultByteBufferPool.
> queueIfUnderMax(DefaultByteBufferPool.java:207)
> exampleJVM[ERROR] at io.undertow.server.DefaultByteBufferPool.
> freeInternal(DefaultByteBufferPool.java:199)
> exampleJVM[ERROR] at io.undertow.server.DefaultByteBufferPool.access$
> 200(DefaultByteBufferPool.java:41)
> exampleJVM[ERROR] at io.undertow.server.DefaultByteBufferPool$
> DefaultPooledBuffer.close(DefaultByteBufferPool.java:269)
> exampleJVM[ERROR] at io.undertow.conduits.DeflatingStreamSinkConduit.
> deflateData(DeflatingStreamSinkConduit.java:495)
> exampleJVM[ERROR] at io.undertow.conduits.DeflatingStreamSinkConduit.
> write(DeflatingStreamSinkConduit.java:117)
> exampleJVM[ERROR] at io.undertow.conduits.DeflatingStreamSinkConduit.
> write(DeflatingStreamSinkConduit.java:138)
> exampleJVM[ERROR] at org.xnio.conduits.ConduitStreamSinkChannel.write(
> ConduitStreamSinkChannel.java:154)
> exampleJVM[ERROR] at io.undertow.channels.DetachableStreamSinkChannel.
> write(DetachableStreamSinkChannel.java:187)
> exampleJVM[ERROR] at io.undertow.server.HttpServerExchange$
> WriteDispatchChannel.write(HttpServerExchange.java:2046)
> exampleJVM[ERROR] at io.undertow.io.AsyncSenderImpl.send(
> AsyncSenderImpl.java:219)
> exampleJVM[ERROR] at io.undertow.io.AsyncSenderImpl.send(
> AsyncSenderImpl.java:310)
> exampleJVM[ERROR] at io.undertow.io.AsyncSenderImpl.send(
> AsyncSenderImpl.java:282)
> exampleJVM[ERROR] at io.youi.server.UndertowServerImplementation$.
> handleStandard(UndertowServerImplementation.scala:250)
> exampleJVM[ERROR] at io.youi.server.UndertowServerImplementation$.
> response(UndertowServerImplementation.scala:169)
> exampleJVM[ERROR] at io.youi.server.UndertowServerImplementation.$
> anonfun$requestHandler$1(UndertowServerImplementation.scala:100)
> exampleJVM[ERROR] at io.youi.server.UndertowServerImplementation.$
> anonfun$requestHandler$1$adapted(UndertowServerImplementation.scala:97)
> exampleJVM[ERROR] at io.youi.server.UndertowServerImplementation$.
> handle$1(UndertowServerImplementation.scala:126)
> exampleJVM[ERROR] at io.youi.server.UndertowServerImplementation$.
> processRequest(UndertowServerImplementation.scala:162)
> exampleJVM[ERROR] at io.youi.server.UndertowServerImplementation.
> requestHandler(UndertowServerImplementation.scala:97)
> exampleJVM[ERROR] at io.youi.server.UndertowServerImplementation.$
> anonfun$handleRequest$1(UndertowServerImplementation.scala:90)
> exampleJVM[ERROR] at io.youi.ErrorSupport.errorSupport(ErrorSupport.
> scala:11)
> exampleJVM[ERROR] at io.youi.ErrorSupport.errorSupport$(ErrorSupport.
> scala:10)
> exampleJVM[ERROR] at io.youi.example.ServerExampleApplication$.
> errorSupport(ServerExampleApplication.scala:8)
> exampleJVM[ERROR] at io.youi.server.UndertowServerImplementation.
> handleRequest(UndertowServerImplementation.scala:74)
> exampleJVM[ERROR] at io.undertow.server.handlers.encoding.EncodingHandler.
> handleRequest(EncodingHandler.java:72)
> exampleJVM[ERROR] at io.undertow.server.Connectors.
> executeRootHandler(Connectors.java:332)
> exampleJVM[ERROR] at io.undertow.server.protocol.http.HttpReadListener.
> handleEventWithNoRunningRequest(HttpReadListener.java:254)
> exampleJVM[ERROR] at io.undertow.server.protocol.http.HttpReadListener.
> handleEvent(HttpReadListener.java:136)
> exampleJVM[ERROR] at io.undertow.server.protocol.http.HttpOpenListener.
> handleEvent(HttpOpenListener.java:151)
> exampleJVM[ERROR] at io.undertow.server.protocol.http.HttpOpenListener.
> handleEvent(HttpOpenListener.java:92)
> exampleJVM[ERROR] at io.undertow.server.protocol.http.HttpOpenListener.
> handleEvent(HttpOpenListener.java:51)
> exampleJVM[ERROR] at org.xnio.ChannelListeners.invokeChannelListener(
> ChannelListeners.java:92)
> exampleJVM[ERROR] at org.xnio.ChannelListeners$10.
> handleEvent(ChannelListeners.java:291)
> exampleJVM[ERROR] at org.xnio.ChannelListeners$10.
> handleEvent(ChannelListeners.java:286)
> exampleJVM[ERROR] at org.xnio.ChannelListeners.invokeChannelListener(
> ChannelListeners.java:92)
> exampleJVM[ERROR] at org.xnio.nio.QueuedNioTcpServer$1.run(
> QueuedNioTcpServer.java:129)
> exampleJVM[ERROR] at org.xnio.nio.WorkerThread.
> safeRun(WorkerThread.java:582)
> exampleJVM[ERROR] at org.xnio.nio.WorkerThread.run(WorkerThread.java:466)
>
> _______________________________________________
> undertow-dev mailing list
> undertow-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/undertow-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/undertow-dev/attachments/20171010/88546da3/attachment.html 


More information about the undertow-dev mailing list