GravitLauncher / LauncherRuntime

MIT License
11 stars 55 forks source link

Ошибка Permissions denied #108

Closed microwin7 closed 1 year ago

microwin7 commented 1 year ago
pro.gravit.launcher.request.RequestException: Permissions denied
    at pro.gravit.launcher.request.websockets.StdWebSocketService.eventHandle
    at pro.gravit.launcher.request.websockets.ClientWebSocketService.onMessage
    at pro.gravit.launcher.request.websockets.WebSocketClientHandler.channelRead0
    at pro.gravit.repackage.io.netty.channel.SimpleChannelInboundHandler.channelRead
    at pro.gravit.repackage.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead
    at pro.gravit.repackage.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead
    at pro.gravit.repackage.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead
    at pro.gravit.repackage.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead
    at pro.gravit.repackage.io.netty.handler.codec.ByteToMessageDecoder.channelRead
    at pro.gravit.repackage.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead
    at pro.gravit.repackage.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead
    at pro.gravit.repackage.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead
    at pro.gravit.repackage.io.netty.handler.ssl.SslHandler.unwrap
    at pro.gravit.repackage.io.netty.handler.ssl.SslHandler.decodeJdkCompatible
    at pro.gravit.repackage.io.netty.handler.ssl.SslHandler.decode
    at pro.gravit.repackage.io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection
    at pro.gravit.repackage.io.netty.handler.codec.ByteToMessageDecoder.callDecode
    at pro.gravit.repackage.io.netty.handler.codec.ByteToMessageDecoder.channelRead
    at pro.gravit.repackage.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead
    at pro.gravit.repackage.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead
    at pro.gravit.repackage.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead
    at pro.gravit.repackage.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead
    at pro.gravit.repackage.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead
    at pro.gravit.repackage.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead
    at pro.gravit.repackage.io.netty.channel.DefaultChannelPipeline.fireChannelRead
    at pro.gravit.repackage.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read
    at pro.gravit.repackage.io.netty.channel.nio.NioEventLoop.processSelectedKey
    at pro.gravit.repackage.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized
    at pro.gravit.repackage.io.netty.channel.nio.NioEventLoop.processSelectedKeys
    at pro.gravit.repackage.io.netty.channel.nio.NioEventLoop.run
    at pro.gravit.repackage.io.netty.util.concurrent.SingleThreadEventExecutor$4.run
    at pro.gravit.repackage.io.netty.util.internal.ThreadExecutorMap$2.run
    at java.lang.Thread.run
microwin7 commented 1 year ago

image 10 случаев за 6.5 часов

microwin7 commented 1 year ago

image Ошибка повторилась 26 раз, после чего утром прекратилась в 10:33 UTC+3 При этом ошибка происходила только на тех лаунчерах, которые не были перезапущены до и после рестарта лаунчера и билда. Новый билд уже с перезапущенным лаунчсервером около часа ночи, ошибок не было. Предполагаю что через некоторое время ошибка начнёт повторяться image

microwin7 commented 1 year ago

Ошибки снова начали продолжаться предполагаю что ошибка связанная, в это же время на лаунчсервере с последней ошибкой

2023-02-25 14:32:34.007 [epollEventLoopGroup-3-5] ERROR pro.gravit.launchserver.socket.response.update.LauncherResponse.LauncherTokenVerifier - JWT check failed
io.jsonwebtoken.ExpiredJwtException: JWT expired at 2023-02-25T06:37:56Z. Current time: 2023-02-25T14:32:34Z, a difference of 28478006 milliseconds.  Allowed clock skew: 0 milliseconds.
    at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:427) ~[jjwt-impl-0.11.5.jar:0.11.5]
    at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:529) ~[jjwt-impl-0.11.5.jar:0.11.5]
    at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:589) ~[jjwt-impl-0.11.5.jar:0.11.5]
    at io.jsonwebtoken.impl.ImmutableJwtParser.parseClaimsJws(ImmutableJwtParser.java:173) ~[jjwt-impl-0.11.5.jar:0.11.5]
    at pro.gravit.launchserver.socket.response.update.LauncherResponse$LauncherTokenVerifier.accept(LauncherResponse.java:103) ~[LaunchServer.jar:?]
    at pro.gravit.launchserver.socket.response.auth.RestoreResponse.lambda$execute$0(RestoreResponse.java:88) ~[LaunchServer.jar:?]
    at java.util.Map.forEach(Map.java:713) ~[?:?]
    at pro.gravit.launchserver.socket.response.auth.RestoreResponse.execute(RestoreResponse.java:85) ~[LaunchServer.jar:?]
    at pro.gravit.launchserver.socket.WebSocketService.process(WebSocketService.java:163) ~[LaunchServer.jar:?]
    at pro.gravit.launchserver.socket.WebSocketService.process(WebSocketService.java:114) ~[LaunchServer.jar:?]
    at pro.gravit.launchserver.socket.handlers.WebSocketFrameHandler.channelRead0(WebSocketFrameHandler.java:71) ~[LaunchServer.jar:?]
    at pro.gravit.launchserver.socket.handlers.WebSocketFrameHandler.channelRead0(WebSocketFrameHandler.java:20) ~[LaunchServer.jar:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:102) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:102) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[netty-codec-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.handler.codec.http.websocketx.Utf8FrameValidator.channelRead(Utf8FrameValidator.java:89) ~[netty-codec-http-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327) ~[netty-codec-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:299) ~[netty-codec-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[netty-transport-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) ~[netty-transport-classes-epoll-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:487) ~[netty-transport-classes-epoll-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:385) ~[netty-transport-classes-epoll-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.78.Final.jar:4.1.78.Final]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.78.Final.jar:4.1.78.Final]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]

image image

При этом ошибки на лаунчере сразу две, когда на лаунчсервере одна (один ПК пользователя) На предыдущих ошибках почти нет двойных, кроме вот image image Возможно ранее ещё были двойные, но в большинстве одинарные

microwin7 commented 1 year ago

По ошибке в 2:32:48 UTC 0 image Можно видеть что токен просрочен пользователя

microwin7 commented 1 year ago

Добавлю что на машине таймзона UTC+0

microwin7 commented 1 year ago

На удивление, я даже не понял откуда, Sentry мне выдал такую информацию сейчас image Уже 40 таких ошибок за пару дней

microwin7 commented 1 year ago

Возможно проблема в из-за того что токен проверяется и решает, обновиться ли ему на машинах с другой таймзоной, хотя для машины с лаунчсеврером эта дата не принимается уже в токене В примере выше ошибка обработана в UTC 19:53 Токен из settings.json говорит: image image Предполагаю что ещё и на ПК таймзона не +3 даже

gravit0 commented 1 year ago

Эти токены не обновляются автоматически

microwin7 commented 1 year ago

Эти токены не обновляются автоматически

Но ведь это токен пользователя на авторизацию, как он может не обновляться

gravit0 commented 1 year ago

Это токен проверки лаунчера