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

Cannot transfer cash using the Ent 3.2 Finance Cordapp from an Ent 3.2 node to a O/S 4 node and back again

Description

Steps to recreate:

  • Clone https://github.com/corda/cordapp-example

  • Checkout branch release-enterprise-V3

  • Modify it to use to use the correct artifactory repository

  • In the root build.gradle, update ext.corda_release_version = '3.2'

  • From the root directory run gradlew :kotlin-source:deployNodes

  • Copy corda.jar and corda-webserver.jar from the O/S 4.0-RC01 artifacts into the kotlin-source/build/nodes/PartyB directory

  • Delete persistent.mv.db and persistence.trace.db from the kotlin-source/build/nodes/PartyB directory (there is no DB upgrade path from ENT 3.2 -> O/S 4)

  • Run /kotlin-source/build/nodes/runnodes

  • In PartyA, self issue some cash by running: flow start CashIssueFlow amount: "100 GBP", issuerBankPartyRef: "1234" , notary: "O=Notary,L=London,C=GB"

  • In PartyA, make a payment to PartyB by running: flow start CashPaymentFlow amount: "10 GBP", recipient: PartyB, anonymous: false

  • In PartyB, make a payment to PartyA by running: flow start CashPaymentFlow amount: "10 GBP", recipient: PartyA, anonymous: false

Node shows:

1 2 3 4 5 6 7 Starting Generating anonymous identities Generating transaction [ERROR] 16:51:09+0000 [Node thread-1] proxies.ExceptionSerialisingRpcOpsProxy.log - Error during RPC invocation [errorCode=wjsifj, moreInformationAt=https://errors.corda.net/OS/4.0-RC01/wjsifj] {actor_id=internalShell, actor_owning_identity=O=PartyB, L=New York, C=US, actor_store_id=NODE_CONFIG, fiber-id=10000004, flow-id=0f09eaa3-5531-43ba-8777-f6b28cc23e60, invocation_id=ae605d63-59ae-463c-b83d-248f9b4aae74, invocation_timestamp=2019-01-15T16:51:01.291Z, origin=internalShell, session_id=0da5fc7f-2fb4-47b7-97d3-c512d3e08eb0, session_timestamp=2019-01-15T16:51:00.585Z, thread-id=221} [ERROR] 16:51:09+0000 [Node thread-1] proxies.ExceptionSerialisingRpcOpsProxy.log - Error during RPC invocation [errorCode=1trwmqn, moreInformationAt=https://errors.corda.net/OS/4.0-RC01/1trwmqn] {actor_id=internalShell, actor_owning_identity=O=PartyB, L=New York, C=US, actor_store_id=NODE_CONFIG, fiber-id=10000004, flow-id=0f09eaa3-5531-43ba-8777-f6b28cc23e60, invocation_id=ae605d63-59ae-463c-b83d-248f9b4aae74, invocation_timestamp=2019-01-15T16:51:01.291Z, origin=internalShell, session_id=0da5fc7f-2fb4-47b7-97d3-c512d3e08eb0, session_timestamp=2019-01-15T16:51:00.585Z, thread-id=221} [ERROR] 16:51:09+0000 [Node thread-1] proxies.ExceptionSerialisingRpcOpsProxy.log - Error during RPC invocation [errorCode=1trwmqn, moreInformationAt=https://errors.corda.net/OS/4.0-RC01/1trwmqn] {actor_id=internalShell, actor_owning_identity=O=PartyB, L=New York, C=US, actor_store_id=NODE_CONFIG, fiber-id=10000004, flow-id=0f09eaa3-5531-43ba-8777-f6b28cc23e60, invocation_id=ae605d63-59ae-463c-b83d-248f9b4aae74, invocation_timestamp=2019-01-15T16:51:01.291Z, origin=internalShell, session_id=0da5fc7f-2fb4-47b7-97d3-c512d3e08eb0, session_timestamp=2019-01-15T16:51:00.585Z, thread-id=221} [ERROR] 16:51:09+0000 [Node thread-1] proxies.ExceptionSerialisingRpcOpsProxy.log - Error during RPC invocation [errorCode=1trwmqn, moreInformationAt=https://errors.corda.net/OS/4.0-RC01/1trwmqn] {actor_id=internalShell, actor_owning_identity=O=PartyB, L=New York, C=US, actor_store_id=NODE_CONFIG, fiber-id=10000004, flow-id=0f09eaa3-5531-43ba-8777-f6b28cc23e60, invocation_id=ae605d63-59ae-463c-b83d-248f9b4aae74, invocation_timestamp=2019-01-15T16:51:01.291Z, origin=internalShell, session_id=0da5fc7f-2fb4-47b7-97d3-c512d3e08eb0, session_timestamp=2019-01-15T16:51:00.585Z, thread-id=221}

Log shows:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [WARN ] 2019-01-15T16:51:09,383Z [Node thread-1] interceptors.DumpHistoryOnErrorInterceptor.executeTransition - Flow [0f09eaa3-5531-43ba-8777-f6b28cc23e60] error [errorCode=wjsifj, moreInformationAt=https://errors.corda.net/OS/4.0-RC01/wjsifj] {actor_id=internalShell, actor_owning_identity=O=PartyB, L=New York, C=US, actor_store_id=NODE_CONFIG, fiber-id=10000004, flow-id=0f09eaa3-5531-43ba-8777-f6b28cc23e60, invocation_id=ae605d63-59ae-463c-b83d-248f9b4aae74, invocation_timestamp=2019-01-15T16:51:01.291Z, origin=internalShell, session_id=0da5fc7f-2fb4-47b7-97d3-c512d3e08eb0, session_timestamp=2019-01-15T16:51:00.585Z, thread-id=221} net.corda.finance.flows.CashException: Insufficient cash for spend: Insufficient balance, missing 10.00 GBP at net.corda.finance.flows.CashPaymentFlow.call(CashPaymentFlow.kt:79) ~[?:?] at net.corda.finance.flows.CashPaymentFlow.call(CashPaymentFlow.kt:41) ~[?:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:228) ~[corda-node-4.0-RC01.jar:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:45) ~[corda-node-4.0-RC01.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-RC01.jar:?] Caused by: net.corda.core.contracts.InsufficientBalanceException: Insufficient balance, missing 10.00 GBP at net.corda.finance.contracts.asset.OnLedgerAsset$Companion.gatherCoins(OnLedgerAsset.kt:221) ~[?:?] at net.corda.finance.contracts.asset.OnLedgerAsset$Companion.generateSpend(OnLedgerAsset.kt:139) ~[?:?] at net.corda.finance.contracts.asset.Cash$Companion.generateSpend(Cash.kt:343) ~[?:?] at net.corda.finance.contracts.asset.Cash$Companion.generateSpend(Cash.kt:275) ~[?:?] at net.corda.finance.flows.CashPaymentFlow.call(CashPaymentFlow.kt:72) ~[?:?] ... 14 more

Full log attached.

Status

Assignee

Unassigned

Reporter

Anthony Keenan

Labels

None

Affected OS

None

Severity

High

Target Version/s

Corda 4.1

Feature Team

Corda Core

Affects versions

Corda 4 RC01

Priority

Medium