昨天在写文章的过程中发现文章字数超过一定限度后保存文章,再次进入编辑界面编辑器会变成空白,预览文章显示500,同时删除文章的过程中提示一直卡在删除中,今天服务器重启后,博客服务无法正常打开,把服务核心jar更新成最新版本后依旧无法重新启动,错误日志显示文章不能重新加载,现在有不正常的文章备份,用该备份恢复后的博客依旧无法正常启动,有什么办法删除备份中data文件中错误的文章部分,让其可以正常恢复博客?
十分感谢
环境FreeBSD+JRE23
2025-08-29T16:17:30.229+08:00 ERROR 70423 --- [restartMain] r.h.app.infra.actuator.RestartEndpoint : Failed to restart.
org.springframework.context.ApplicationContextException: Failed to start bean 'schemeInitializer'
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:408) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:394) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:586) ~[spring-context-6.2.9.jar!/:6.2.9]
at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:364) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:310) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:1006) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:630) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:66) ~[spring-boot-3.5.4.jar!/:3.5.4]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-3.5.4.jar!/:3.5.4]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.5.4.jar!/:3.5.4]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) ~[spring-boot-3.5.4.jar!/:3.5.4]
at run.halo.app.infra.actuator.RestartEndpoint.doRestart(RestartEndpoint.java:48) ~[!/:2.21.7]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
Caused by: run.halo.app.extension.exception.ExtensionConvertException: 500 INTERNAL_SERVER_ERROR "Failed to read Extension class run.halo.app.core.extension.content.Snapshot from bytes"
at run.halo.app.extension.JSONExtensionConverter.convertFrom(JSONExtensionConverter.java:91) ~[!/:2.21.7]
at run.halo.app.extension.index.IndexerInitializer.lambda$createExtensionIterator$0(IndexerInitializer.java:91) ~[!/:2.21.7]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na]
at java.base/java.util.ArrayList$Itr.forEachRemaining(ArrayList.java:1085) ~[na:na]
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na]
at org.springframework.data.domain.Chunk.getConvertedContent(Chunk.java:131) ~[spring-data-commons-3.5.2.jar!/:3.5.2]
at org.springframework.data.domain.PageImpl.map(PageImpl.java:86) ~[spring-data-commons-3.5.2.jar!/:3.5.2]
at run.halo.app.extension.index.IndexerInitializer.lambda$createExtensionIterator$1(IndexerInitializer.java:91) ~[!/:2.21.7]
at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:297) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:478) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2096) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:118) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber.deferredComplete(FluxUsingWhen.java:397) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxUsingWhen$CommitInner.onComplete(FluxUsingWhen.java:532) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.Operators.complete(Operators.java:137) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.MonoEmpty.subscribe(MonoEmpty.java:46) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber.onComplete(FluxUsingWhen.java:389) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:241) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2230) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber.deferredComplete(FluxUsingWhen.java:397) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxUsingWhen$CommitInner.onComplete(FluxUsingWhen.java:532) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2230) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2230) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:210) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:210) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.pool.SimpleDequePool.maybeRecycleAndDrain(SimpleDequePool.java:547) ~[reactor-pool-1.1.3.jar!/:1.1.3]
at reactor.pool.SimpleDequePool$QueuePoolRecyclerInner.onComplete(SimpleDequePool.java:788) ~[reactor-pool-1.1.3.jar!/:1.1.3]
at reactor.core.publisher.Operators.complete(Operators.java:137) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.MonoEmpty.subscribe(MonoEmpty.java:46) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.pool.SimpleDequePool$QueuePoolRecyclerMono.subscribe(SimpleDequePool.java:901) ~[reactor-pool-1.1.3.jar!/:1.1.3]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:241) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:204) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:89) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onComplete(MonoFlatMapMany.java:261) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onComplete(FluxContextWrite.java:126) ~[reactor-core-3.7.8.jar!/:3.7.8]
at io.asyncer.r2dbc.mysql.internal.util.DiscardOnCancelSubscriber.onComplete(DiscardOnCancelSubscriber.java:84) ~[r2dbc-mysql-1.4.1.jar!/:1.4.1]
at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:940) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxHandle$HandleConditionalSubscriber.onNext(FluxHandle.java:359) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onNext(FluxPeekFuseable.java:854) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:476) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.SinkManyEmitterProcessor.tryEmitNext(SinkManyEmitterProcessor.java:273) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.SinkManySerialized.tryEmitNext(SinkManySerialized.java:100) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.InternalManySink.emitNext(InternalManySink.java:27) ~[reactor-core-3.7.8.jar!/:3.7.8]
at io.asyncer.r2dbc.mysql.client.ReactorNettyClient$ResponseSink.next(ReactorNettyClient.java:395) ~[r2dbc-mysql-1.4.1.jar!/:1.4.1]
at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.lambda$new$0(ReactorNettyClient.java:119) ~[r2dbc-mysql-1.4.1.jar!/:1.4.1]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:185) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:292) ~[reactor-netty-core-1.2.8.jar!/:1.2.8]
at reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:401) ~[reactor-netty-core-1.2.8.jar!/:1.2.8]
at reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:435) ~[reactor-netty-core-1.2.8.jar!/:1.2.8]
at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:115) ~[reactor-netty-core-1.2.8.jar!/:1.2.8]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1519) ~[netty-handler-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1377) ~[netty-handler-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1428) ~[netty-handler-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:530) ~[netty-codec-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469) ~[netty-codec-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) ~[netty-codec-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:796) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:732) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:658) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[netty-transport-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:998) ~[netty-common-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.123.Final.jar!/:4.1.123.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.123.Final.jar!/:4.1.123.Final]
... 1 common frames omitted
Suppressed: java.lang.Exception: #block terminated with an error
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:104) ~[reactor-core-3.7.8.jar!/:3.7.8]
at reactor.core.publisher.Mono.block(Mono.java:1779) ~[reactor-core-3.7.8.jar!/:3.7.8]
at run.halo.app.extension.index.IndexerInitializer.lambda$createExtensionIterator$2(IndexerInitializer.java:93) ~[!/:2.21.7]
at run.halo.app.extension.index.DefaultExtensionIterator.loadData(DefaultExtensionIterator.java:42) ~[!/:2.21.7]
at run.halo.app.extension.index.DefaultExtensionIterator.<init>(DefaultExtensionIterator.java:38) ~[!/:2.21.7]
at run.halo.app.extension.index.DefaultExtensionIterator.<init>(DefaultExtensionIterator.java:27) ~[!/:2.21.7]
at run.halo.app.extension.index.IndexerInitializer.createExtensionIterator(IndexerInitializer.java:88) ~[!/:2.21.7]
at run.halo.app.extension.index.IndexerInitializer.createIndexerFor(IndexerInitializer.java:67) ~[!/:2.21.7]
at run.halo.app.extension.index.IndexerInitializer.handleSchemeAddedEvent(IndexerInitializer.java:57) ~[!/:2.21.7]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:383) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.event.ApplicationListenerMethodAdapter.processEvent(ApplicationListenerMethodAdapter.java:255) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.event.ApplicationListenerMethodAdapter.onApplicationEvent(ApplicationListenerMethodAdapter.java:174) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) ~[spring-context-6.2.9.jar!/:6.2.9]
at run.halo.app.extension.DefaultSchemeManager.register(DefaultSchemeManager.java:50) ~[!/:2.21.7]
at run.halo.app.extension.SchemeManager.register(SchemeManager.java:28) ~[api-2.21.7.jar!/:2.21.7]
at run.halo.app.infra.SchemeInitializer.start(SchemeInitializer.java:366) ~[!/:2.21.7]
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:405) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:394) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:586) ~[spring-context-6.2.9.jar!/:6.2.9]
at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:364) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:310) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:1006) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:630) ~[spring-context-6.2.9.jar!/:6.2.9]
at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:66) ~[spring-boot-3.5.4.jar!/:3.5.4]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-3.5.4.jar!/:3.5.4]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.5.4.jar!/:3.5.4]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) ~[spring-boot-3.5.4.jar!/:3.5.4]
at run.halo.app.infra.actuator.RestartEndpoint.doRestart(RestartEndpoint.java:48) ~[!/:2.21.7]
... 1 common frames omitted
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Unexpected end-of-input in VALUE_STRING
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 65536] (through reference chain: run.halo.app.core.extension.content.Snapshot["spec"]->run.halo.app.core.extension.content.Snapshot$SnapShotSpec["rawPatch"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:400) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:359) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapAndThrow(BeanDeserializerBase.java:1966) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:304) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:169) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:302) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:169) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4971) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3948) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at run.halo.app.extension.JSONExtensionConverter.convertFrom(JSONExtensionConverter.java:87) ~[!/:2.21.7]
... 92 common frames omitted
Caused by: com.fasterxml.jackson.core.io.JsonEOFException: Unexpected end-of-input in VALUE_STRING
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 65536]
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportInvalidEOF(ParserMinimalBase.java:642) ~[jackson-core-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportInvalidEOF(ParserMinimalBase.java:623) ~[jackson-core-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._loadMoreGuaranteed(UTF8StreamJsonParser.java:2457) ~[jackson-core-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._finishString2(UTF8StreamJsonParser.java:2540) ~[jackson-core-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._finishAndReturnString(UTF8StreamJsonParser.java:2520) ~[jackson-core-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.getText(UTF8StreamJsonParser.java:294) ~[jackson-core-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.deser.std.StringDeserializer.deserialize(StringDeserializer.java:42) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.deser.std.StringDeserializer.deserialize(StringDeserializer.java:11) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) ~[jackson-databind-2.19.2.jar!/:2.19.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:302) ~[jackson-databind-2.19.2.jar!/:2.19.2]
... 100 common frames omitted
2025-08-29T16:17:30.231+08:00 INFO 70423 --- [SpringContextShutdownHook] r.h.a.e.controller.DefaultController : Disposing controller run.halo.feed.telemetry.TelemetryRecorderDelegator
2025-08-29T16:17:30.232+08:00 INFO 70423 --- [run.halo.feed.telemetry.TelemetryRecorderDelegator-1] r.h.a.e.controller.DefaultController : Controller worker run.halo.feed.telemetry.TelemetryRecorderDelegator-worker-1 interrupted
2025-08-29T16:17:30.232+08:00 INFO 70423 --- [run.halo.feed.telemetry.TelemetryRecorderDelegator-1] r.h.a.e.controller.DefaultController : Controller worker run.halo.feed.telemetry.TelemetryRecorderDelegator-worker-1 is stopped
2025-08-29T16:17:30.232+08:00 INFO 70423 --- [SpringContextShutdownHook] r.h.a.e.controller.DefaultController : Controller run.halo.feed.telemetry.TelemetryRecorderDelegator is disposed