在CordaM13中执行流程时获取异常 - co.paralleluniverse.fibers.SuspendExecution

时间:2017-08-28 14:32:53

标签: corda

Hello Corda团队,

我已经创建了factorial oracle服务并在Corda M13中创建了两个派对流程。

从控制台执行流程时出现以下错误。

co.paralleluniverse.fibers.SuspendExecution:糟糕。忘了检测方法 使用-Dco.paralleluniverse.fibers.verifyInstrumentation = true运行程序     抓住罪魁祸首!

From logs, i found following warning message:
[WARN ] 2017-08-28T14:23:39,227 [Node thread] flow.[4845e28d-60dc-4899-bc9e-6bdfbe43d724].uncaughtException - Caught exception from flow
java.lang.AssertionError: Unexpected task state (fiber parking or parked has no chance to to call `park`): -2
    at co.paralleluniverse.fibers.RunnableFiberTask.park(RunnableFiberTask.java:213) ~[quasar-core-0.7.6-jdk8.jar:0.7.6]
    at co.paralleluniverse.fibers.Fiber.park1(Fiber.java:707) ~[quasar-core-0.7.6-jdk8.jar:0.7.6]
    at co.paralleluniverse.fibers.Fiber.park(Fiber.java:620) ~[quasar-core-0.7.6-jdk8.jar:0.7.6]
    at co.paralleluniverse.fibers.Fiber.park(Fiber.java:624) ~[quasar-core-0.7.6-jdk8.jar:0.7.6]
    at co.paralleluniverse.fibers.Fiber.parkAndSerialize(Fiber.java:1944) ~[quasar-core-0.7.6-jdk8.jar:0.7.6]
    at net.corda.node.services.statemachine.FlowStateMachineImpl.suspend(FlowStateMachineImpl.kt:396) ~[corda-node-0.13.0.jar:?]
    at net.corda.node.services.statemachine.FlowStateMachineImpl.suspendAndExpectReceive(FlowStateMachineImpl.kt:349) ~[corda-node-0.13.0.jar:?]
    at net.corda.node.services.statemachine.FlowStateMachineImpl.waitForMessage(FlowStateMachineImpl.kt:333) ~[corda-node-0.13.0.jar:?]
    at net.corda.node.services.statemachine.FlowStateMachineImpl.access$waitForMessage(FlowStateMachineImpl.kt:39) ~[corda-node-0.13.0.jar:?]
    at net.corda.node.services.statemachine.FlowStateMachineImpl.waitForConfirmation(FlowStateMachineImpl.kt:497) ~[corda-node-0.13.0.jar:?]
    at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:126) ~[corda-node-0.13.0.jar:?]
    at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:39) ~[corda-node-0.13.0.jar:?]
    at co.paralleluniverse.fibers.Fiber.run1(Fiber.java:1067) [quasar-core-0.7.6-jdk8.jar:0.7.6]
    at co.paralleluniverse.fibers.Fiber.exec(Fiber.java:767) [quasar-core-0.7.6-jdk8.jar:0.7.6]
    at co.paralleluniverse.fibers.RunnableFiberTask.doExec(RunnableFiberTask.java:100) [quasar-core-0.7.6-jdk8.jar:0.7.6]
    at co.paralleluniverse.fibers.RunnableFiberTask.run(RunnableFiberTask.java:91) [quasar-core-0.7.6-jdk8.jar:0.7.6]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_131]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_131]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) [?:1.8.0_131]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [?:1.8.0_131]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_131]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_131]
    at net.corda.node.utilities.AffinityExecutor$ServiceAffinityExecutor$1$thread$1.run(AffinityExecutor.kt:69) [corda-node-0.13.0.jar:?]

1 个答案:

答案 0 :(得分:1)

您似乎错过了某个流量的@Suspendable注释,或者您从流程中调用的其中一种方法。

最好是自由地添加注释以查看它是否删除了错误,然后逐渐减少以查看哪个是有问题的方法。