deeplearning4j/deeplearning4j

Unable to use RemoteUIStatsStorageRouter

Opened this issue · 2 comments

Issue Description

I was unable to use the remove stat listener for the latest version.
Has the use been changed in any way or is this a mistake?

Server:

UIServer.getInstance().enableRemoteListener();

Client:

new StatsListener(
    new RemoteUIStatsStorageRouter(UI_HOST)
)

Version Information

  • Deeplearning4j 1.0.0-M2.1

Additional Information

o.d.c.s.impl.RemoteUIStatsStorageRouter  : Error posting to remote UI at http://localhost:9000/remoteReceive

java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:9000/remoteReceive
	at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
	at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:2055)
	at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:2050)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:2049)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1619)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1599)
	at org.deeplearning4j.core.storage.impl.RemoteUIStatsStorageRouter.tryPost(RemoteUIStatsStorageRouter.java:361)
	at org.deeplearning4j.core.storage.impl.RemoteUIStatsStorageRouter$PostRunnable.runHelper(RemoteUIStatsStorageRouter.java:267)
	at org.deeplearning4j.core.storage.impl.RemoteUIStatsStorageRouter$PostRunnable.run(RemoteUIStatsStorageRouter.java:241)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:9000/remoteReceive
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1998)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1599)
	at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:531)
	at org.deeplearning4j.core.storage.impl.RemoteUIStatsStorageRouter.tryPost(RemoteUIStatsStorageRouter.java:358)
	... 3 common frames omitted

@aeiplatform do you have anything from the server? This unfortunately doesn't actually give me the reason for the 500 error.

Doesn't seem to be logging anything even when they're on the same server.
Maybe it's relevant #10055

Because after I killed the process:

io.vertx.core.VertxException: Thread blocked
        at java.base/java.io.RandomAccessFile.readBytes0(Native Method)
        at java.base/java.io.RandomAccessFile.readBytes(RandomAccessFile.java:400)
        at java.base/java.io.RandomAccessFile.read(RandomAccessFile.java:434)
        at java.base/java.util.zip.ZipFile$Source.readAt(ZipFile.java:1541)
        at java.base/java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:956)
        at java.base/java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:463)
        at java.base/java.util.zip.InflaterInputStream.read(InflaterInputStream.java:175)
        at java.base/java.io.InputStream.transferTo(InputStream.java:796)
        at java.base/java.nio.file.Files.copy(Files.java:3151)
        at io.vertx.core.file.impl.FileResolver.unpackFromJarURL(FileResolver.java:296)
        at io.vertx.core.file.impl.FileResolver.unpackUrlResource(FileResolver.java:214)
        at io.vertx.core.file.impl.FileResolver.resolveFile(FileResolver.java:171)
        at io.vertx.core.impl.VertxImpl.resolveFile(VertxImpl.java:824)
        at io.vertx.core.http.impl.HttpServerResponseImpl.doSendFile(HttpServerResponseImpl.java:491)
        at io.vertx.core.http.impl.HttpServerResponseImpl.sendFile(HttpServerResponseImpl.java:431)
        at io.vertx.core.http.impl.HttpServerResponseImpl.sendFile(HttpServerResponseImpl.java:64)
        at io.vertx.core.http.HttpServerResponse.sendFile(HttpServerResponse.java:323)
        at io.vertx.core.http.HttpServerResponse.sendFile(HttpServerResponse.java:310)
        at org.deeplearning4j.ui.VertxUIServer.lambda$start$10(VertxUIServer.java:309)
        at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1038)
        at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:137)
        at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:132)
        at io.vertx.ext.web.handler.impl.BodyHandlerImpl$BHandler.doEnd(BodyHandlerImpl.java:296)
        at io.vertx.ext.web.handler.impl.BodyHandlerImpl$BHandler.end(BodyHandlerImpl.java:276)
        at io.vertx.ext.web.handler.impl.BodyHandlerImpl.lambda$handle$0(BodyHandlerImpl.java:87)
        at io.vertx.core.http.impl.HttpServerRequestImpl.onEnd(HttpServerRequestImpl.java:525)
        at io.vertx.core.http.impl.HttpServerRequestImpl.handleEnd(HttpServerRequestImpl.java:511)
        at io.vertx.core.http.impl.Http1xServerConnection.handleEnd(Http1xServerConnection.java:176)
        at io.vertx.core.http.impl.Http1xServerConnection.handleMessage(Http1xServerConnection.java:138)
        at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:366)
        at io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:43)
        at io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:229)
        at io.vertx.core.net.impl.VertxHandler.channelRead(VertxHandler.java:164)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
        at io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandler.channelRead(WebSocketServerExtensionHandler.java:91)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:1583)