halo-dev / halo

强大易用的开源建站工具。
https://www.halo.run
GNU General Public License v3.0
33.2k stars 9.59k forks source link

在开发环境中,插件异常会导致系统启动之后无法正常使用 #2901

Closed ruibaby closed 1 year ago

ruibaby commented 1 year ago

是什么版本出现了此问题?

main branch

使用的什么数据库?

H2

使用的哪种方式部署?

Docker

在线站点地址

No response

发生了什么?

关于插件的配置:

halo:
  plugin:
    runtime-mode: development # development, deployment
    classes-directories:
      - "build/classes"
      - "build/resources"
    lib-directories:
      - "libs"
    fixedPluginPath:
      - "/Users/ryanwang/Workspace/github/ruibaby/halo-dev-plugins/plugin-highlightjs"

此时 plugin-highlightjs 还没有编译,在启动的时候就会出现以下的日志,这个时候虽然系统没有因为异常而 exit,但整个系统无法访问。

/kind bug /area core

仅包含关键日志,否则日志过多无法提交

相关日志输出

2022-12-09T10:44:32.542+08:00  INFO 4043 --- [nReconciler-t-1] org.pf4j.AbstractPluginManager           : Plugin 'PluginLightGallery@1.0.0-SNAPSHOT' resolved
2022-12-09T10:44:32.542+08:00  WARN 4043 --- [nReconciler-t-1] run.halo.app.plugin.HaloPluginManager    : Unable to find plugin descriptor file: plugin.yaml

org.pf4j.PluginRuntimeException: Unable to find plugin descriptor file: plugin.yaml
    at run.halo.app.plugin.YamlPluginFinder.getManifestPath(YamlPluginFinder.java:109) ~[main/:na]
    at run.halo.app.plugin.YamlPluginFinder.readPluginDescriptor(YamlPluginFinder.java:74) ~[main/:na]
    at run.halo.app.plugin.YamlPluginFinder.find(YamlPluginFinder.java:64) ~[main/:na]
    at run.halo.app.plugin.YamlPluginDescriptorFinder.find(YamlPluginDescriptorFinder.java:42) ~[main/:na]
    at org.pf4j.AbstractPluginManager.loadPluginFromPath(AbstractPluginManager.java:829) ~[pf4j-3.8.0.jar:3.8.0]
    at org.pf4j.DefaultPluginManager.loadPluginFromPath(DefaultPluginManager.java:139) ~[pf4j-3.8.0.jar:3.8.0]
    at run.halo.app.plugin.HaloPluginManager.loadPluginFromPath(HaloPluginManager.java:385) ~[main/:na]
    at org.pf4j.AbstractPluginManager.loadPlugin(AbstractPluginManager.java:201) ~[pf4j-3.8.0.jar:3.8.0]
    at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$ensurePluginLoaded$3(PluginReconciler.java:128) ~[main/:na]
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) ~[na:na]
    at run.halo.app.core.extension.reconciler.PluginReconciler.ensurePluginLoaded(PluginReconciler.java:126) ~[main/:na]
    at run.halo.app.core.extension.reconciler.PluginReconciler.reconcilePluginState(PluginReconciler.java:79) ~[main/:na]
    at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$0(PluginReconciler.java:64) ~[main/:na]
    at java.base/java.util.Optional.ifPresent(Optional.java:178) ~[na:na]
    at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:58) ~[main/:na]
    at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:42) ~[main/:na]
    at run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:162) ~[main/:na]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

2022-12-09T10:44:32.544+08:00 ERROR 4043 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Reconciler in run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 aborted with an error, re-enqueuing...

java.lang.NullPointerException: Cannot invoke "org.pf4j.PluginWrapper.getDescriptor()" because "pluginWrapper" is null
    at org.pf4j.AbstractPluginManager.loadPlugin(AbstractPluginManager.java:206) ~[pf4j-3.8.0.jar:3.8.0]
    at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$ensurePluginLoaded$3(PluginReconciler.java:128) ~[main/:na]
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) ~[na:na]
    at run.halo.app.core.extension.reconciler.PluginReconciler.ensurePluginLoaded(PluginReconciler.java:126) ~[main/:na]
    at run.halo.app.core.extension.reconciler.PluginReconciler.reconcilePluginState(PluginReconciler.java:79) ~[main/:na]
    at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$0(PluginReconciler.java:64) ~[main/:na]
    at java.base/java.util.Optional.ifPresent(Optional.java:178) ~[na:na]
    at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:58) ~[main/:na]
    at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:42) ~[main/:na]
    at run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:162) ~[main/:na]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

2022-12-09T10:44:32.544+08:00 DEBUG 4043 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 >>> Reconciling request Request[name=PluginUnsplash] at 2022-12-09T02:44:32.544633Z

## 略

2022-12-09T10:44:34.351+08:00 DEBUG 4043 --- [actor-tcp-nio-1] o.s.r2dbc.core.DefaultDatabaseClient     : Executing SQL statement [SELECT extensions.name, extensions.data, extensions.version FROM extensions WHERE extensions.name LIKE $1]
2022-12-09T10:44:34.409+08:00 ERROR 4043 --- [actor-tcp-nio-1] reactor.core.publisher.Operators         : Operator called default onErrorDropped

reactor.core.Exceptions$ErrorCallbackNotImplemented: org.apache.lucene.store.AlreadyClosedException: this Directory is closed
Caused by: org.apache.lucene.store.AlreadyClosedException: this Directory is closed
    at org.apache.lucene.store.BaseDirectory.ensureOpen(BaseDirectory.java:50) ~[lucene-core-9.4.1.jar:9.4.1 810817993e0956e63e29906e78a245949501b77d - ivera - 2022-10-20 15:29:24]
    at org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:291) ~[lucene-core-9.4.1.jar:9.4.1 810817993e0956e63e29906e78a245949501b77d - ivera - 2022-10-20 15:29:24]
    at org.apache.lucene.store.NativeFSLockFactory.obtainFSLock(NativeFSLockFactory.java:74) ~[lucene-core-9.4.1.jar:9.4.1 810817993e0956e63e29906e78a245949501b77d - ivera - 2022-10-20 15:29:24]
    at org.apache.lucene.store.FSLockFactory.obtainLock(FSLockFactory.java:43) ~[lucene-core-9.4.1.jar:9.4.1 810817993e0956e63e29906e78a245949501b77d - ivera - 2022-10-20 15:29:24]
    at org.apache.lucene.store.BaseDirectory.obtainLock(BaseDirectory.java:44) ~[lucene-core-9.4.1.jar:9.4.1 810817993e0956e63e29906e78a245949501b77d - ivera - 2022-10-20 15:29:24]
    at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:948) ~[lucene-core-9.4.1.jar:9.4.1 810817993e0956e63e29906e78a245949501b77d - ivera - 2022-10-20 15:29:24]
    at run.halo.app.search.post.LucenePostSearchService.addDocuments(LucenePostSearchService.java:98) ~[main/:na]
    at run.halo.app.search.IndicesServiceImpl.lambda$rebuildPostIndices$3(IndicesServiceImpl.java:43) ~[main/:na]
    at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:185) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxBuffer$BufferExactSubscriber.onComplete(FluxBuffer.java:185) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.doComplete(FluxPublishOn.java:505) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.checkTerminated(FluxPublishOn.java:552) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.runAsync(FluxPublishOn.java:432) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.run(FluxPublishOn.java:527) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.scheduler.ImmediateScheduler$ImmediateSchedulerWorker.schedule(ImmediateScheduler.java:84) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.trySchedule(FluxPublishOn.java:312) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.onComplete(FluxPublishOn.java:258) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:608) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlatMap$FlatMapMain.innerComplete(FluxFlatMap.java:894) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlatMap$FlatMapInner.onComplete(FluxFlatMap.java:997) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onComplete(FluxDefaultIfEmpty.java:139) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:246) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:421) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:686) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onNext(FluxFlattenIterable.java:250) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2034) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:118) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:341) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:686) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onComplete(FluxFlattenIterable.java:267) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2035) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:118) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onComplete(FluxMap.java:275) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber.deferredComplete(FluxUsingWhen.java:392) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxUsingWhen$CommitInner.onComplete(FluxUsingWhen.java:527) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Operators.complete(Operators.java:137) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoEmpty.subscribe(MonoEmpty.java:46) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Mono.subscribe(Mono.java:4444) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber.onComplete(FluxUsingWhen.java:384) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2168) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber.deferredComplete(FluxUsingWhen.java:392) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxUsingWhen$CommitInner.onComplete(FluxUsingWhen.java:527) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2168) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2168) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:209) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:209) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.pool.SimpleDequePool.maybeRecycleAndDrain(SimpleDequePool.java:531) ~[reactor-pool-1.0.0.jar:1.0.0]
    at reactor.pool.SimpleDequePool$QueuePoolRecyclerInner.onComplete(SimpleDequePool.java:761) ~[reactor-pool-1.0.0.jar:1.0.0]
    at reactor.core.publisher.Operators.complete(Operators.java:137) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoEmpty.subscribe(MonoEmpty.java:46) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Mono.subscribe(Mono.java:4444) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.pool.SimpleDequePool$QueuePoolRecyclerMono.subscribe(SimpleDequePool.java:873) ~[reactor-pool-1.0.0.jar:1.0.0]
    at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:240) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Operators.complete(Operators.java:137) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoEmpty.subscribe(MonoEmpty.java:46) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Mono.subscribe(Mono.java:4444) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:240) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:89) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onComplete(FluxHandleFuseable.java:238) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoSupplier$MonoSupplierSubscription.request(MonoSupplier.java:148) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.request(FluxHandleFuseable.java:259) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onSubscribe(MonoIgnoreElements.java:72) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onSubscribe(FluxHandleFuseable.java:163) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoSupplier.subscribe(MonoSupplier.java:48) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Mono.subscribe(Mono.java:4444) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Mono.subscribe(Mono.java:4444) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onError(MonoIgnoreElements.java:84) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFilter$FilterSubscriber.onError(FluxFilter.java:157) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFilter$FilterConditionalSubscriber.onError(FluxFilter.java:291) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onError(FluxMap.java:265) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Operators.error(Operators.java:198) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoError.subscribe(MonoError.java:53) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.Mono.subscribe(Mono.java:4444) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber.onComplete(FluxUsingWhen.java:384) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:608) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlatMap$FlatMapMain.innerComplete(FluxFlatMap.java:894) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFlatMap$FlatMapInner.onComplete(FluxFlatMap.java:997) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxHandle$HandleSubscriber.onComplete(FluxHandle.java:222) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onComplete(MonoFlatMapMany.java:260) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onComplete(FluxHandleFuseable.java:238) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onComplete(FluxFilterFuseable.java:391) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onComplete(FluxContextWrite.java:126) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:940) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:940) ~[reactor-core-3.5.0.jar:3.5.0]
    at io.r2dbc.postgresql.util.FluxDiscardOnCancel$FluxDiscardOnCancelSubscriber.onComplete(FluxDiscardOnCancel.java:104) ~[r2dbc-postgresql-1.0.0.RELEASE.jar:1.0.0.RELEASE]
    at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:128) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxHandle$HandleSubscriber.onComplete(FluxHandle.java:222) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxCreate$BaseSink.complete(FluxCreate.java:460) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxCreate$BufferAsyncSink.drain(FluxCreate.java:805) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxCreate$BufferAsyncSink.complete(FluxCreate.java:753) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxCreate$SerializedFluxSink.drainLoop(FluxCreate.java:247) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxCreate$SerializedFluxSink.drain(FluxCreate.java:213) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxCreate$SerializedFluxSink.complete(FluxCreate.java:204) ~[reactor-core-3.5.0.jar:3.5.0]
    at io.r2dbc.postgresql.client.ReactorNettyClient$Conversation.complete(ReactorNettyClient.java:671) ~[r2dbc-postgresql-1.0.0.RELEASE.jar:1.0.0.RELEASE]
    at io.r2dbc.postgresql.client.ReactorNettyClient$BackendMessageSubscriber.emit(ReactorNettyClient.java:937) ~[r2dbc-postgresql-1.0.0.RELEASE.jar:1.0.0.RELEASE]
    at io.r2dbc.postgresql.client.ReactorNettyClient$BackendMessageSubscriber.onNext(ReactorNettyClient.java:813) ~[r2dbc-postgresql-1.0.0.RELEASE.jar:1.0.0.RELEASE]
    at io.r2dbc.postgresql.client.ReactorNettyClient$BackendMessageSubscriber.onNext(ReactorNettyClient.java:719) ~[r2dbc-postgresql-1.0.0.RELEASE.jar:1.0.0.RELEASE]
    at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:128) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onNext(FluxPeekFuseable.java:854) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onNext(FluxMap.java:224) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onNext(FluxMap.java:224) ~[reactor-core-3.5.0.jar:3.5.0]
    at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:292) ~[reactor-netty-core-1.1.0.jar:1.1.0]
    at reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:401) ~[reactor-netty-core-1.1.0.jar:1.1.0]
    at reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:411) ~[reactor-netty-core-1.1.0.jar:1.1.0]
    at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113) ~[reactor-netty-core-1.1.0.jar:1.1.0]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.85.Final.jar:4.1.85.Final]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.85.Final.jar:4.1.85.Final]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

附加信息

No response

minliacom commented 1 year ago

解开jar 文件 确认一下 plugin.yaml 文件是否有打包进去,应该是你编译的时候有问题,我本地编译出来是可用的

image image image
minliacom commented 1 year ago

打包插件命令

echo "Building plugin project ${PLUGIN}"
gradle clean generatePluginComponentsIdx jar -x Test
ruibaby commented 1 year ago

@minliacom 感谢提醒,但我这里说的是不应该因为插件异常而导致系统无法正常访问,要么 exit,要么应该不受插件的影响。主要是带出了这个日志:

reactor.core.Exceptions$ErrorCallbackNotImplemented: org.apache.lucene.store.AlreadyClosedException: this Directory is closed
minliacom commented 1 year ago

把 halo2/indices 这个目录删除再试一下呢, 你是在插件项目启动的server吗

ruibaby commented 1 year ago

把 halo2/indices 这个目录删除再试一下呢, 你是在插件项目启动的server吗

不是,是通过配置 fixedPluginPath 来加载插件。目前没有确定在发行版本是否会因为插件加载异常导致 Halo 无法正常使用。

JohnNiang commented 1 year ago

我稍后尝试复现一下,看能不能找到 crash 的原因。

JohnNiang commented 1 year ago

我这边复现了该问题,Halo 无法正常启动,但似乎也无法正常退出,日志如下所示:

    __  __      __
   / / / /___ _/ /___
  / /_/ / __ `/ / __ \
 / __  / /_/ / / /_/ /
/_/ /_/\__,_/_/\____/

Version: 
2022-12-09T14:07:06.039+08:00  INFO 4348 --- [  restartedMain] run.halo.app.Application                 : Starting Application using Java 17.0.5 with PID 4348 (C:\Users\johnn\workspaces\halo-dev\halo\out\production\classes started by johnn in C:\Users\johnn\workspaces\halo-dev\halo)
2022-12-09T14:07:06.040+08:00 DEBUG 4348 --- [  restartedMain] run.halo.app.Application                 : Running with Spring Boot v3.0.0, Spring v6.0.2
2022-12-09T14:07:06.041+08:00  INFO 4348 --- [  restartedMain] run.halo.app.Application                 : The following 2 profiles are active: "dev", "win"
2022-12-09T14:07:06.114+08:00  INFO 4348 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2022-12-09T14:07:06.115+08:00  INFO 4348 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2022-12-09T14:07:11.406+08:00  INFO 4348 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode
2022-12-09T14:07:11.408+08:00  INFO 4348 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data R2DBC repositories in DEFAULT mode.
2022-12-09T14:07:11.626+08:00  INFO 4348 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 214 ms. Found 1 R2DBC repository interfaces.
2022-12-09T14:07:12.615+08:00  WARN 4348 --- [  restartedMain] ocalVariableTableParameterNameDiscoverer : Using deprecated '-debug' fallback for parameter name resolution. Compile the affected code with '-parameters' instead or avoid its introspection: run.halo.app.content.comment.CommentServiceImpl
2022-12-09T14:07:12.621+08:00  WARN 4348 --- [  restartedMain] ocalVariableTableParameterNameDiscoverer : Using deprecated '-debug' fallback for parameter name resolution. Compile the affected code with '-parameters' instead or avoid its introspection: run.halo.app.extension.ReactiveExtensionClientImpl
2022-12-09T14:07:12.624+08:00  WARN 4348 --- [  restartedMain] ocalVariableTableParameterNameDiscoverer : Using deprecated '-debug' fallback for parameter name resolution. Compile the affected code with '-parameters' instead or avoid its introspection: run.halo.app.extension.store.ReactiveExtensionStoreClientImpl
2022-12-09T14:07:12.925+08:00  INFO 4348 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2022-12-09T14:07:13.012+08:00  WARN 4348 --- [  restartedMain] ocalVariableTableParameterNameDiscoverer : Using deprecated '-debug' fallback for parameter name resolution. Compile the affected code with '-parameters' instead or avoid its introspection: run.halo.app.extension.store.ExtensionStoreRepository
2022-12-09T14:07:13.054+08:00  WARN 4348 --- [  restartedMain] ocalVariableTableParameterNameDiscoverer : Using deprecated '-debug' fallback for parameter name resolution. Compile the affected code with '-parameters' instead or avoid its introspection: run.halo.app.extension.JSONExtensionConverter
2022-12-09T14:07:13.055+08:00  WARN 4348 --- [  restartedMain] ocalVariableTableParameterNameDiscoverer : Using deprecated '-debug' fallback for parameter name resolution. Compile the affected code with '-parameters' instead or avoid its introspection: run.halo.app.config.ExtensionConfiguration
2022-12-09T14:07:13.077+08:00  WARN 4348 --- [  restartedMain] ocalVariableTableParameterNameDiscoverer : Using deprecated '-debug' fallback for parameter name resolution. Compile the affected code with '-parameters' instead or avoid its introspection: run.halo.app.plugin.ExtensionComponentsFinder
2022-12-09T14:07:13.305+08:00  INFO 4348 --- [  restartedMain] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 13 endpoint(s) beneath base path '/actuator'
2022-12-09T14:07:13.361+08:00  INFO 4348 --- [  restartedMain] org.pf4j.DefaultPluginStatusProvider     : Enabled plugins: []
2022-12-09T14:07:13.363+08:00  INFO 4348 --- [  restartedMain] org.pf4j.DefaultPluginStatusProvider     : Disabled plugins: []
2022-12-09T14:07:13.367+08:00  INFO 4348 --- [  restartedMain] org.pf4j.DefaultPluginManager            : PF4J version 3.8.0 in 'development' mode
2022-12-09T14:07:13.447+08:00 DEBUG 4348 --- [  restartedMain] run.halo.app.metrics.VisitLogWriter      : Starting write visit log...
2022-12-09T14:07:14.315+08:00  INFO 4348 --- [  restartedMain] r.halo.app.console.ConsoleProxyFilter    : Initialized ConsoleProxyFilter to proxy console
2022-12-09T14:07:14.320+08:00  WARN 4348 --- [  restartedMain] ocalVariableTableParameterNameDiscoverer : Using deprecated '-debug' fallback for parameter name resolution. Compile the affected code with '-parameters' instead or avoid its introspection: run.halo.app.config.WebServerSecurityConfig
2022-12-09T14:07:14.395+08:00  WARN 4348 --- [  restartedMain] ocalVariableTableParameterNameDiscoverer : Using deprecated '-debug' fallback for parameter name resolution. Compile the affected code with '-parameters' instead or avoid its introspection: run.halo.app.infra.exception.handlers.HaloErrorWebFluxAutoConfiguration
2022-12-09T14:07:14.414+08:00  WARN 4348 --- [  restartedMain] ocalVariableTableParameterNameDiscoverer : Using deprecated '-debug' fallback for parameter name resolution. Compile the affected code with '-parameters' instead or avoid its introspection: run.halo.app.plugin.PluginAutoConfiguration
2022-12-09T14:07:15.653+08:00  WARN 4348 --- [  restartedMain] ion$DefaultTemplateResolverConfiguration : Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false)
2022-12-09T14:07:16.021+08:00  INFO 4348 --- [  restartedMain] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port 8090
2022-12-09T14:07:16.022+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.search.post.PostEventReconciler
2022-12-09T14:07:16.026+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.search.post.PostEventReconciler-worker-1 started
2022-12-09T14:07:16.043+08:00  INFO 4348 --- [  restartedMain] run.halo.app.Application                 : Started Application in 10.479 seconds (process running for 25.088)
2022-12-09T14:07:16.365+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller garbage-collector-controller
2022-12-09T14:07:16.366+08:00  INFO 4348 --- [-controller-t-2] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-2 started
2022-12-09T14:07:16.366+08:00  INFO 4348 --- [-controller-t-3] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-3 started
2022-12-09T14:07:16.366+08:00  INFO 4348 --- [-controller-t-4] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-4 started
2022-12-09T14:07:16.366+08:00  INFO 4348 --- [-controller-t-5] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-5 started
2022-12-09T14:07:16.366+08:00  INFO 4348 --- [-controller-t-1] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-1 started
2022-12-09T14:07:16.367+08:00  INFO 4348 --- [-controller-t-6] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-6 started
2022-12-09T14:07:16.367+08:00  INFO 4348 --- [-controller-t-7] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-7 started
2022-12-09T14:07:16.367+08:00  INFO 4348 --- [-controller-t-8] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-8 started
2022-12-09T14:07:16.367+08:00  INFO 4348 --- [-controller-t-9] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-9 started
2022-12-09T14:07:16.367+08:00  INFO 4348 --- [controller-t-10] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-10 started
2022-12-09T14:07:16.367+08:00  INFO 4348 --- [  restartedMain] r.h.app.infra.DefaultThemeInitializer    : Initializing default theme from classpath:themes/theme-earth.zip
2022-12-09T14:07:16.452+08:00 DEBUG 4348 --- [oundedElastic-2] r.h.a.i.utils.YamlUnstructuredLoader     : Loading from YAML: file [C:\Users\johnn\AppData\Local\Temp\halo-theme-1815374478773258794\theme.yaml]
2022-12-09T14:07:16.454+08:00 DEBUG 4348 --- [oundedElastic-2] r.h.a.i.utils.YamlUnstructuredLoader     : Matched document with document matcher: {spec.author.website=https://halo.run, spec.repo=https://github.com/halo-dev/theme-earth.git, spec.version=1.0.0, apiVersion=theme.halo.run/v1alpha1, spec.website=https://github.com/halo-dev/theme-earth, spec.settingName=theme-earth-setting, spec.description=Default theme for Halo 2.0, metadata.name=theme-earth, spec.require=2.0.0, kind=Theme, spec.configMapName=theme-earth-configMap, spec.displayName=Earth, spec.author.name=halo-dev, spec.logo=https://halo.run/logo}
2022-12-09T14:07:16.460+08:00 DEBUG 4348 --- [oundedElastic-2] r.h.a.i.utils.YamlUnstructuredLoader     : Loaded 1 document from YAML resource: file [C:\Users\johnn\AppData\Local\Temp\halo-theme-1815374478773258794\theme.yaml]
2022-12-09T14:07:16.577+08:00 DEBUG 4348 --- [oundedElastic-2] r.h.a.i.utils.YamlUnstructuredLoader     : Loading from YAML: file [C:\Users\johnn\halo2-dev\themes\theme-earth\settings.yaml]
2022-12-09T14:07:16.591+08:00 DEBUG 4348 --- [oundedElastic-2] r.h.a.i.utils.YamlUnstructuredLoader     : Matched document with document matcher: {spec.forms[3].formSchema[3].rows=3, spec.forms[3].formSchema[1].name=logo, spec.forms[3].formSchema[6].children[0].options[1].value=i-simple-icons-wechat, spec.forms[3].formSchema[6].children[0].options[3].label=新浪微博, spec.forms[4].formSchema[1].label=ICP备案跳转链接, spec.forms[3].formSchema[6].children[0].options[7].label=抖音 / TikTok, spec.forms[3].formSchema[6].children[0].options[5].value=i-simple-icons-douban, apiVersion=v1alpha1, spec.forms[4].formSchema[0].$formkit=text, metadata.name=theme-earth-setting, spec.forms[3].formSchema[1].label=Logo, spec.forms[2].formSchema[0].value[0].value=popular-posts, spec.forms[3].formSchema[3].if=$get(style).value === style_2, spec.forms[0].formSchema[2].options[1].label=图片, spec.forms[2].formSchema[2].children[3].options[0].label=跳转链接, spec.forms[3].formSchema[3].id=slogan, spec.forms[3].formSchema[6].children[3].name=url_type, spec.forms[2].label=侧边栏, spec.forms[3].formSchema[6].children[0].options[12].label=Twitter, spec.forms[0].formSchema[4].$formkit=attachment, spec.forms[2].formSchema[2].children[0].options[2].value=i-simple-icons-tencentqq, spec.forms[3].formSchema[6].children[0].options[16].label=Steam, spec.forms[0].formSchema[1].options[1].label=最新一篇文章, spec.forms[3].formSchema[5].label=菜单组, spec.forms[1].formSchema[1].label=允许访客切换配色, spec.forms[1].formSchema[0].name=color_scheme, spec.forms[0].formSchema[2].name=header_background_type, spec.forms[0].formSchema[2].id=header_background_type, spec.forms[3].formSchema[6].children[0].options[9].value=i-simple-icons-facebook, spec.forms[2].formSchema[2].children[0].options[6].value=i-simple-icons-bilibili, spec.forms[3].formSchema[0].options[1].value=style_2, spec.forms[2].formSchema[0].children[0].options[1].value=popular-posts, spec.forms[2].formSchema[2].children[0].options[11].label=LinkedIn, spec.forms[2].formSchema[2].children[0].options[15].label=YouTube, spec.forms[3].formSchema[6].name=social_media, spec.forms[3].formSchema[6].children[0].label=图标, spec.forms[0].formSchema[4].value=/themes/theme-earth/assets/images/default-background.png, spec.forms[1].formSchema[1].$formkit=checkbox, spec.forms[2].formSchema[2].children[2].label=链接, spec.forms[3].formSchema[6].children[3].label=链接类型, spec.forms[2].formSchema[2].children[1].label=名称, spec.forms[0].formSchema[2].$formkit=select, spec.forms[1].formSchema[0].value=system, spec.forms[3].group=footer, spec.forms[3].formSchema[5].key=menus, spec.forms[0].formSchema[1].label=首页顶部模块, spec.forms[3].formSchema[6].children[2].$formkit=text, spec.forms[2].formSchema[2].children[3].value=normal, spec.forms[2].formSchema[2].children[0].options[9].label=Facebook, spec.forms[2].formSchema[2].children[0].options[14].label=Discord, spec.forms[2].formSchema[2].children[0].options[4].label=知乎, spec.forms[3].formSchema[6].children[3].options[0].value=normal, spec.forms[3].formSchema[6].children[0].options[15].label=YouTube, spec.forms[3].formSchema[6].children[0].options[14].value=i-simple-icons-discord, spec.forms[0].formSchema[5].options[1].label=隐藏, spec.forms[1].formSchema[0].options[1].value=dark, spec.forms[0].formSchema[4].name=header_background_image, spec.forms[0].formSchema[2].options[0].value=manual, spec.forms[0].formSchema[0].help=选择单条时,文章卡片的图片将位于左侧, spec.forms[1].formSchema[0].options[0].label=跟随系统, spec.forms[3].formSchema[0].value=style_1, spec.forms[3].formSchema[3].name=slogan, spec.forms[2].formSchema[2].children[0].options[13].value=i-simple-icons-slack, spec.forms[2].formSchema[2].children[0].$formkit=select, spec.forms[3].formSchema[6].children[0].options[4].label=知乎, spec.forms[3].formSchema[6].children[0].options[0].value=i-tabler-mail, spec.forms[3].formSchema[6].children[0].options[8].label=Telegram, spec.forms[2].formSchema[2].children[2].name=url, spec.forms[3].formSchema[6].children[0].options[2].label=腾讯 QQ, spec.forms[3].formSchema[4].name=menu, spec.forms[3].formSchema[2].help=如果不设置,将使用站点设置的标题, spec.forms[3].formSchema[6].children[0].options[4].value=i-simple-icons-zhihu, spec.forms[2].formSchema[1].name=profile, spec.forms[3].formSchema[3].$formkit=textarea, spec.forms[4].formSchema[1].name=icp_link, spec.forms[2].formSchema[0].children[0].options[2].label=文章分类, spec.forms[0].formSchema[0].name=post_list_layout, spec.forms[2].formSchema[0].children[0].options[0].value=profile, spec.forms[2].formSchema[2].children[0].options[1].label=微信, spec.forms[3].formSchema[6].children[0].name=icon, spec.forms[2].formSchema[2].label=社交媒体, spec.forms[2].formSchema[0].name=widgets, spec.forms[0].formSchema[4].if=$get(header_background_type).value === image, spec.forms[2].formSchema[2].children[0].options[16].value=i-simple-icons-steam, spec.forms[0].formSchema[4].id=header_background_image, spec.forms[3].formSchema[6].children[0].options[17].label=GitHub, spec.forms[2].formSchema[2].value=, spec.forms[0].formSchema[1].name=header_widget, spec.forms[3].formSchema[6].value=, spec.forms[0].formSchema[1].options[0].value=none, spec.forms[3].formSchema[1].help=如果不设置,将使用站点设置的 Logo, spec.forms[3].formSchema[4].$formkit=menuRadio, spec.forms[3].formSchema[6].children[0].options[13].value=i-simple-icons-slack, spec.forms[2].formSchema[1].value.logo=, spec.forms[3].formSchema[6].label=社交媒体, spec.forms[0].formSchema[1].options[0].label=无, spec.forms[3].formSchema[6].children[0].options[17].value=i-simple-icons-github, spec.forms[1].formSchema[0].options[2].value=light, spec.forms[3].formSchema[6].children[1].name=name, spec.forms[1].formSchema[0].options[2].label=浅色, spec.forms[0].formSchema[4].label=首页顶部背景图片, spec.forms[0].formSchema[0].label=文章列表布局, spec.forms[0].formSchema[0].value=grid_3, spec.forms[0].formSchema[3].key=header_background, spec.forms[3].label=页脚, spec.forms[2].formSchema[2].children[2].$formkit=text, spec.forms[3].formSchema[6].children[2].name=url, spec.forms[2].formSchema[2].children[0].label=图标, spec.forms[3].formSchema[6].$formkit=repeater, spec.forms[3].formSchema[6].children[3].help=如果选择了图片类型,那么在访客点击之后会使用弹框的形式加载, spec.forms[2].formSchema[2].children[3].name=url_type, spec.forms[2].formSchema[2].children[0].options[7].value=i-simple-icons-tiktok, spec.forms[0].formSchema[0].options[0].value=grid_3, spec.forms[2].formSchema[2].children[0].options[12].value=i-simple-icons-twitter, spec.forms[0].formSchema[5].label=文章页顶部, spec.forms[0].formSchema[1].value=site_title, spec.forms[2].formSchema[2].children[0].options[10].label=Instagram, spec.forms[2].formSchema[2].children[0].name=icon, spec.forms[2].formSchema[2].children[0].options[16].label=Steam, spec.forms[2].formSchema[2].children[0].options[5].label=豆瓣, spec.forms[2].formSchema[2].children[0].options[17].value=i-simple-icons-github, spec.forms[3].formSchema[6].children[3].options[1].value=image, spec.forms[2].formSchema[2].children[0].options[1].value=i-simple-icons-wechat, spec.forms[3].formSchema[6].children[0].options[11].label=LinkedIn, spec.forms[2].formSchema[1].$formkit=group, spec.forms[3].formSchema[5].children[0].name=name, spec.forms[0].formSchema[2].options[1].value=image, spec.forms[3].formSchema[6].children[0].options[18].value=i-simple-icons-gitlab, spec.forms[2].formSchema[2].children[1].name=name, spec.forms[3].formSchema[0].label=页脚风格, spec.forms[0].formSchema[2].options[0].label=手动设置, spec.forms[2].formSchema[0].children[0].label=部件, spec.forms[2].formSchema[0].children[0].options[3].label=文章标签, spec.forms[2].formSchema[2].children[3].$formkit=radio, spec.forms[3].formSchema[6].children[3].options[0].label=跳转链接, spec.forms[3].formSchema[5].$formkit=repeater, spec.forms[0].formSchema[3].id=header_background, spec.forms[0].formSchema[3].if=$get(header_background_type).value === manual, spec.forms[2].formSchema[2].children[0].options[0].label=电子邮箱, spec.forms[3].formSchema[6].children[0].options[5].label=豆瓣, spec.forms[2].formSchema[0].children[0].options[3].value=tags, spec.forms[3].formSchema[6].children[0].options[9].label=Facebook, spec.forms[3].formSchema[6].children[0].options[1].label=微信, spec.forms[2].formSchema[2].children[3].options[0].value=normal, spec.forms[4].formSchema[1].$formkit=text, spec.forms[3].formSchema[6].children[0].options[7].value=i-simple-icons-tiktok, spec.forms[3].formSchema[6].children[0].options[3].value=i-simple-icons-sinaweibo, spec.forms[2].formSchema[2].children[3].help=如果选择了图片类型,那么在访客点击之后会使用弹框的形式加载, spec.forms[2].formSchema[0].children[0].name=value, spec.forms[3].formSchema[3].label=标语, spec.forms[4].formSchema[1].value=https://beian.miit.gov.cn/, spec.forms[1].formSchema[0].options[1].label=深色, spec.forms[2].formSchema[2].$formkit=repeater, spec.forms[2].formSchema[0].value[2].value=tags, spec.forms[0].formSchema[3].name=header_background, spec.forms[0].label=布局, spec.forms[4].label=备案设置, spec.forms[2].formSchema[2].children[0].options[6].label=哔哩哔哩, spec.forms[3].formSchema[0].id=style, spec.forms[3].formSchema[6].children[1].$formkit=text, spec.forms[2].formSchema[2].children[0].options[15].value=i-simple-icons-youtube, spec.forms[3].formSchema[5].value=, spec.forms[0].formSchema[1].options[1].value=latest_post, spec.forms[2].formSchema[1].children[0].name=logo, spec.forms[3].formSchema[6].children[0].options[12].value=i-simple-icons-twitter, spec.forms[3].formSchema[6].children[0].options[16].value=i-simple-icons-steam, spec.forms[2].formSchema[2].children[1].$formkit=text, spec.forms[0].formSchema[5].$formkit=radio, spec.forms[3].formSchema[0].name=style, spec.forms[1].formSchema[1].value=true, spec.forms[2].formSchema[0].children[0].options[1].label=热门文章, spec.forms[4].group=beian, spec.forms[0].group=layout, spec.forms[2].formSchema[0].$formkit=repeater, spec.forms[3].formSchema[5].children[0].validation=required, spec.forms[2].formSchema[2].children[0].options[11].value=i-simple-icons-linkedin, spec.forms[3].formSchema[0].key=style, spec.forms[1].formSchema[1].name=enable_change_color_scheme, spec.forms[2].formSchema[2].children[0].options[2].label=腾讯 QQ, spec.forms[3].formSchema[0].options[1].label=风格二, spec.forms[0].formSchema[2].value=image, spec.forms[0].formSchema[4].key=header_background_image, spec.forms[3].formSchema[6].children[2].label=链接, spec.forms[4].formSchema[0].name=icp_text, spec.forms[3].formSchema[5].name=menus, spec.forms[3].formSchema[6].children[3].$formkit=radio, spec.forms[2].formSchema[2].children[0].options[12].label=Twitter, spec.forms[1].formSchema[0].$formkit=radio, spec.forms[2].formSchema[2].name=social_media, spec.forms[0].formSchema[3].label=首页顶部背景, spec.forms[2].formSchema[2].children[0].options[5].value=i-simple-icons-douban, spec.forms[1].group=style, spec.forms[2].formSchema[2].children[0].options[10].value=i-simple-icons-instagram, spec.forms[0].formSchema[5].value=true, spec.forms[2].formSchema[2].children[0].options[7].label=抖音 / TikTok, spec.forms[0].formSchema[0].options[0].label=网格(一行三列), spec.forms[3].formSchema[0].options[0].label=风格一, spec.forms[2].formSchema[2].children[0].options[18].value=i-simple-icons-gitlab, spec.forms[3].formSchema[4].key=menu, spec.forms[3].formSchema[6].children[0].options[10].label=Instagram, spec.forms[2].formSchema[2].children[0].options[0].value=i-tabler-mail, spec.forms[3].formSchema[6].children[0].options[18].label=GitLab, spec.forms[3].formSchema[5].children[0].label=菜单, spec.forms[3].formSchema[6].children[3].options[1].label=图片, spec.forms[0].formSchema[1].options[2].value=latest_post_grid, spec.forms[0].formSchema[1].options[3].label=站点标题, spec.forms[3].formSchema[2].name=title, spec.forms[3].formSchema[6].children[0].options[11].value=i-simple-icons-linkedin, spec.forms[3].formSchema[4].label=右侧菜单, spec.forms[0].formSchema[3].$formkit=text, spec.forms[2].formSchema[2].children[0].options[8].value=i-simple-icons-telegram, spec.forms[0].formSchema[5].name=content_header, spec.forms[0].formSchema[0].options[1].value=grid_2, spec.forms[2].formSchema[2].children[3].options[1].label=图片, spec.forms[2].formSchema[2].children[0].options[17].label=GitHub, spec.forms[3].formSchema[5].if=$get(style).value === style_2, spec.forms[3].formSchema[6].children[0].options[6].label=哔哩哔哩, spec.forms[3].formSchema[2].$formkit=text, spec.forms[3].formSchema[5].id=menus, spec.forms[2].formSchema[0].children[0].options[2].value=categories, spec.forms[3].formSchema[6].children[0].options[2].value=i-simple-icons-tencentqq, spec.forms[3].formSchema[6].children[0].options[0].label=电子邮箱, spec.forms[4].formSchema[0].label=ICP备案号, spec.forms[2].formSchema[2].children[3].options[1].value=image, spec.forms[3].formSchema[6].children[0].options[6].value=i-simple-icons-bilibili, spec.forms[3].formSchema[6].children[0].options[8].value=i-simple-icons-telegram, spec.forms[0].formSchema[5].options[0].value=true, spec.forms[3].formSchema[1].$formkit=attachment, spec.forms[3].formSchema[0].options[0].value=style_1, spec.forms[2].formSchema[0].children[0].options[0].label=站点资料, spec.forms[2].formSchema[0].label=小部件, spec.forms[2].formSchema[2].children[0].options[3].label=新浪微博, spec.forms[3].formSchema[6].children[0].options[13].label=Slack, spec.forms[0].formSchema[0].options[2].label=单条, spec.forms[3].formSchema[0].$formkit=select, spec.forms[2].formSchema[1].children[0].$formkit=attachment, spec.forms[2].formSchema[2].children[2].validation=required, spec.forms[3].formSchema[6].children[2].validation=required, spec.forms[2].formSchema[2].children[0].options[3].value=i-simple-icons-sinaweibo, spec.forms[1].formSchema[0].label=默认配色, spec.forms[0].formSchema[5].options[0].label=显示, spec.forms[2].formSchema[0].value[1].value=categories, spec.forms[3].formSchema[2].label=标题, spec.forms[3].formSchema[3].key=slogan, spec.forms[3].formSchema[6].children[3].value=normal, spec.forms[3].formSchema[5].children[0].$formkit=menuRadio, spec.forms[3].formSchema[6].children[1].label=名称, spec.forms[3].formSchema[4].id=menu, spec.forms[2].formSchema[2].children[3].label=链接类型, spec.forms[3].formSchema[4].if=$get(style).value === style_1, kind=Setting, spec.forms[2].formSchema[2].children[0].options[9].value=i-simple-icons-facebook, spec.forms[0].formSchema[1].$formkit=select, spec.forms[0].formSchema[0].options[2].value=single, spec.forms[2].formSchema[2].children[0].options[14].value=i-simple-icons-discord, spec.forms[2].formSchema[2].children[0].options[18].label=GitLab, spec.forms[0].formSchema[1].options[3].value=site_title, spec.forms[0].formSchema[0].options[1].label=网格(一行两列), spec.forms[3].formSchema[6].children[0].options[14].label=Discord, spec.forms[0].formSchema[2].key=header_background_type, spec.forms[2].formSchema[1].children[0].label=站点资料 Logo, spec.forms[0].formSchema[0].$formkit=select, spec.forms[2].formSchema[0].children[0].$formkit=select, spec.forms[0].formSchema[1].options[2].label=文章网格(最新五篇文章), spec.forms[1].formSchema[0].options[0].value=system, spec.forms[3].formSchema[6].children[0].options[10].value=i-simple-icons-instagram, spec.forms[3].formSchema[6].children[0].options[15].value=i-simple-icons-youtube, spec.forms[0].formSchema[5].options[1].value=false, spec.forms[3].formSchema[6].children[0].$formkit=select, spec.forms[2].group=sidebar, spec.forms[2].formSchema[2].children[0].options[4].value=i-simple-icons-zhihu, spec.forms[0].formSchema[2].label=首页顶部背景, spec.forms[2].formSchema[2].children[0].options[8].label=Telegram, spec.forms[2].formSchema[2].children[0].options[13].label=Slack, spec.forms[1].label=样式}
2022-12-09T14:07:16.594+08:00 DEBUG 4348 --- [oundedElastic-2] r.h.a.i.utils.YamlUnstructuredLoader     : Loaded 1 document from YAML resource: file [C:\Users\johnn\halo2-dev\themes\theme-earth\settings.yaml]
2022-12-09T14:07:16.602+08:00  INFO 4348 --- [oundedElastic-2] r.h.app.infra.DefaultThemeInitializer    : Initialized default theme: theme-earth
2022-12-09T14:07:16.611+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.attachment.AttachmentReconciler
2022-12-09T14:07:16.612+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.CategoryReconciler
2022-12-09T14:07:16.612+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.attachment.AttachmentReconciler-worker-1 started
2022-12-09T14:07:16.612+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.attachment.Attachment) synchronizer...
2022-12-09T14:07:16.612+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.CommentReconciler
2022-12-09T14:07:16.612+08:00 DEBUG 4348 --- [oundedElastic-2] run.halo.app.infra.utils.FileUtils       : Delete C:\Users\johnn\AppData\Local\Temp\halo-theme-1815374478773258794 result: true
2022-12-09T14:07:16.612+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.MenuItemReconciler
2022-12-09T14:07:16.612+08:00  INFO 4348 --- [yReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.CategoryReconciler-worker-1 started
2022-12-09T14:07:16.612+08:00  INFO 4348 --- [yReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.content.Category) synchronizer...
2022-12-09T14:07:16.613+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.PluginReconciler
2022-12-09T14:07:16.613+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.CommentReconciler-worker-1 started
2022-12-09T14:07:16.613+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.content.Comment) synchronizer...
2022-12-09T14:07:16.613+08:00  INFO 4348 --- [mReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.MenuItemReconciler-worker-1 started
2022-12-09T14:07:16.613+08:00  INFO 4348 --- [mReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.MenuItem) synchronizer...
2022-12-09T14:07:16.613+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.PostReconciler
2022-12-09T14:07:16.613+08:00  INFO 4348 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 started
2022-12-09T14:07:16.613+08:00  INFO 4348 --- [nReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.Plugin) synchronizer...
2022-12-09T14:07:16.613+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-1 started
2022-12-09T14:07:16.613+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.content.Post) synchronizer...
2022-12-09T14:07:16.614+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.ReverseProxyReconciler
2022-12-09T14:07:16.614+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.RoleBindingReconciler
2022-12-09T14:07:16.614+08:00  INFO 4348 --- [tReconciler-t-2] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-2 started
2022-12-09T14:07:16.615+08:00  INFO 4348 --- [tReconciler-t-3] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-3 started
2022-12-09T14:07:16.615+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.RoleReconciler
2022-12-09T14:07:16.615+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.SinglePageReconciler
2022-12-09T14:07:16.615+08:00  INFO 4348 --- [tReconciler-t-9] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-9 started
2022-12-09T14:07:16.615+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.SystemSettingReconciler
2022-12-09T14:07:16.615+08:00  INFO 4348 --- [tReconciler-t-7] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-7 started
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.TagReconciler
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [Reconciler-t-10] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-10 started
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [tReconciler-t-5] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-5 started
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.ThemeReconciler
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [tReconciler-t-4] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-4 started
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [tReconciler-t-8] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-8 started
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [yReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.ReverseProxyReconciler-worker-1 started
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [yReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.ReverseProxy) synchronizer...
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Starting controller run.halo.app.core.extension.reconciler.UserReconciler
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [tReconciler-t-6] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-6 started
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.RoleBindingReconciler-worker-1 started
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.RoleBinding) synchronizer...
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.RoleReconciler-worker-1 started
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.SinglePageReconciler-worker-1 started
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.content.SinglePage) synchronizer...
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.Role) synchronizer...
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.SystemSettingReconciler-worker-1 started
2022-12-09T14:07:16.616+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.extension.ConfigMap) synchronizer...
2022-12-09T14:07:16.618+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.TagReconciler-worker-1 started
2022-12-09T14:07:16.618+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.content.Tag) synchronizer...
2022-12-09T14:07:16.619+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.ThemeReconciler-worker-1 started
2022-12-09T14:07:16.619+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.Theme) synchronizer...
2022-12-09T14:07:16.620+08:00  INFO 4348 --- [rReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.UserReconciler-worker-1 started
2022-12-09T14:07:16.620+08:00  INFO 4348 --- [rReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(class run.halo.app.core.extension.User) synchronizer...
2022-12-09T14:07:16.620+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.content.Comment) synchronizer.
2022-12-09T14:07:16.622+08:00  INFO 4348 --- [nReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.Plugin) synchronizer.
2022-12-09T14:07:16.622+08:00  INFO 4348 --- [         task-1] run.halo.app.search.IndicesInitializer   : Initialize post indices...
2022-12-09T14:07:16.624+08:00  INFO 4348 --- [mReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.MenuItem) synchronizer.
2022-12-09T14:07:16.626+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.attachment.Attachment) synchronizer.
2022-12-09T14:07:16.629+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.content.Post) synchronizer.
2022-12-09T14:07:16.631+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.content.SinglePage) synchronizer.
2022-12-09T14:07:16.633+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.RoleBinding) synchronizer.
2022-12-09T14:07:16.630+08:00  WARN 4348 --- [  restartedMain] run.halo.app.plugin.HaloPluginManager    : Unable to find plugin descriptor file: plugin.yaml

org.pf4j.PluginRuntimeException: Unable to find plugin descriptor file: plugin.yaml
    at run.halo.app.plugin.YamlPluginFinder.getManifestPath(YamlPluginFinder.java:109) ~[classes/:na]
    at run.halo.app.plugin.YamlPluginFinder.readPluginDescriptor(YamlPluginFinder.java:74) ~[classes/:na]
    at run.halo.app.plugin.YamlPluginFinder.find(YamlPluginFinder.java:64) ~[classes/:na]
    at run.halo.app.plugin.YamlPluginDescriptorFinder.find(YamlPluginDescriptorFinder.java:42) ~[classes/:na]
    at org.pf4j.AbstractPluginManager.loadPluginFromPath(AbstractPluginManager.java:829) ~[pf4j-3.8.0.jar:3.8.0]
    at org.pf4j.DefaultPluginManager.loadPluginFromPath(DefaultPluginManager.java:139) ~[pf4j-3.8.0.jar:3.8.0]
    at run.halo.app.plugin.HaloPluginManager.loadPluginFromPath(HaloPluginManager.java:385) ~[classes/:na]
    at org.pf4j.AbstractPluginManager.loadPlugin(AbstractPluginManager.java:201) ~[pf4j-3.8.0.jar:3.8.0]
    at run.halo.app.plugin.PluginDevelopmentInitializer.createFixedPluginIfNecessary(PluginDevelopmentInitializer.java:46) ~[classes/:na]
    at run.halo.app.plugin.PluginDevelopmentInitializer.onApplicationEvent(PluginDevelopmentInitializer.java:37) ~[classes/:na]
    at run.halo.app.plugin.PluginDevelopmentInitializer.onApplicationEvent(PluginDevelopmentInitializer.java:16) ~[classes/:na]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) ~[spring-context-6.0.2.jar:6.0.2]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) ~[spring-context-6.0.2.jar:6.0.2]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) ~[spring-context-6.0.2.jar:6.0.2]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:413) ~[spring-context-6.0.2.jar:6.0.2]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:370) ~[spring-context-6.0.2.jar:6.0.2]
    at org.springframework.boot.context.event.EventPublishingRunListener.ready(EventPublishingRunListener.java:109) ~[spring-boot-3.0.0.jar:3.0.0]
    at org.springframework.boot.SpringApplicationRunListeners.lambda$ready$6(SpringApplicationRunListeners.java:80) ~[spring-boot-3.0.0.jar:3.0.0]
    at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
    at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) ~[spring-boot-3.0.0.jar:3.0.0]
    at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:112) ~[spring-boot-3.0.0.jar:3.0.0]
    at org.springframework.boot.SpringApplicationRunListeners.ready(SpringApplicationRunListeners.java:80) ~[spring-boot-3.0.0.jar:3.0.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) ~[spring-boot-3.0.0.jar:3.0.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1302) ~[spring-boot-3.0.0.jar:3.0.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1291) ~[spring-boot-3.0.0.jar:3.0.0]
    at run.halo.app.Application.main(Application.java:25) ~[classes/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-3.0.0.jar:3.0.0]

2022-12-09T14:07:16.635+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.Role) synchronizer.
2022-12-09T14:07:16.637+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.extension.ConfigMap) synchronizer.
2022-12-09T14:07:16.640+08:00  INFO 4348 --- [yReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.ReverseProxy) synchronizer.
2022-12-09T14:07:16.642+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.content.Tag) synchronizer.
2022-12-09T14:07:16.668+08:00 DEBUG 4348 --- [eReconciler-t-1] r.h.a.e.controller.DefaultDelayQueue     : Adding request Request[name=theme-earth] immediately
2022-12-09T14:07:16.669+08:00  INFO 4348 --- [rReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.User) synchronizer.
2022-12-09T14:07:16.670+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.Theme) synchronizer.
2022-12-09T14:07:16.672+08:00 DEBUG 4348 --- [yReconciler-t-1] r.h.app.plugin.SpringComponentsFinder    : Reading components storages from classpath
2022-12-09T14:07:16.672+08:00 DEBUG 4348 --- [yReconciler-t-1] r.h.app.plugin.SpringComponentsFinder    : Reading components storages from plugins
2022-12-09T14:07:16.680+08:00 ERROR 4348 --- [  restartedMain] o.s.boot.SpringApplication               : Application run failed

java.lang.NullPointerException: Cannot invoke "org.pf4j.PluginWrapper.getDescriptor()" because "pluginWrapper" is null
    at org.pf4j.AbstractPluginManager.loadPlugin(AbstractPluginManager.java:206) ~[pf4j-3.8.0.jar:3.8.0]
    at run.halo.app.plugin.PluginDevelopmentInitializer.createFixedPluginIfNecessary(PluginDevelopmentInitializer.java:46) ~[classes/:na]
    at run.halo.app.plugin.PluginDevelopmentInitializer.onApplicationEvent(PluginDevelopmentInitializer.java:37) ~[classes/:na]
    at run.halo.app.plugin.PluginDevelopmentInitializer.onApplicationEvent(PluginDevelopmentInitializer.java:16) ~[classes/:na]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) ~[spring-context-6.0.2.jar:6.0.2]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) ~[spring-context-6.0.2.jar:6.0.2]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) ~[spring-context-6.0.2.jar:6.0.2]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:413) ~[spring-context-6.0.2.jar:6.0.2]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:370) ~[spring-context-6.0.2.jar:6.0.2]
    at org.springframework.boot.context.event.EventPublishingRunListener.ready(EventPublishingRunListener.java:109) ~[spring-boot-3.0.0.jar:3.0.0]
    at org.springframework.boot.SpringApplicationRunListeners.lambda$ready$6(SpringApplicationRunListeners.java:80) ~[spring-boot-3.0.0.jar:3.0.0]
    at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
    at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) ~[spring-boot-3.0.0.jar:3.0.0]
    at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:112) ~[spring-boot-3.0.0.jar:3.0.0]
    at org.springframework.boot.SpringApplicationRunListeners.ready(SpringApplicationRunListeners.java:80) ~[spring-boot-3.0.0.jar:3.0.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) ~[spring-boot-3.0.0.jar:3.0.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1302) ~[spring-boot-3.0.0.jar:3.0.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1291) ~[spring-boot-3.0.0.jar:3.0.0]
    at run.halo.app.Application.main(Application.java:25) ~[classes/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-3.0.0.jar:3.0.0]

2022-12-09T14:07:16.683+08:00  INFO 4348 --- [yReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(class run.halo.app.core.extension.content.Category) synchronizer.
2022-12-09T14:07:16.683+08:00  INFO 4348 --- [         task-1] run.halo.app.search.IndicesInitializer   : Initialized post indices. Usage: StopWatch 'PostIndicesWatch': running time = 60084700 ns; [rebuild] took 60084700 ns = 100%
2022-12-09T14:07:16.685+08:00 DEBUG 4348 --- [  restartedMain] r.halo.app.metrics.CounterMeterHandler   : Persist counter meters to database before destroy...
2022-12-09T14:07:16.687+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.search.post.PostEventReconciler
2022-12-09T14:07:16.687+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.search.post.PostEventReconciler-worker-1 interrupted
2022-12-09T14:07:16.687+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.search.post.PostEventReconciler-worker-1 is stopped
2022-12-09T14:07:16.687+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.search.post.PostEventReconciler is disposed
2022-12-09T14:07:16.689+08:00 DEBUG 4348 --- [eReconciler-t-1] r.h.a.e.controller.DefaultController     : run.halo.app.core.extension.reconciler.ThemeReconciler-worker-1 >>> Reconciling request Request[name=theme-earth] at 2022-12-09T06:07:16.689668Z
2022-12-09T14:07:16.693+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down 14 controllers...
2022-12-09T14:07:16.693+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.SystemSettingReconciler...
2022-12-09T14:07:16.693+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.SystemSettingReconciler
2022-12-09T14:07:16.693+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.SystemSettingReconciler-worker-1 interrupted
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.SystemSettingReconciler-worker-1 is stopped
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.SystemSettingReconciler is disposed
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.SystemSettingReconciler successfully
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.RoleReconciler...
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.RoleReconciler
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.RoleReconciler-worker-1 interrupted
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.RoleReconciler-worker-1 is stopped
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.RoleReconciler is disposed
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.RoleReconciler successfully
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.MenuItemReconciler...
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.MenuItemReconciler
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [mReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.MenuItemReconciler-worker-1 interrupted
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [mReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.MenuItemReconciler-worker-1 is stopped
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.MenuItemReconciler is disposed
2022-12-09T14:07:16.694+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.MenuItemReconciler successfully
2022-12-09T14:07:16.695+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.PostReconciler...
2022-12-09T14:07:16.695+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.PostReconciler
2022-12-09T14:07:16.695+08:00  INFO 4348 --- [Reconciler-t-10] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-10 interrupted
2022-12-09T14:07:16.695+08:00  INFO 4348 --- [tReconciler-t-8] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-8 interrupted
2022-12-09T14:07:16.695+08:00  INFO 4348 --- [tReconciler-t-8] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-8 is stopped
2022-12-09T14:07:16.695+08:00  INFO 4348 --- [tReconciler-t-3] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-3 interrupted
2022-12-09T14:07:16.696+08:00  INFO 4348 --- [tReconciler-t-9] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-9 interrupted
2022-12-09T14:07:16.696+08:00  INFO 4348 --- [tReconciler-t-9] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-9 is stopped
2022-12-09T14:07:16.695+08:00  INFO 4348 --- [Reconciler-t-10] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-10 is stopped
2022-12-09T14:07:16.696+08:00  INFO 4348 --- [tReconciler-t-3] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-3 is stopped
2022-12-09T14:07:16.696+08:00  INFO 4348 --- [tReconciler-t-5] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-5 interrupted
2022-12-09T14:07:16.696+08:00  INFO 4348 --- [tReconciler-t-5] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-5 is stopped
2022-12-09T14:07:16.696+08:00  INFO 4348 --- [tReconciler-t-4] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-4 interrupted
2022-12-09T14:07:16.696+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-1 interrupted
2022-12-09T14:07:16.696+08:00  INFO 4348 --- [tReconciler-t-4] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-4 is stopped
2022-12-09T14:07:16.696+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-1 is stopped
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [tReconciler-t-7] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-7 interrupted
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [tReconciler-t-2] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-2 interrupted
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [tReconciler-t-7] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-7 is stopped
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [tReconciler-t-2] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-2 is stopped
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [tReconciler-t-6] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-6 interrupted
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [tReconciler-t-6] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PostReconciler-worker-6 is stopped
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.PostReconciler is disposed
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.PostReconciler successfully
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.CategoryReconciler...
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.CategoryReconciler
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [yReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.CategoryReconciler-worker-1 interrupted
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [yReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.CategoryReconciler-worker-1 is stopped
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.CategoryReconciler is disposed
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.CategoryReconciler successfully
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.CommentReconciler...
2022-12-09T14:07:16.697+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.CommentReconciler
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.CommentReconciler-worker-1 interrupted
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.CommentReconciler-worker-1 is stopped
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.CommentReconciler is disposed
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.CommentReconciler successfully
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.ReverseProxyReconciler...
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.ReverseProxyReconciler
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [yReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.ReverseProxyReconciler-worker-1 interrupted
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [yReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.ReverseProxyReconciler-worker-1 is stopped
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.ReverseProxyReconciler is disposed
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.ReverseProxyReconciler successfully
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.UserReconciler...
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.UserReconciler
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [rReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.UserReconciler-worker-1 interrupted
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [rReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.UserReconciler-worker-1 is stopped
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.UserReconciler is disposed
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.UserReconciler successfully
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.PluginReconciler...
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.PluginReconciler
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 interrupted
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 is stopped
2022-12-09T14:07:16.698+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.PluginReconciler is disposed
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.PluginReconciler successfully
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.SinglePageReconciler...
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.SinglePageReconciler
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.SinglePageReconciler-worker-1 interrupted
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.SinglePageReconciler-worker-1 is stopped
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.SinglePageReconciler is disposed
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.SinglePageReconciler successfully
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.TagReconciler...
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.TagReconciler
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.TagReconciler-worker-1 interrupted
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.TagReconciler-worker-1 is stopped
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.TagReconciler is disposed
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.TagReconciler successfully
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.RoleBindingReconciler...
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.RoleBindingReconciler
2022-12-09T14:07:16.699+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.RoleBindingReconciler-worker-1 interrupted
2022-12-09T14:07:16.706+08:00  INFO 4348 --- [gReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.RoleBindingReconciler-worker-1 is stopped
2022-12-09T14:07:16.707+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.RoleBindingReconciler is disposed
2022-12-09T14:07:16.707+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.RoleBindingReconciler successfully
2022-12-09T14:07:16.707+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.ThemeReconciler...
2022-12-09T14:07:16.707+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.ThemeReconciler
2022-12-09T14:07:16.739+08:00 DEBUG 4348 --- [eReconciler-t-1] r.h.a.e.controller.DefaultController     : run.halo.app.core.extension.reconciler.ThemeReconciler-worker-1 >>> Reconciled request: Request[name=theme-earth] with result: Result[reEnqueue=false, retryAfter=null]
2022-12-09T14:07:16.741+08:00  INFO 4348 --- [eReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.ThemeReconciler-worker-1 is stopped
2022-12-09T14:07:16.741+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.ThemeReconciler is disposed
2022-12-09T14:07:16.741+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.ThemeReconciler successfully
2022-12-09T14:07:16.741+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutting down controller run.halo.app.core.extension.reconciler.attachment.AttachmentReconciler...
2022-12-09T14:07:16.741+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller run.halo.app.core.extension.reconciler.attachment.AttachmentReconciler
2022-12-09T14:07:16.741+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.attachment.AttachmentReconciler-worker-1 interrupted
2022-12-09T14:07:16.741+08:00  INFO 4348 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.app.core.extension.reconciler.attachment.AttachmentReconciler-worker-1 is stopped
2022-12-09T14:07:16.741+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller run.halo.app.core.extension.reconciler.attachment.AttachmentReconciler is disposed
2022-12-09T14:07:16.741+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown controller run.halo.app.core.extension.reconciler.attachment.AttachmentReconciler successfully
2022-12-09T14:07:16.741+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.c.DefaultControllerManager       : Shutdown 14 controllers.
2022-12-09T14:07:16.741+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Disposing controller garbage-collector-controller
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-1] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-1 interrupted
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-1] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-1 is stopped
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [controller-t-10] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-10 interrupted
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [controller-t-10] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-10 is stopped
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-4] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-4 interrupted
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-4] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-4 is stopped
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-2] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-2 interrupted
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-2] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-2 is stopped
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-9] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-9 interrupted
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-9] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-9 is stopped
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-3] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-3 interrupted
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-3] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-3 is stopped
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-8] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-8 interrupted
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-8] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-8 is stopped
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-5] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-5 interrupted
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-5] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-5 is stopped
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-6] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-6 interrupted
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-6] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-6 is stopped
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-7] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-7 interrupted
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [-controller-t-7] r.h.a.e.controller.DefaultController     : Controller worker garbage-collector-controller-worker-7 is stopped
2022-12-09T14:07:16.742+08:00  INFO 4348 --- [  restartedMain] r.h.a.e.controller.DefaultController     : Controller garbage-collector-controller is disposed
minliacom commented 1 year ago

插件开发这块做了大量改动,先不要用当前的开发方式,后续发布后再来肝好点

JohnNiang commented 1 year ago

/assign

guqing commented 1 year ago

问题原因所在class:PluginDevelopmentInitializer

Plugin plugin = new YamlPluginFinder().find(pluginWrapper.getPluginPath());

它找不到 plugin.yaml 会报错导致系统要准备停止,这样我认为是合理的,不过此时系统只会停止 reconciler 资源不会整个停止运行这是个问题,也就是: 开发模式启动插件,插件资源不合法应该像类无法创建那个将整个应用停止运行,而不是一直挂起无法访问

minliacom commented 1 year ago

看这样子合理吗,可以继续往下启动,然后在Reconcile的时候一直报 Unknown pluginId PluginPixabay

image
minliacom commented 1 year ago

在循环报出 Unknown pluginId PluginPixabay 的时候 我去编译了一下 插件就起来了。

image
JohnNiang commented 1 year ago

@minliacom ,这样当然也是合理的,如果加载失败就放过。

不过现在有一个隐性的线程挂起问题,不彻底解决的话,后面如果还有其他地方出错仍然会挂起。

JohnNiang commented 1 year ago

如果 @minliacom 有兴趣的话,非常欢迎提交一个 PR 来修复这个问题 🍺

至于线程挂起的问题,我还得花时间排查一下。

minliacom commented 1 year ago

嗯嗯 开发模式插件有问题直接停了 解决了问题自已启动就好了。

JohnNiang commented 1 year ago

/unassign /assign @minliacom

JohnNiang commented 1 year ago

/milestone 2.1.x