88250 / solo

🎸 B3log 分布式社区的 Java 博客端节点系统,欢迎加入下一代社区网络。B3log distributed community blog-end node based on Java, welcome to join the next generation community network.
https://b3log.org/solo
Other
1.57k stars 440 forks source link

当前无法使用此页面,localhost 当前无法处理此请求。 HTTP ERROR 500 #223

Closed biuaxia closed 3 years ago

biuaxia commented 3 years ago

当前无法使用此页面,localhost 当前无法处理此请求。 HTTP ERROR 500

我下载最新的 4.3.1 版本进行本地安装时,点击登录就提示 500。

完整日志

PS C:\solo> java -cp "lib/*;." org.b3log.solo.Server
[INFO ]-[2021-09-14 11:13:19]-[org.b3log.solo.Server:253]: Solo is booting [ver=4.3.1, os=Windows 10, isDocker=false, inJar=false, luteAvailable=false, pid=23904, runtimeDatabase=H2, runtimeMode=PRODUCTION, jdbc.username=root, jdbc.URL=jdbc:h2:~/solo_h2/db;MODE=MYSQL]
[WARN ]-[2021-09-14 11:13:19]-[org.b3log.solo.service.InitService:150]: Solo has not been initialized, please open your browser to init Solo
[INFO ]-[2021-09-14 11:13:26]-[org.b3log.solo.util.Skins:73]: Loaded template from classpath
[ERROR]-[2021-09-14 11:13:28]-[org.b3log.solo.util.Solos:141]: Gets community user info failed
jodd.http.HttpException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate); <--- javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at jodd.http.net.SocketHttpConnectionProvider.createHttpConnection(SocketHttpConnectionProvider.java:127) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest.open(HttpRequest.java:775) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest.open(HttpRequest.java:759) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest._send(HttpRequest.java:887) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest.send(HttpRequest.java:861) ~[jodd-http-5.0.13.jar:5.0.13]
        at org.b3log.solo.util.Solos.getUserInfo(Solos.java:130) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor.authCallback(OAuthProcessor.java:135) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst87_19._d0authCallback(OAuthProcessor_$$_jvst87_19.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst87_19.authCallback(OAuthProcessor_$$_jvst87_19.java) [solo/:?]
        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.b3log.latke.http.handler.InvokeHandler.handle(InvokeHandler.java:45) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.RouteHandler.handle(RouteHandler.java:200) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.PermalinkHandler.handle(PermalinkHandler.java:62) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.InitCheckHandler.handle(InitCheckHandler.java:65) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.SkinHandler.handle(SkinHandler.java:59) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.StaticResourceHandler.handle(StaticResourceHandler.java:36) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:91) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:78) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:34) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:90) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:47) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:170) ~[?:?]
        at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:98) ~[?:?]
        at sun.security.ssl.TransportContext.kickstart(TransportContext.java:221) ~[?:?]
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:443) ~[?:?]
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421) ~[?:?]
        at jodd.http.net.SocketHttpSecureConnection.init(SocketHttpSecureConnection.java:43) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.net.SocketHttpConnectionProvider.createHttpConnection(SocketHttpConnectionProvider.java:122) ~[jodd-http-5.0.13.jar:5.0.13]
        ... 66 more
[WARN ]-[2021-09-14 11:13:28]-[org.b3log.solo.processor.OAuthProcessor:137]: Can't get user info with token [GGZyllnVhhKklUWm]
[ERROR]-[2021-09-14 11:13:28]-[org.b3log.solo.service.DataModelService:638]: Fills blog header failed
java.lang.NullPointerException: null
        at org.b3log.solo.service.DataModelService.fillBlogHeader(DataModelService.java:602) [solo/:?]
        at org.b3log.solo.service.DataModelService.fillCommon(DataModelService.java:485) [solo/:?]
        at org.b3log.solo.service.DataModelService_$$_jvst87_35._d5fillCommon(DataModelService_$$_jvst87_35.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.service.DataModelService_$$_jvst87_35.fillCommon(DataModelService_$$_jvst87_35.java) [solo/:?]
        at org.b3log.solo.processor.ErrorProcessor.showErrorPage(ErrorProcessor.java:95) [solo/:?]
        at org.b3log.solo.processor.ErrorProcessor_$$_jvst87_4a._d7showErrorPage(ErrorProcessor_$$_jvst87_4a.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.ErrorProcessor_$$_jvst87_4a.showErrorPage(ErrorProcessor_$$_jvst87_4a.java) [solo/:?]
        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.b3log.latke.http.Response.sendError(Response.java:138) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Response.sendError(Response.java:124) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.sendError(RequestContext.java:306) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor.authCallback(OAuthProcessor.java:138) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst87_19._d0authCallback(OAuthProcessor_$$_jvst87_19.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst87_19.authCallback(OAuthProcessor_$$_jvst87_19.java) [solo/:?]
        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.b3log.latke.http.handler.InvokeHandler.handle(InvokeHandler.java:45) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.RouteHandler.handle(RouteHandler.java:200) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.PermalinkHandler.handle(PermalinkHandler.java:62) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.InitCheckHandler.handle(InitCheckHandler.java:65) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.SkinHandler.handle(SkinHandler.java:59) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.StaticResourceHandler.handle(StaticResourceHandler.java:36) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:91) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:78) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:34) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:90) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:47) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at java.lang.Thread.run(Thread.java:829) [?:?]
[ERROR]-[2021-09-14 11:13:28]-[org.b3log.solo.processor.ArticleProcessor:102]: Shows error page failed
org.b3log.latke.service.ServiceException: java.lang.NullPointerException
        at org.b3log.solo.service.DataModelService.fillBlogHeader(DataModelService.java:640) ~[solo/:?]
        at org.b3log.solo.service.DataModelService.fillCommon(DataModelService.java:485) ~[solo/:?]
        at org.b3log.solo.service.DataModelService_$$_jvst87_35._d5fillCommon(DataModelService_$$_jvst87_35.java) ~[solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) ~[latke-core-3.4.10.jar:?]
        at org.b3log.solo.service.DataModelService_$$_jvst87_35.fillCommon(DataModelService_$$_jvst87_35.java) ~[solo/:?]
        at org.b3log.solo.processor.ErrorProcessor.showErrorPage(ErrorProcessor.java:95) [solo/:?]
        at org.b3log.solo.processor.ErrorProcessor_$$_jvst87_4a._d7showErrorPage(ErrorProcessor_$$_jvst87_4a.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.ErrorProcessor_$$_jvst87_4a.showErrorPage(ErrorProcessor_$$_jvst87_4a.java) [solo/:?]
        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.b3log.latke.http.Response.sendError(Response.java:138) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Response.sendError(Response.java:124) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.sendError(RequestContext.java:306) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor.authCallback(OAuthProcessor.java:138) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst87_19._d0authCallback(OAuthProcessor_$$_jvst87_19.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst87_19.authCallback(OAuthProcessor_$$_jvst87_19.java) [solo/:?]
        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.b3log.latke.http.handler.InvokeHandler.handle(InvokeHandler.java:45) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.RouteHandler.handle(RouteHandler.java:200) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.PermalinkHandler.handle(PermalinkHandler.java:62) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.InitCheckHandler.handle(InitCheckHandler.java:65) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.SkinHandler.handle(SkinHandler.java:59) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.StaticResourceHandler.handle(StaticResourceHandler.java:36) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:91) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:78) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:34) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:90) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:47) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.NullPointerException
        at org.b3log.solo.service.DataModelService.fillBlogHeader(DataModelService.java:602) ~[solo/:?]
        ... 84 more
[ERROR]-[2021-09-14 11:13:28]-[org.b3log.latke.http.renderer.AbstractFreeMarkerRenderer:104]: Renders template [error/401.ftl] failed [Request [
    method=GET,
    URI=/login/callback,
    contentType=null,
    remoteAddr=0:0:0:0:0:0:0:1,
    headers=[
        Host=localhost:8080
        Connection=keep-alive
        Upgrade-Insecure-Requests=1
        User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.38
        Accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
        Sec-Fetch-Site=cross-site
        Sec-Fetch-Mode=navigate
        Sec-Fetch-User=?1
        Sec-Fetch-Dest=document
        sec-ch-ua="Microsoft Edge";v="93", " Not;A Brand";v="99", "Chromium";v="93"
        sec-ch-ua-mobile=?0
        sec-ch-ua-platform="Windows"
        Referer=http://localhost:8080/
        Accept-Encoding=gzip, deflate, br
        Accept-Language=zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
        Cookie=isopen=close; JSESSIONID=987A3B933B09BB529730AD30E2F0BA65; SECKEY_CID=cc6c435aa71a655bf14e7e0a5ac6f732a4e83c8d; BMAP_SECKEY=348b3ea8be0aad420af3f6fd20b5fe5d742b033169aaff9e55468f20442b2a4079fc11a7bd963ba9f8cb6be3ba7407e73b6fce9ae6fd7d808f0466c44c5b81ea766d7ebc1ed0e8a738a03d4120438176818bed1fd79d805d825343aa2ce3e19ae726b7354779a9efb2e3ce9b75feffc7e502fda25d917328037a5341cd8fd0f0fca5ea5f9813e1f7ca1431ed49ee94dccab4241a1dadb9689366c720b738d8d15d7c83803c0dc45fb91ec119f656d5a5e11da12d7181b53abd1235ebb85f8ecee67da41b7b08a43434811b5c81d8d9bebaa82611636c47caf336bf299140ee70a0a8fac467b26c12fd2f278016bb3b33; LATKE_SESSION_ID=VJ0RgPPgtu46pZcp
        content-length=0
    ]
]]
freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:
==> faviconURL  [in template "common-template/macro-common_head.ftl" at line 43, column 43]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
        - Failed at: ${faviconURL}  [in template "common-template/macro-common_head.ftl" in macro "head" at line 43, column 41]
        - Reached through: @head title="${title} - ${blogTitle}"  [in template "common-template/macro-common_page.ftl" in macro "commonPage" at line 22, column 5]
        - Reached through: @commonPage "401 Unauthorized!"  [in template "error/401.ftl" at line 16, column 1]
----
        at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:481) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:401) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:370) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.DollarVariable.accept(DollarVariable.java:63) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.visit(Environment.java:370) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:876) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.invokeMacro(Environment.java:812) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.visit(Environment.java:370) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:876) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.invokeMacro(Environment.java:812) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.visit(Environment.java:334) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.visit(Environment.java:340) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.process(Environment.java:313) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.template.Template.process(Template.java:383) ~[freemarker-2.3.30.jar:2.3.30]
        at org.b3log.latke.http.renderer.AbstractFreeMarkerRenderer.genHTML(AbstractFreeMarkerRenderer.java:127) ~[latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.SkinRenderer.genHTML(SkinRenderer.java:81) ~[solo/:?]
        at org.b3log.latke.http.renderer.AbstractFreeMarkerRenderer.render(AbstractFreeMarkerRenderer.java:98) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Response.sendError(Response.java:140) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Response.sendError(Response.java:124) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.sendError(RequestContext.java:306) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor.authCallback(OAuthProcessor.java:138) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst87_19._d0authCallback(OAuthProcessor_$$_jvst87_19.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst87_19.authCallback(OAuthProcessor_$$_jvst87_19.java) [solo/:?]
        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.b3log.latke.http.handler.InvokeHandler.handle(InvokeHandler.java:45) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.RouteHandler.handle(RouteHandler.java:200) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.PermalinkHandler.handle(PermalinkHandler.java:62) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.InitCheckHandler.handle(InitCheckHandler.java:65) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.SkinHandler.handle(SkinHandler.java:59) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.StaticResourceHandler.handle(StaticResourceHandler.java:36) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:91) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:78) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:34) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:90) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:47) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at java.lang.Thread.run(Thread.java:829) [?:?]

配置文件

只修改了 local.properties 文件的数据库信息。

#
# Solo - A small and beautiful blogging system written in Java.
# Copyright (c) 2010-present, b3log.org
#
# Solo is licensed under Mulan PSL v2.
# You can use this software according to the terms and conditions of the Mulan PSL v2.
# You may obtain a copy of Mulan PSL v2 at:
#         http://license.coscl.org.cn/MulanPSL2
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
#

#
# Description: Solo local environment configurations.
# Version: 1.1.3.15, Mar 17, 2019
# Author: Liang Ding
#

#### MySQL runtime ####
# runtimeDatabase=MYSQL
# jdbc.username=root
# jdbc.password=123456
# jdbc.driver=com.mysql.cj.jdbc.Driver
# jdbc.URL=jdbc:mysql://localhost:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true

#### H2 runtime ####
runtimeDatabase=H2
jdbc.username=root
jdbc.password=
jdbc.driver=org.h2.Driver
jdbc.URL=jdbc:h2:~/solo_h2/db;MODE=MYSQL

# The minConnCnt MUST larger or equal to 3
jdbc.minConnCnt=5
jdbc.maxConnCnt=10

# The specific table name prefix
jdbc.tablePrefix=b3_solo

期待的结果 Expected result

请让我在本地可以正常使用 solo 完成写作。

截屏或录像 Screenshot or video

image

image

image

image

版本环境 Version environment

biuaxia commented 3 years ago

已处理,系Jdk问题,切换Oraclejdk就行了。

yeyupiaoling commented 2 years ago

我的出现同样的问题,我也重新安装了jdk,还是不能解决

java version "1.8.0_311"
Java(TM) SE Runtime Environment (build 1.8.0_311-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)
88250 commented 2 years ago

@yeyupiaoling 试试 JDK11

yeyupiaoling commented 2 years ago

好的,

yeyupiaoling commented 2 years ago

还是报错

JAVA 版本

PS D:\solo> java -version
java version "11.0.13" 2021-10-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.13+10-LTS-370)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.13+10-LTS-370, mixed mode)

错误信息

PS D:\solo> java -cp "lib/*;." org.b3log.solo.Server
[INFO ]-[2022-01-04 23:33:58]-[org.b3log.solo.Server:253]: Solo is booting [ver=4.3.1, os=Windows 10, isDocker=false, inJar=false, luteAvailable=false, pid=10772, runtimeDatabase=MYSQL, runtimeMode=PRODUCTION, jdbc.username=root, jdbc.URL=jdbc:mysql://localhost:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true]
[ERROR]-[2022-01-04 23:34:01]-[com.zaxxer.hikari.pool.HikariPool:593]: HikariPool-1 - Exception during pool initialization.
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
        at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.5.jar:?]
        at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358) ~[HikariCP-3.4.5.jar:?]
        at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-3.4.5.jar:?]
        at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477) [HikariCP-3.4.5.jar:?]
        at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560) [HikariCP-3.4.5.jar:?]
        at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) [HikariCP-3.4.5.jar:?]
        at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) [HikariCP-3.4.5.jar:?]
        at org.b3log.latke.repository.jdbc.util.Connections.getConnection(Connections.java:196) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.service.InitService.initTables(InitService.java:165) [solo/:?]
        at org.b3log.solo.service.InitService_$$_jvsta0f_2f._d7initTables(InitService_$$_jvsta0f_2f.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.service.InitService_$$_jvsta0f_2f.initTables(InitService_$$_jvsta0f_2f.java) [solo/:?]
        at org.b3log.solo.Server.main(Server.java:266) [solo/:?]
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:91) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.NativeSession.connect(NativeSession.java:144) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:956) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:826) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        ... 20 more
Caused by: java.net.SocketTimeoutException: connect timed out
        at java.net.PlainSocketImpl.waitForConnect(Native Method) ~[?:?]
        at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:107) ~[?:?]
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) ~[?:?]
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) ~[?:?]
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) ~[?:?]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:?]
        at java.net.Socket.connect(Socket.java:608) ~[?:?]
        at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:155) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:65) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.NativeSession.connect(NativeSession.java:144) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:956) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:826) ~[mysql-connector-java-8.0.20.jar:8.0.20]
        ... 20 more
[ERROR]-[2022-01-04 23:34:01]-[org.b3log.solo.service.InitService:173]: Check tables failed, please make sure database existed and database configuration [jdbc.*] in local.props is correct [msg=Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.]
PS D:\solo> java -cp "lib/*;." org.b3log.solo.Server
[INFO ]-[2022-01-04 23:34:32]-[org.b3log.solo.Server:253]: Solo is booting [ver=4.3.1, os=Windows 10, isDocker=false, inJar=false, luteAvailable=false, pid=2360, runtimeDatabase=H2, runtimeMode=PRODUCTION, jdbc.username=root, jdbc.URL=jdbc:h2:~/solo_h2/db;MODE=MYSQL]
[WARN ]-[2022-01-04 23:34:32]-[org.b3log.solo.service.InitService:150]: Solo has not been initialized, please open your browser to init Solo
[INFO ]-[2022-01-04 23:34:43]-[org.b3log.solo.util.Skins:73]: Loaded template from classpath
[ERROR]-[2022-01-04 23:34:49]-[org.b3log.solo.util.Solos:141]: Gets community user info failed
jodd.http.HttpException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate); <--- javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at jodd.http.net.SocketHttpConnectionProvider.createHttpConnection(SocketHttpConnectionProvider.java:127) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest.open(HttpRequest.java:775) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest.open(HttpRequest.java:759) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest._send(HttpRequest.java:887) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest.send(HttpRequest.java:861) ~[jodd-http-5.0.13.jar:5.0.13]
        at org.b3log.solo.util.Solos.getUserInfo(Solos.java:130) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor.authCallback(OAuthProcessor.java:135) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvsta0f_16._d0authCallback(OAuthProcessor_$$_jvsta0f_16.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvsta0f_16.authCallback(OAuthProcessor_$$_jvsta0f_16.java) [solo/:?]
        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.b3log.latke.http.handler.InvokeHandler.handle(InvokeHandler.java:45) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.RouteHandler.handle(RouteHandler.java:200) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.PermalinkHandler.handle(PermalinkHandler.java:62) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.InitCheckHandler.handle(InitCheckHandler.java:65) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.SkinHandler.handle(SkinHandler.java:59) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.StaticResourceHandler.handle(StaticResourceHandler.java:36) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:91) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:78) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:34) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:90) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:47) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:170) ~[?:?]
        at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:103) ~[?:?]
        at sun.security.ssl.TransportContext.kickstart(TransportContext.java:238) ~[?:?]
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:394) ~[?:?]
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:373) ~[?:?]
        at jodd.http.net.SocketHttpSecureConnection.init(SocketHttpSecureConnection.java:43) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.net.SocketHttpConnectionProvider.createHttpConnection(SocketHttpConnectionProvider.java:122) ~[jodd-http-5.0.13.jar:5.0.13]
        ... 66 more
[WARN ]-[2022-01-04 23:34:49]-[org.b3log.solo.processor.OAuthProcessor:137]: Can't get user info with token [u1oAlgxErhVyuSQ0]
[ERROR]-[2022-01-04 23:34:49]-[org.b3log.solo.service.DataModelService:638]: Fills blog header failed
java.lang.NullPointerException: null
        at org.b3log.solo.service.DataModelService.fillBlogHeader(DataModelService.java:602) [solo/:?]
        at org.b3log.solo.service.DataModelService.fillCommon(DataModelService.java:485) [solo/:?]
        at org.b3log.solo.service.DataModelService_$$_jvsta0f_45._d5fillCommon(DataModelService_$$_jvsta0f_45.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.service.DataModelService_$$_jvsta0f_45.fillCommon(DataModelService_$$_jvsta0f_45.java) [solo/:?]
        at org.b3log.solo.processor.ErrorProcessor.showErrorPage(ErrorProcessor.java:95) [solo/:?]
        at org.b3log.solo.processor.ErrorProcessor_$$_jvsta0f_43._d7showErrorPage(ErrorProcessor_$$_jvsta0f_43.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.ErrorProcessor_$$_jvsta0f_43.showErrorPage(ErrorProcessor_$$_jvsta0f_43.java) [solo/:?]
        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.b3log.latke.http.Response.sendError(Response.java:138) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Response.sendError(Response.java:124) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.sendError(RequestContext.java:306) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor.authCallback(OAuthProcessor.java:138) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvsta0f_16._d0authCallback(OAuthProcessor_$$_jvsta0f_16.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvsta0f_16.authCallback(OAuthProcessor_$$_jvsta0f_16.java) [solo/:?]
        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.b3log.latke.http.handler.InvokeHandler.handle(InvokeHandler.java:45) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.RouteHandler.handle(RouteHandler.java:200) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.PermalinkHandler.handle(PermalinkHandler.java:62) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.InitCheckHandler.handle(InitCheckHandler.java:65) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.SkinHandler.handle(SkinHandler.java:59) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.StaticResourceHandler.handle(StaticResourceHandler.java:36) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:91) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:78) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:34) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:90) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:47) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at java.lang.Thread.run(Thread.java:834) [?:?]
[ERROR]-[2022-01-04 23:34:49]-[org.b3log.solo.processor.ArticleProcessor:102]: Shows error page failed
org.b3log.latke.service.ServiceException: java.lang.NullPointerException
        at org.b3log.solo.service.DataModelService.fillBlogHeader(DataModelService.java:640) ~[solo/:?]
        at org.b3log.solo.service.DataModelService.fillCommon(DataModelService.java:485) ~[solo/:?]
        at org.b3log.solo.service.DataModelService_$$_jvsta0f_45._d5fillCommon(DataModelService_$$_jvsta0f_45.java) ~[solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) ~[latke-core-3.4.10.jar:?]
        at org.b3log.solo.service.DataModelService_$$_jvsta0f_45.fillCommon(DataModelService_$$_jvsta0f_45.java) ~[solo/:?]
        at org.b3log.solo.processor.ErrorProcessor.showErrorPage(ErrorProcessor.java:95) [solo/:?]
        at org.b3log.solo.processor.ErrorProcessor_$$_jvsta0f_43._d7showErrorPage(ErrorProcessor_$$_jvsta0f_43.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.ErrorProcessor_$$_jvsta0f_43.showErrorPage(ErrorProcessor_$$_jvsta0f_43.java) [solo/:?]
        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.b3log.latke.http.Response.sendError(Response.java:138) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Response.sendError(Response.java:124) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.sendError(RequestContext.java:306) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor.authCallback(OAuthProcessor.java:138) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvsta0f_16._d0authCallback(OAuthProcessor_$$_jvsta0f_16.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvsta0f_16.authCallback(OAuthProcessor_$$_jvsta0f_16.java) [solo/:?]
        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.b3log.latke.http.handler.InvokeHandler.handle(InvokeHandler.java:45) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.RouteHandler.handle(RouteHandler.java:200) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.PermalinkHandler.handle(PermalinkHandler.java:62) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.InitCheckHandler.handle(InitCheckHandler.java:65) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.SkinHandler.handle(SkinHandler.java:59) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.StaticResourceHandler.handle(StaticResourceHandler.java:36) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:91) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:78) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:34) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:90) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:47) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.NullPointerException
        at org.b3log.solo.service.DataModelService.fillBlogHeader(DataModelService.java:602) ~[solo/:?]
        ... 84 more
[ERROR]-[2022-01-04 23:34:49]-[org.b3log.latke.http.renderer.AbstractFreeMarkerRenderer:104]: Renders template [error/401.ftl] failed [Request [
    method=GET,
    URI=/login/callback,
    contentType=null,
    remoteAddr=0:0:0:0:0:0:0:1,
    headers=[
        Host=localhost:8080
        Connection=keep-alive
        Upgrade-Insecure-Requests=1
        User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
        Accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
        Sec-Fetch-Site=cross-site
        Sec-Fetch-Mode=navigate
        Sec-Fetch-User=?1
        Sec-Fetch-Dest=document
        sec-ch-ua=" Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"
        sec-ch-ua-mobile=?0
        sec-ch-ua-platform="Windows"
        Referer=http://localhost:8080/
        Accept-Encoding=gzip, deflate, br
        Accept-Language=zh-CN,zh;q=0.9
        Cookie=LATKE_SESSION_ID=OCxxkWkrt927ez3Z
        content-length=0
    ]
]]
freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:
==> faviconURL  [in template "common-template/macro-common_head.ftl" at line 43, column 43]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
        - Failed at: ${faviconURL}  [in template "common-template/macro-common_head.ftl" in macro "head" at line 43, column 41]
        - Reached through: @head title="${title} - ${blogTitle}"  [in template "common-template/macro-common_page.ftl" in macro "commonPage" at line 22, column 5]
        - Reached through: @commonPage "401 Unauthorized!"  [in template "error/401.ftl" at line 16, column 1]
----
        at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:481) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:401) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:370) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.DollarVariable.accept(DollarVariable.java:63) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.visit(Environment.java:370) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:876) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.invokeMacro(Environment.java:812) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.visit(Environment.java:370) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:876) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.invokeMacro(Environment.java:812) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.visit(Environment.java:334) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.visit(Environment.java:340) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.core.Environment.process(Environment.java:313) ~[freemarker-2.3.30.jar:2.3.30]
        at freemarker.template.Template.process(Template.java:383) ~[freemarker-2.3.30.jar:2.3.30]
        at org.b3log.latke.http.renderer.AbstractFreeMarkerRenderer.genHTML(AbstractFreeMarkerRenderer.java:127) ~[latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.SkinRenderer.genHTML(SkinRenderer.java:81) ~[solo/:?]
        at org.b3log.latke.http.renderer.AbstractFreeMarkerRenderer.render(AbstractFreeMarkerRenderer.java:98) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Response.sendError(Response.java:140) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Response.sendError(Response.java:124) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.sendError(RequestContext.java:306) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor.authCallback(OAuthProcessor.java:138) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvsta0f_16._d0authCallback(OAuthProcessor_$$_jvsta0f_16.java) [solo/:?]
        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.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvsta0f_16.authCallback(OAuthProcessor_$$_jvsta0f_16.java) [solo/:?]
        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.b3log.latke.http.handler.InvokeHandler.handle(InvokeHandler.java:45) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.RouteHandler.handle(RouteHandler.java:200) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.PermalinkHandler.handle(PermalinkHandler.java:62) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.InitCheckHandler.handle(InitCheckHandler.java:65) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.solo.processor.SkinHandler.handle(SkinHandler.java:59) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.handler.StaticResourceHandler.handle(StaticResourceHandler.java:36) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:548) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:91) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:78) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:34) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:90) [latke-core-3.4.10.jar:?]
        at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:47) [latke-core-3.4.10.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at java.lang.Thread.run(Thread.java:834) [?:?]
88250 commented 2 years ago

这个报错是数据库连接不上,参考一下开发指南吧。

yeyupiaoling commented 2 years ago

@88250 我用的是H2,这个不是内嵌的吗?

执行命令如下:

java -cp "lib/*;." org.b3log.solo.Server

local.properties修改如下,其他什么都没改。

#### MySQL runtime ####
#runtimeDatabase=MYSQL
#jdbc.username=root
#jdbc.password=12345
#jdbc.driver=com.mysql.cj.jdbc.Driver
#jdbc.URL=jdbc:mysql://localhost:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true

#### H2 runtime ####
runtimeDatabase=H2
jdbc.username=root
jdbc.password=
jdbc.driver=org.h2.Driver
jdbc.URL=jdbc:h2:~/solo_h2/db;MODE=MYSQL

# The minConnCnt MUST larger or equal to 3
jdbc.minConnCnt=5
jdbc.maxConnCnt=10

# The specific table name prefix
jdbc.tablePrefix=b3_solo
yeyupiaoling commented 2 years ago

@biuaxia 你是怎么解决的,

yeyupiaoling commented 2 years ago

@88250 我看提示是说,获取用户社区信息失败,Gets community user info failed

(base) PS D:\BaiduNetdiskDownload\solo> java -cp "lib/*;." org.b3log.solo.Server
[INFO ]-[2022-01-06 10:22:50]-[org.b3log.solo.Server:253]: Solo is booting [ver=4.3.1, os=Windows 10, isDocker=false, inJar=false, luteAvailable=false, pid=20636, runtimeDatabase=H2, runtimeMode=PRODUCTION, jdbc.username=root, jdbc.URL=jdbc:h2:~/solo_h2/db;MODE=MYSQL]
[INFO ]-[2022-01-06 10:22:51]-[org.b3log.solo.service.InitService:177]: It's your first time setup Solo, initialize tables in database [H2]
[INFO ]-[2022-01-06 10:22:51]-[org.b3log.solo.service.InitService:182]: Your DATA will be stored in directory [jdbc:h2:C:\Users\1596/solo_h2/db;MODE=MYSQL], please pay more attention on it!
[WARN ]-[2022-01-06 10:22:51]-[org.b3log.solo.service.InitService:150]: Solo has not been initialized, please open your browser to init Solo
[INFO ]-[2022-01-06 10:23:00]-[org.b3log.solo.util.Skins:70]: Loaded template from directory [/D:/BaiduNetdiskDownload/solo/]
[ERROR]-[2022-01-06 10:23:04]-[org.b3log.solo.util.Solos:141]: Gets community user info failed
jodd.http.HttpException: Received fatal alert: protocol_version; <--- javax.net.ssl.SSLException: Received fatal alert: protocol_version
        at jodd.http.net.SocketHttpConnectionProvider.createHttpConnection(SocketHttpConnectionProvider.java:127) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest.open(HttpRequest.java:775) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest.open(HttpRequest.java:759) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest._send(HttpRequest.java:887) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest.send(HttpRequest.java:861) ~[jodd-http-5.0.13.jar:5.0.13]
88250 commented 2 years ago

@yeyupiaoling 这个问题我们正在跟进 https://github.com/88250/solo/issues/230

yeyupiaoling commented 2 years ago

好的。

88250 commented 2 years ago

@yeyupiaoling 你那边是否设置过启动参数 https.protocols

yeyupiaoling commented 2 years ago

@88250 没有呢,我只修改过local.properties,浏览器是最新的chrome,edge也试过。

solo版本是4.3.1 下载地址:https://github.com/88250/solo/releases/tag/v4.3.1

local.properties修改如下,其他什么都没改。

#### MySQL runtime ####
#runtimeDatabase=MYSQL
#jdbc.username=root
#jdbc.password=12345
#jdbc.driver=com.mysql.cj.jdbc.Driver
#jdbc.URL=jdbc:mysql://localhost:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true

#### H2 runtime ####
runtimeDatabase=H2
jdbc.username=root
jdbc.password=
jdbc.driver=org.h2.Driver
jdbc.URL=jdbc:h2:~/solo_h2/db;MODE=MYSQL

# The minConnCnt MUST larger or equal to 3
jdbc.minConnCnt=5
jdbc.maxConnCnt=10

# The specific table name prefix
jdbc.tablePrefix=b3_solo
88250 commented 2 years ago

@yeyupiaoling 最新的代码上应该已经修复,请从代码打包测试,谢谢。

yeyupiaoling commented 2 years ago

好的,我试试。没试过源码打包。

yeyupiaoling commented 2 years ago

成功了。谢谢,已打赏!

yeyupiaoling commented 2 years ago

@88250 在另一台电脑出现错误,也是源码编译的错误。

错误如下:

PS D:\solo\target\solo> java -cp "lib/*;." org.b3log.solo.Server
[WARN ]-[2022-01-11 20:30:11]-[org.b3log.latke.Latkes:713]: !!!!Runtime mode is [DEVELOPMENT], please make sure configured it with [PRODUCTION] in latke.properties if deployed on production environment!!!!
[INFO ]-[2022-01-11 20:30:12]-[org.b3log.solo.Server:255]: Solo is booting [ver=4.3.1, os=Windows 10, isDocker=false, inJar=false, luteAvailable=false, pid=1972, runtimeDatabase=H2, runtimeMode=DEVELOPMENT, jdbc.username=root, jdbc.URL=jdbc:h2:~/solo_h2/db;MODE=MYSQL]
[INFO ]-[2022-01-11 20:30:12]-[org.b3log.solo.service.InitService:177]: It's your first time setup Solo, initialize tables in database [H2]
[INFO ]-[2022-01-11 20:30:12]-[org.b3log.solo.service.InitService:182]: Your DATA will be stored in directory [jdbc:h2:C:\Users\test/solo_h2/db;MODE=MYSQL], please pay more attention on it!
[WARN ]-[2022-01-11 20:30:12]-[org.b3log.solo.service.InitService:150]: Solo has not been initialized, please open your browser to init Solo
[INFO ]-[2022-01-11 20:30:39]-[org.b3log.solo.util.Skins:70]: Loaded template from directory [/D:/solo/target/solo/]
[ERROR]-[2022-01-11 20:30:42]-[org.b3log.solo.util.Solos:123]: Gets community user info failed
jodd.http.HttpException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate); <--- javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at jodd.http.net.SocketHttpConnectionProvider.createHttpConnection(SocketHttpConnectionProvider.java:127) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest.open(HttpRequest.java:775) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest.open(HttpRequest.java:759) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest._send(HttpRequest.java:887) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.HttpRequest.send(HttpRequest.java:861) ~[jodd-http-5.0.13.jar:5.0.13]
        at org.b3log.solo.util.Solos.getUserInfo(Solos.java:112) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor.authCallback(OAuthProcessor.java:135) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst540_2c._d0authCallback(OAuthProcessor_$$_jvst540_2c.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst540_2c.authCallback(OAuthProcessor_$$_jvst540_2c.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.http.handler.InvokeHandler.handle(InvokeHandler.java:45) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.handler.RouteHandler.handle(RouteHandler.java:200) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.PermalinkHandler.handle(PermalinkHandler.java:62) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.InitCheckHandler.handle(InitCheckHandler.java:65) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.SkinHandler.handle(SkinHandler.java:59) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.handler.StaticResourceHandler.handle(StaticResourceHandler.java:36) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:91) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:78) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:34) [latke-core-3.4.20.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:90) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:47) [latke-core-3.4.20.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_311]
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at sun.security.ssl.HandshakeContext.<init>(Unknown Source) ~[?:1.8.0_311]
        at sun.security.ssl.ClientHandshakeContext.<init>(Unknown Source) ~[?:1.8.0_311]
        at sun.security.ssl.TransportContext.kickstart(Unknown Source) ~[?:1.8.0_311]
        at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) ~[?:1.8.0_311]
        at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) ~[?:1.8.0_311]
        at jodd.http.net.SocketHttpSecureConnection.init(SocketHttpSecureConnection.java:43) ~[jodd-http-5.0.13.jar:5.0.13]
        at jodd.http.net.SocketHttpConnectionProvider.createHttpConnection(SocketHttpConnectionProvider.java:122) ~[jodd-http-5.0.13.jar:5.0.13]
        ... 66 more
[WARN ]-[2022-01-11 20:30:42]-[org.b3log.solo.processor.OAuthProcessor:137]: Can't get user info with token [9Gwxhx6i8XdbNVY8]
[ERROR]-[2022-01-11 20:30:42]-[org.b3log.solo.service.DataModelService:637]: Fills blog header failed
java.lang.NullPointerException: null
        at org.b3log.solo.service.DataModelService.fillBlogHeader(DataModelService.java:602) [solo/:?]
        at org.b3log.solo.service.DataModelService.fillCommon(DataModelService.java:485) [solo/:?]
        at org.b3log.solo.service.DataModelService_$$_jvst540_33._d5fillCommon(DataModelService_$$_jvst540_33.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.service.DataModelService_$$_jvst540_33.fillCommon(DataModelService_$$_jvst540_33.java) [solo/:?]
        at org.b3log.solo.processor.ErrorProcessor.showErrorPage(ErrorProcessor.java:95) [solo/:?]
        at org.b3log.solo.processor.ErrorProcessor_$$_jvst540_2e._d7showErrorPage(ErrorProcessor_$$_jvst540_2e.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.ErrorProcessor_$$_jvst540_2e.showErrorPage(ErrorProcessor_$$_jvst540_2e.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.http.Response.sendError(Response.java:138) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.Response.sendError(Response.java:124) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.sendError(RequestContext.java:307) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.OAuthProcessor.authCallback(OAuthProcessor.java:138) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst540_2c._d0authCallback(OAuthProcessor_$$_jvst540_2c.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst540_2c.authCallback(OAuthProcessor_$$_jvst540_2c.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.http.handler.InvokeHandler.handle(InvokeHandler.java:45) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.handler.RouteHandler.handle(RouteHandler.java:200) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.PermalinkHandler.handle(PermalinkHandler.java:62) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.InitCheckHandler.handle(InitCheckHandler.java:65) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.SkinHandler.handle(SkinHandler.java:59) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.handler.StaticResourceHandler.handle(StaticResourceHandler.java:36) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:91) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:78) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:34) [latke-core-3.4.20.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:90) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:47) [latke-core-3.4.20.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_311]
[ERROR]-[2022-01-11 20:30:42]-[org.b3log.solo.processor.ArticleProcessor:102]: Shows error page failed
org.b3log.latke.service.ServiceException: java.lang.NullPointerException
        at org.b3log.solo.service.DataModelService.fillBlogHeader(DataModelService.java:639) ~[solo/:?]
        at org.b3log.solo.service.DataModelService.fillCommon(DataModelService.java:485) ~[solo/:?]
        at org.b3log.solo.service.DataModelService_$$_jvst540_33._d5fillCommon(DataModelService_$$_jvst540_33.java) ~[solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) ~[latke-core-3.4.20.jar:?]
        at org.b3log.solo.service.DataModelService_$$_jvst540_33.fillCommon(DataModelService_$$_jvst540_33.java) ~[solo/:?]
        at org.b3log.solo.processor.ErrorProcessor.showErrorPage(ErrorProcessor.java:95) [solo/:?]
        at org.b3log.solo.processor.ErrorProcessor_$$_jvst540_2e._d7showErrorPage(ErrorProcessor_$$_jvst540_2e.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.ErrorProcessor_$$_jvst540_2e.showErrorPage(ErrorProcessor_$$_jvst540_2e.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.http.Response.sendError(Response.java:138) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.Response.sendError(Response.java:124) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.sendError(RequestContext.java:307) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.OAuthProcessor.authCallback(OAuthProcessor.java:138) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst540_2c._d0authCallback(OAuthProcessor_$$_jvst540_2c.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst540_2c.authCallback(OAuthProcessor_$$_jvst540_2c.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.http.handler.InvokeHandler.handle(InvokeHandler.java:45) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.handler.RouteHandler.handle(RouteHandler.java:200) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.PermalinkHandler.handle(PermalinkHandler.java:62) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.InitCheckHandler.handle(InitCheckHandler.java:65) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.SkinHandler.handle(SkinHandler.java:59) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.handler.StaticResourceHandler.handle(StaticResourceHandler.java:36) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:91) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:78) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:34) [latke-core-3.4.20.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:90) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:47) [latke-core-3.4.20.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_311]
Caused by: java.lang.NullPointerException
        at org.b3log.solo.service.DataModelService.fillBlogHeader(DataModelService.java:602) ~[solo/:?]
        ... 84 more
[ERROR]-[2022-01-11 20:30:42]-[org.b3log.latke.http.renderer.AbstractFreeMarkerRenderer:104]: Renders template [error/401.ftl] failed [Request [
    method=GET,
    URI=/login/callback,
    contentType=null,
    remoteAddr=0:0:0:0:0:0:0:1,
    headers=[
        Host=localhost:8080
        Connection=keep-alive
        Upgrade-Insecure-Requests=1
        User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
        Accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
        sec-ch-ua=" Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"
        sec-ch-ua-mobile=?0
        sec-ch-ua-platform="Windows"
        Sec-Fetch-Site=same-origin
        Sec-Fetch-Mode=navigate
        Sec-Fetch-User=?1
        Sec-Fetch-Dest=document
        Referer=http://localhost:8080/
        Accept-Encoding=gzip, deflate, br
        Accept-Language=zh-CN,zh;q=0.9
        Cookie=LATKE_SESSION_ID=jJBfwIITlPe8HDQ2
        content-length=0
    ]
]]
freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:
==> faviconURL  [in template "common-template/macro-common_head.ftl" at line 43, column 43]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
        - Failed at: ${faviconURL}  [in template "common-template/macro-common_head.ftl" in macro "head" at line 43, column 41]
        - Reached through: @head title="${title} - ${blogTitle}"  [in template "common-template/macro-common_page.ftl" in macro "commonPage" at line 22, column 5]
        - Reached through: @commonPage "401 Unauthorized!"  [in template "error/401.ftl" at line 16, column 1]
----
        at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:481) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:401) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:370) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.DollarVariable.accept(DollarVariable.java:63) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.Environment.visit(Environment.java:383) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.Environment.invokeMacro(Environment.java:825) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.Environment.visit(Environment.java:383) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.Environment.invokeMacro(Environment.java:825) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.Environment.visit(Environment.java:347) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.Environment.visit(Environment.java:353) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.core.Environment.process(Environment.java:326) ~[freemarker-2.3.31.jar:2.3.31]
        at freemarker.template.Template.process(Template.java:383) ~[freemarker-2.3.31.jar:2.3.31]
        at org.b3log.latke.http.renderer.AbstractFreeMarkerRenderer.genHTML(AbstractFreeMarkerRenderer.java:127) ~[latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.SkinRenderer.genHTML(SkinRenderer.java:81) ~[solo/:?]
        at org.b3log.latke.http.renderer.AbstractFreeMarkerRenderer.render(AbstractFreeMarkerRenderer.java:98) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.Response.sendError(Response.java:140) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.Response.sendError(Response.java:124) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.sendError(RequestContext.java:307) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.OAuthProcessor.authCallback(OAuthProcessor.java:138) [solo/:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst540_2c._d0authCallback(OAuthProcessor_$$_jvst540_2c.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:108) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.OAuthProcessor_$$_jvst540_2c.authCallback(OAuthProcessor_$$_jvst540_2c.java) [solo/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_311]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_311]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_311]
        at org.b3log.latke.http.handler.InvokeHandler.handle(InvokeHandler.java:45) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.handler.RouteHandler.handle(RouteHandler.java:200) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.PermalinkHandler.handle(PermalinkHandler.java:62) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.InitCheckHandler.handle(InitCheckHandler.java:65) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.solo.processor.SkinHandler.handle(SkinHandler.java:59) [solo/:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.handler.StaticResourceHandler.handle(StaticResourceHandler.java:36) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.RequestContext.handle(RequestContext.java:555) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:91) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:78) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:34) [latke-core-3.4.20.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:90) [latke-core-3.4.20.jar:?]
        at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:47) [latke-core-3.4.20.jar:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.49.Final.jar:4.1.49.Final]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_311]
88250 commented 2 years ago

@yeyupiaoling JDK 版本对么?

yeyupiaoling commented 2 years ago

@88250 JDK 我用 JDK8和JDK11都试过了

其中JDK11的如下:

PS D:\solo\target\solo> java -version
java version "11.0.13" 2021-10-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.13+10-LTS-370)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.13+10-LTS-370, mixed mode)
88250 commented 2 years ago

@yeyupiaoling 更新一下代码再试试。

yeyupiaoling commented 2 years ago

@88250 可以了,谢谢