Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[send_payment] Call send_payment twice at the same time cause Musig2VerifyError #245

Closed
gpBlockchain opened this issue Oct 18, 2024 · 2 comments · Fixed by #341
Closed

Comments

@gpBlockchain
Copy link
Contributor

Call send_payment twice at the same time cause Musig2VerifyError

  1. node2 call new_invoice get invoice1
  2. node2 call new_invoice get invoice2
  3. node1 call send_payment(invoice1) ,send_payment(invoice2) same time
  4. query list_channel balance in offered_tlc_balance and received_tlc_balance
node1
{"jsonrpc": "2.0", "result": {"channels": [{"channel_id": "0x126f8cba2a3a2ac172f807c2cc8a1dadf26b342b245ec3e63c08baf9d15db7a5", "peer_id": "QmTsV1CukMvkBk3mRVs7H971YNv2hHRT7HrdkabpUmEtq9", "funding_udt_type_script": {"code_hash": "0x73e5467341b55ffd7bdeb5b6f32aa0e9433baf6808f8c5f2472dbc36b1ab04f7", "hash_type": "type", "args": "0x32e555f3ff8e135cece1351a6a2971518392c1e30375c1e006ad0ce8eac07947"}, "state": {"state_name": "CHANNEL_READY", "state_flags": []}, "local_balance": "0x174876e800", "offered_tlc_balance": "0x2540be400", "remote_balance": "0x0", "received_tlc_balance": "0x0", "created_at": "0x624b86fcd2464"}]}, "id": 42}

node2
{"jsonrpc":"2.0","result":{"channels":[{"channel_id":"0x126f8cba2a3a2ac172f807c2cc8a1dadf26b342b245ec3e63c08baf9d15db7a5","peer_id":"QmQG1RUBdR7c7EDQwg2trrScyjPdxqHtfuMqciLK7F2VfF","funding_udt_type_script":{"code_hash":"0x73e5467341b55ffd7bdeb5b6f32aa0e9433baf6808f8c5f2472dbc36b1ab04f7","hash_type":"type","args":"0x32e555f3ff8e135cece1351a6a2971518392c1e30375c1e006ad0ce8eac07947"},"state":{"state_name":"CHANNEL_READY","state_flags":[]},"local_balance":"0x0","offered_tlc_balance":"0x0","remote_balance":"0x174876e800","received_tlc_balance":"0x2540be400","created_at":"0x624b86fcd4421"}]},"id":42}                     

node1.log
node2.log
logs contains Musig2VerifyError err

@gpBlockchain
Copy link
Contributor Author

node1

  1. shutdown_channel("force":"true")
  2. close tx commit successuful
  3. exist error message
  2024-10-18T06:24:36.533213Z  WARN fnn::watchtower::actor: Found an old version commitment tx: Byte32(0xdf3e22096314c91e642c5255105d979ca6a0d336dea2382dac58c7798cf18dd5), revocation commitment number: 1, commitment number: 0
    at src/watchtower/actor.rs:203
    in ractor::actor::Actor with id: "0.3", name: "watchtower"

  2024-10-18T06:24:36.562474Z ERROR fnn::watchtower::actor: Failed to send revocation tx: TransactionView { data: Transaction(0x280300000c000000460200003a0200001c000000200000009300000097000000f3000000160200000000000003000000a611f41952574b8a200465b2281d17bc1196a878e31f206857ee3d20925d57950300000001a611f41952574b8a200465b2281d17bc1196a878e31f206857ee3d20925d579500000000018924295bde0c8224f3e7324729e70121d91bac34ca763b8fd283905feb75b9fa0a0000000000000000020000000000000000000000df3e22096314c91e642c5255105d979ca6a0d336dea2382dac58c7798cf18dd5000000000000000000000000f51ac16e1e683522295d62355145f0316b5f06c799d01bfdf31f71d4d792547f01000000230100000c000000c2000000b6000000100000001800000061000000d45bb1a806000000490000001000000030000000310000009bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce80114000000c8328aabcd9b9e8e64fbc566c4385c3bdeb219d75500000010000000300000003100000073e5467341b55ffd7bdeb5b6f32aa0e9433baf6808f8c5f2472dbc36b1ab04f7012000000032e555f3ff8e135cece1351a6a2971518392c1e30375c1e006ad0ce8eac0794761000000100000001800000061000000d4848caa5b6dc11b490000001000000030000000310000009bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce80114000000c8328aabcd9b9e8e64fbc566c4385c3bdeb219d7240000000c000000200000001000000000e8764817000000000000000000000000000000e20000000c000000890000007900000010000000100000001000000010000000ff0000000000000001590828d14839c561927e019caaa3312ae3863e87d5cd5fc63a27f89119bf072742db5985d7a97fa4b79dd59a2d794ff40e5c1b2780c9bb5a6d5f69e9a9e3087601f26cd9723684356c80e08e76517e89ef55242a0a4d43c628810e052ff64a41550000005500000010000000550000005500000041000000c263c48758c955736b1b18329c9b4d680ea0a72344ff16dca8dd08f377906240273337f889dd9112258b0ded25aa45817e631331324c918a2af74363dc6dbd7201), hash: Byte32(0xa9ecc3071e31cf2d1c1c5124ad09acf304291b70390be66a2b0057e101e6101b), witness_hash: Byte32(0x3b50c9b08695fc5cc924773237a9328d9501642355fd01bd042381081ed02073) }, error: Rpc(Error { code: ServerError(-302), message: "TransactionFailedToVerify: Verification failed Script(TransactionScriptError { source: Inputs[1].Lock, cause: ValidationFailure: see error code -31 on page https://nervosnetwork.github.io/ckb-script-error-codes/by-type-hash/9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8.html#-31 })", data: Some(String("Verification(Error { kind: Script, inner: TransactionScriptError { source: Inputs[1].Lock, cause: ValidationFailure: see error code -31 on page https://nervosnetwork.github.io/ckb-script-error-codes/by-type-hash/9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8.html#-31 }\n\nStack backtrace:\n   0: std::backtrace::Backtrace::capture\n   1: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from\n   2: ckb_tx_pool::util::verify_rtx::{{closure}}::{{closure}}\n   3: ckb_tx_pool::util::verify_rtx::{{closure}}\n   4: ckb_tx_pool::process::<impl ckb_tx_pool::service::TxPoolService>::_process_tx::{{closure}}\n   5: ckb_tx_pool::process::<impl ckb_tx_pool::service::TxPoolService>::process_tx::{{closure}}\n   6: ckb_tx_pool::service::process::{{closure}}\n   7: ckb_async_runtime::Handle::spawn::{{closure}}\n   8: tokio::runtime::task::raw::poll\n   9: tokio::runtime::scheduler::multi_thread::worker::Context::run_task\n  10: tokio::runtime::scheduler::multi_thread::worker::run\n  11: tokio::runtime::task::raw::poll\n  12: std::sys_common::backtrace::__rust_begin_short_backtrace\n  13: core::ops::function::FnOnce::call_once{{vtable.shim}}\n  14: std::sys::unix::thread::Thread::new::thread_start\n  15: __pthread_joiner_wake })")) })
    at src/watchtower/actor.rs:226
    in ractor::actor::Actor with id: "0.3", name: "watchtower"


node.log

@contrun
Copy link
Collaborator

contrun commented Oct 25, 2024

Could be related to #283 , as the same error Musig2VerifyError happened

@contrun contrun moved this to 🏗 In progress in CKB Kanban Nov 27, 2024
@quake quake closed this as completed in #341 Dec 5, 2024
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in CKB Kanban Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants