We're updating the issue view to help you get more done. 

Error propagating hash to signature constraints

Description

When following the steps in for Corda 4 RC03 the flow fails when trying to pay cash generated by a hash constrained cordapp to a signed version (step 14). It is not clear what the error is apart from 'Contract constraints failed for net.corda.finance.contracts.asset.Cash'. Full log attached.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 [INFO ] 2019-01-27T16:11:07,801Z [Node thread-1] corda.flow.run - Flow raised an error... sending it to flow hospital {actor_id=user1, actor_owning_identity=O=PartyB, L=New York, C=US, actor_store_id=NODE_CONFIG, fiber-id=10000001, flow-id=6e86ba0e-c86b-45c0-a049-806496638b50, invocation_id=e0e7fd3a-2b31-4b2c-bf1e-a197dedb35fa, invocation_timestamp=2019-01-27T16:11:04.630Z, origin=user1, session_id=aae3d8ca-11d5-448e-b950-3cfdccb1e798, session_timestamp=2019-01-27T16:10:43.997Z, thread-id=202, tx_id=FF0D96B43ABA866F9EC4B7AF8024C9ECBF7D2B1BF9F9FD65461A2D3A9E0C37F6} net.corda.core.contracts.TransactionVerificationException$ContractConstraintRejection: Contract constraints failed for net.corda.finance.contracts.asset.Cash, transaction: FF0D96B43ABA866F9EC4B7AF8024C9ECBF7D2B1BF9F9FD65461A2D3A9E0C37F6 at net.corda.core.internal.Verifier.verifyConstraints(TransactionVerifierServiceInternal.kt:368) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.internal.Verifier.verify(TransactionVerifierServiceInternal.kt:49) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.transactions.LedgerTransaction.verify(LedgerTransaction.kt:122) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.flows.FinalityFlow.verifyTx(FinalityFlow.kt:236) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.flows.FinalityFlow.call(FinalityFlow.kt:137) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.flows.FinalityFlow.call(FinalityFlow.kt:39) ~[corda-core-4.0-RC03.jar:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.subFlow(FlowStateMachineImpl.kt:290) ~[corda-node-4.0-RC03.jar:?] at net.corda.core.flows.FlowLogic.subFlow(FlowLogic.kt:311) ~[corda-core-4.0-RC03.jar:?] at net.corda.finance.flows.AbstractCashFlow.finaliseTx(AbstractCashFlow.kt:28) ~[?:?] at net.corda.finance.flows.CashPaymentFlow.call(CashPaymentFlow.kt:83) ~[?:?] at net.corda.finance.flows.CashPaymentFlow.call(CashPaymentFlow.kt:32) ~[?:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:228) ~[corda-node-4.0-RC03.jar:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:45) ~[corda-node-4.0-RC03.jar:?] at co.paralleluniverse.fibers.Fiber.run1(Fiber.java:1092) ~[quasar-core-0.7.10-jdk8.jar:0.7.10] at co.paralleluniverse.fibers.Fiber.exec(Fiber.java:788) ~[quasar-core-0.7.10-jdk8.jar:0.7.10] at co.paralleluniverse.fibers.RunnableFiberTask.doExec(RunnableFiberTask.java:100) ~[quasar-core-0.7.10-jdk8.jar:0.7.10] at co.paralleluniverse.fibers.RunnableFiberTask.run(RunnableFiberTask.java:91) ~[quasar-core-0.7.10-jdk8.jar:0.7.10] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_181] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_181] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_181] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_181] at net.corda.node.utilities.AffinityExecutor$ServiceAffinityExecutor$1$thread$1.run(AffinityExecutor.kt:63) ~[corda-node-4.0-RC03.jar:?] [INFO ] 2019-01-27T16:11:07,816Z [Node thread-1] statemachine.StaffedFlowHospital.flowErrored - Flow [6e86ba0e-c86b-45c0-a049-806496638b50] admitted to hospital in state StateMachineState(checkpoint=Checkpoint(invocationContext=InvocationContext(origin=RPC(actor=Actor(id=Id(value=user1), serviceId=AuthServiceId(value=NODE_CONFIG), owningLegalIdentity=O=PartyB, L=New York, C=US)), trace=Trace(invocationId=e0e7fd3a-2b31-4b2c-bf1e-a197dedb35fa, timestamp: 2019-01-27T16:11:04.630Z, entityType: Invocation, sessionId=aae3d8ca-11d5-448e-b950-3cfdccb1e798, timestamp: 2019-01-27T16:10:43.997Z, entityType: Session), actor=Actor(id=Id(value=user1), serviceId=AuthServiceId(value=NODE_CONFIG), owningLegalIdentity=O=PartyB, L=New York, C=US), externalTrace=null, impersonatedActor=null), ourIdentity=O=PartyB, L=New York, C=US, sessions={SessionId(toLong=6599675015412551054)=Initiating(bufferedMessages=[], rejectionError=null, deduplicationSeed=R-6599675015412551054--4990457264490746709)}, subFlowStack=[Initiating(flowClass=class net.corda.finance.flows.CashPaymentFlow, classToInitiateWith=class net.corda.finance.flows.CashPaymentFlow, flowInfo=FlowInfo(flowVersion=1, appName=corda-finance-workflows-4.0-RC03), subFlowVersion=CorDappFlow(platformVersion=4, corDappName=corda-finance-workflows-4.0-RC03, corDappHash=DD8870B470C77CE25C3EC15225179432C0791D7E65E603A85DCAC1D75E89450A), isEnabledTimedFlow=false)], flowState=Started(flowIORequest=Send(sessionToMessage={FlowSessionImpl(counterparty=O=PartyB, L=New York, C=US, sourceSessionId=SessionId(toLong=6599675015412551054))=DE05F18AE096D8458E47FFA6BEB6CFF93AB266D9ECE8F6BFD246AE286B2FBC77}), frozenFiber=7BEB6E3F6AA8CF0733E5568CC9A7138EF4816335D69AB949B8AB18C6DDB8F7B7), errorState=Clean, numberOfSuspends=1), flowLogic=net.corda.finance.flows.CashPaymentFlow@136ad3a5, pendingDeduplicationHandlers=[], isFlowResumed=true, isTransactionTracked=false, isAnyCheckpointPersisted=true, isStartIdempotent=false, isRemoved=false, senderUUID=5fff038f-6ccb-4ac1-924b-3f4a10198540) {actor_id=user1, actor_owning_identity=O=PartyB, L=New York, C=US, actor_store_id=NODE_CONFIG, fiber-id=10000001, flow-id=6e86ba0e-c86b-45c0-a049-806496638b50, invocation_id=e0e7fd3a-2b31-4b2c-bf1e-a197dedb35fa, invocation_timestamp=2019-01-27T16:11:04.630Z, origin=user1, session_id=aae3d8ca-11d5-448e-b950-3cfdccb1e798, session_timestamp=2019-01-27T16:10:43.997Z, thread-id=202, tx_id=FF0D96B43ABA866F9EC4B7AF8024C9ECBF7D2B1BF9F9FD65461A2D3A9E0C37F6} [INFO ] 2019-01-27T16:11:07,822Z [Node thread-1] statemachine.StaffedFlowHospital.invoke - Flow [6e86ba0e-c86b-45c0-a049-806496638b50] has error [0] {actor_id=user1, actor_owning_identity=O=PartyB, L=New York, C=US, actor_store_id=NODE_CONFIG, fiber-id=10000001, flow-id=6e86ba0e-c86b-45c0-a049-806496638b50, invocation_id=e0e7fd3a-2b31-4b2c-bf1e-a197dedb35fa, invocation_timestamp=2019-01-27T16:11:04.630Z, origin=user1, session_id=aae3d8ca-11d5-448e-b950-3cfdccb1e798, session_timestamp=2019-01-27T16:10:43.997Z, thread-id=202, tx_id=FF0D96B43ABA866F9EC4B7AF8024C9ECBF7D2B1BF9F9FD65461A2D3A9E0C37F6} net.corda.core.contracts.TransactionVerificationException$ContractConstraintRejection: Contract constraints failed for net.corda.finance.contracts.asset.Cash, transaction: FF0D96B43ABA866F9EC4B7AF8024C9ECBF7D2B1BF9F9FD65461A2D3A9E0C37F6 at net.corda.core.internal.Verifier.verifyConstraints(TransactionVerifierServiceInternal.kt:368) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.internal.Verifier.verify(TransactionVerifierServiceInternal.kt:49) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.transactions.LedgerTransaction.verify(LedgerTransaction.kt:122) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.flows.FinalityFlow.verifyTx(FinalityFlow.kt:236) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.flows.FinalityFlow.call(FinalityFlow.kt:137) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.flows.FinalityFlow.call(FinalityFlow.kt:39) ~[corda-core-4.0-RC03.jar:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.subFlow(FlowStateMachineImpl.kt:290) ~[corda-node-4.0-RC03.jar:?] at net.corda.core.flows.FlowLogic.subFlow(FlowLogic.kt:311) ~[corda-core-4.0-RC03.jar:?] at net.corda.finance.flows.AbstractCashFlow.finaliseTx(AbstractCashFlow.kt:28) ~[?:?] at net.corda.finance.flows.CashPaymentFlow.call(CashPaymentFlow.kt:83) ~[?:?] at net.corda.finance.flows.CashPaymentFlow.call(CashPaymentFlow.kt:32) ~[?:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:228) ~[corda-node-4.0-RC03.jar:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:45) ~[corda-node-4.0-RC03.jar:?] at co.paralleluniverse.fibers.Fiber.run1(Fiber.java:1092) ~[quasar-core-0.7.10-jdk8.jar:0.7.10] at co.paralleluniverse.fibers.Fiber.exec(Fiber.java:788) ~[quasar-core-0.7.10-jdk8.jar:0.7.10] at co.paralleluniverse.fibers.RunnableFiberTask.doExec(RunnableFiberTask.java:100) ~[quasar-core-0.7.10-jdk8.jar:0.7.10] at co.paralleluniverse.fibers.RunnableFiberTask.run(RunnableFiberTask.java:91) ~[quasar-core-0.7.10-jdk8.jar:0.7.10] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_181] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_181] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_181] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_181] at net.corda.node.utilities.AffinityExecutor$ServiceAffinityExecutor$1$thread$1.run(AffinityExecutor.kt:63) ~[corda-node-4.0-RC03.jar:?] [INFO ] 2019-01-27T16:11:07,826Z [Node thread-1] statemachine.StaffedFlowHospital.flowErrored - Flow [6e86ba0e-c86b-45c0-a049-806496638b50] error allowed to propagate {actor_id=user1, actor_owning_identity=O=PartyB, L=New York, C=US, actor_store_id=NODE_CONFIG, fiber-id=10000001, flow-id=6e86ba0e-c86b-45c0-a049-806496638b50, invocation_id=e0e7fd3a-2b31-4b2c-bf1e-a197dedb35fa, invocation_timestamp=2019-01-27T16:11:04.630Z, origin=user1, session_id=aae3d8ca-11d5-448e-b950-3cfdccb1e798, session_timestamp=2019-01-27T16:10:43.997Z, thread-id=202, tx_id=FF0D96B43ABA866F9EC4B7AF8024C9ECBF7D2B1BF9F9FD65461A2D3A9E0C37F6} [WARN ] 2019-01-27T16:11:07,847Z [Node thread-1] statemachine.ActionExecutorImpl.executePropagateErrors - Propagating error [errorCode=1iyvkdf, moreInformationAt=https://errors.corda.net/OS/4.0-RC03/1iyvkdf] {actor_id=user1, actor_owning_identity=O=PartyB, L=New York, C=US, actor_store_id=NODE_CONFIG, fiber-id=10000001, flow-id=6e86ba0e-c86b-45c0-a049-806496638b50, invocation_id=e0e7fd3a-2b31-4b2c-bf1e-a197dedb35fa, invocation_timestamp=2019-01-27T16:11:04.630Z, origin=user1, session_id=aae3d8ca-11d5-448e-b950-3cfdccb1e798, session_timestamp=2019-01-27T16:10:43.997Z, thread-id=202, tx_id=FF0D96B43ABA866F9EC4B7AF8024C9ECBF7D2B1BF9F9FD65461A2D3A9E0C37F6} net.corda.core.contracts.TransactionVerificationException$ContractConstraintRejection: Contract constraints failed for net.corda.finance.contracts.asset.Cash, transaction: FF0D96B43ABA866F9EC4B7AF8024C9ECBF7D2B1BF9F9FD65461A2D3A9E0C37F6 at net.corda.core.internal.Verifier.verifyConstraints(TransactionVerifierServiceInternal.kt:368) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.internal.Verifier.verify(TransactionVerifierServiceInternal.kt:49) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.transactions.LedgerTransaction.verify(LedgerTransaction.kt:122) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.flows.FinalityFlow.verifyTx(FinalityFlow.kt:236) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.flows.FinalityFlow.call(FinalityFlow.kt:137) ~[corda-core-4.0-RC03.jar:?] at net.corda.core.flows.FinalityFlow.call(FinalityFlow.kt:39) ~[corda-core-4.0-RC03.jar:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.subFlow(FlowStateMachineImpl.kt:290) ~[corda-node-4.0-RC03.jar:?] at net.corda.core.flows.FlowLogic.subFlow(FlowLogic.kt:311) ~[corda-core-4.0-RC03.jar:?] at net.corda.finance.flows.AbstractCashFlow.finaliseTx(AbstractCashFlow.kt:28) ~[?:?] at net.corda.finance.flows.CashPaymentFlow.call(CashPaymentFlow.kt:83) ~[?:?] at net.corda.finance.flows.CashPaymentFlow.call(CashPaymentFlow.kt:32) ~[?:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:228) ~[corda-node-4.0-RC03.jar:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:45) ~[corda-node-4.0-RC03.jar:?] at co.paralleluniverse.fibers.Fiber.run1(Fiber.java:1092) ~[quasar-core-0.7.10-jdk8.jar:0.7.10] at co.paralleluniverse.fibers.Fiber.exec(Fiber.java:788) ~[quasar-core-0.7.10-jdk8.jar:0.7.10] at co.paralleluniverse.fibers.RunnableFiberTask.doExec(RunnableFiberTask.java:100) ~[quasar-core-0.7.10-jdk8.jar:0.7.10] at co.paralleluniverse.fibers.RunnableFiberTask.run(RunnableFiberTask.java:91) ~[quasar-core-0.7.10-jdk8.jar:0.7.10] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_181] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_181] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_181] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_181] at net.corda.node.utilities.AffinityExecutor$ServiceAffinityExecutor$1$thread$1.run(AffinityExecutor.kt:63) ~[corda-node-4.0-RC03.jar:?]

Status

Assignee

Jose Coll

Reporter

Anthony Keenan

Priority

High

Labels

None

Severity

High

Fix versions

Ported to...

None

Feature Team

Versioning and Modules

Sprint

None

Affects versions

Corda 4 RC03