ProgressTracker和合同错误不显示在控制台中。

问题描述 投票:1回答:1

在Windows上,当运行节点并与它们交互时,除了 "Unstarted "和 "Done",我没有从控制台得到任何反馈。当它不工作时,它只是说 "Unstarted"。如果它工作,它说两个。

另外,当我发起一个没有履行合同的交易时,错误信息也没有显示出来。

ProgressTracker也没有显示任何内容。我检查了日志文件,这里有一些可能与ProgessTracker有关的行。

[WARN ] 2018-01-08T20:39:43,952Z [Node thread] flow.[e43ed38a-c959-4a6e-a2d2-a428b15e0d19].maybeWireUpProgressTracking - ProgressTracker has not been started
[WARN ] 2018-01-08T20:39:46,915Z [Node thread] flow.[e43ed38a-c959-4a6e-a2d2-a428b15e0d19].uncaughtException - Caught exception from flow
java.lang.IllegalStateException: Cannot rewind a progress tracker once it has ended
at net.corda.core.utilities.ProgressTracker.setCurrentStep(ProgressTracker.kt:104) ~[corda-core-2.0.0.jar:?]
    at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:120) ~[corda-node-2.0.0.jar:?]
    at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:41) ~[corda-node-2.0.0.jar:?]
    at co.paralleluniverse.fibers.Fiber.run1(Fiber.java:1092) [quasar-core-0.7.9-jdk8.jar:0.7.9]
    at co.paralleluniverse.fibers.Fiber.exec(Fiber.java:788) [quasar-core-0.7.9-jdk8.jar:0.7.9]
    at co.paralleluniverse.fibers.RunnableFiberTask.doExec(RunnableFiberTask.java:100) [quasar-core-0.7.9-jdk8.jar:0.7.9]
    at co.paralleluniverse.fibers.RunnableFiberTask.run(RunnableFiberTask.java:91) [quasar-core-0.7.9-jdk8.jar:0.7.9]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_144]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_144]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) [?:1.8.0_144]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [?:1.8.0_144]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_144]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_144]
    at net.corda.node.utilities.AffinityExecutor$ServiceAffinityExecutor$1$thread$1.run(AffinityExecutor.kt:69) [corda-node-2.0.0.jar:?]

这在Mac设备上都能用同样的代码工作 This all works on Mac devices with the same code.

Hello World Part 2不显示错误信息

这就是进度跟踪器在linux中的工作方式,但在Windows中,它只是说Unstarted,然后Done。

windows corda
1个回答
0
投票

鉴于我们面前没有代码,我们无法知道为什么进度跟踪器要倒带。

有可能是你在流类中实例化进度跟踪器时,调用和设置进度跟踪器状态的顺序与它们的定义不一致。如果你是针对这个问题来的,我会看看。我倾向于相信这就是问题所在。

话说回来,这个问题看起来像是很久以前的问题,而且你只有在windows平台上运行时才会出现这个问题,如果这个代码在其他平台上运行的话,这可能是一个非常不明显的bug。

你可能会有一些成功的尝试你的代码在corda的最新版本?(他们现在是4.5版本,在windows上应该不会有任何问题。)

这里有一个下载和运行最新 corda jar 文件的 docs 页面的链接。https:/docs.corda.netdocscorda-os4.4node-upgrade-notes.html#step-4-replace-corda jar-with-the-new-version。

运气好

© www.soinside.com 2019 - 2024. All rights reserved.