Uploaded image for project: 'Corda'
  1. CORDA-2515

Error propagating hash to signature constraints

    Details

    • Type: Bug
    • Status: Done (View workflow)
    • Priority: High
    • Resolution: Done
    • Affects versions: Corda 4 RC03
    • Fix versions: Corda 4.1, Corda 4 RC04
    • Components: None
    • Labels:
      None
    • Severity:
      High
    • Target Version/s:
    • Feature Team:
      Versioning and Modules
    • Sprint:
      V&M Sprint 4

      Description

      When following the steps in R3T-1560 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.

      [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:?]
      

        Attachments

          Activity

            People

            • Assignee:
              Jose.Coll Jose Coll
              Reporter:
              Anthony.Keenan Anthony Keenan
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: