Skip to content

CLI cannot spend from generated XMR wallet after resume #537

Open
@da-kami

Description

What happened

  • Start swap between CLI on laptop and ASB on raspberry, branch no-transfer-proof-failure, commit facab99b8af6b2bebd15096c2f324c8460e9089d
  • Swap got stale waiting for transfer proof on the CLI (ASB errored with ERROR Communication error. Error /comit/xmr/btc/transfer_proof/1.0.0 failed because we did not receive a response within the configured timeout peer=12D3KooWRqVnNWuahKawSSmxQQptGcEApNBFXNodzRv2q6tBvhUW - monero tx 09e361acb3e6e71d627a945a30672776a6f8fec7c97f4cae5e09b0780b75c158
  • Restarted the CLI, the CLI kept waiting (this is expected, because the ASB does not go on with swap execution once it fails with an unrecoverable error)
  • Let the CLI run and wait
  • Restart the ASB
  • The CLI properly re-connected to the ASB
  • The ASB re-sent the transfer proof
  • The CLI received the transfer proof
  • The Monero tx already had more than 10 confirmations
  • The CLI sent the encsig
  • The ASB received the encsig and published Bitcoin redeem
  • The CLI extraced key from Bitcoin redeem tx and generated Monero wallet
  • When draining the Monero wallet to spend the funds the CLI reports that there is no unlocked balance in the Monero wallet

Note: I also ran another resume on the same swap after this behaviour which resulted in the same problem:

JSON-RPC request failed with code -4: No unlocked balance in the specified account

Expected

CLI should be able to detect and spend the Monero locked by the ASB.

Logs

Logs are cluttered with some libp2p events that are logged on that branch for investigation reasons, sorry.
It might be very hard to reproduce this problem so I thought I better record it.

CLI logs upon resume:

/Users/dakami/.cargo/bin/cargo run --color=always --bin swap --manifest-path /Users/dakami/CoBloX/repos/xmr-btc-swap_comit-network/swap/Cargo.toml -- --testnet --debug --data-dir /Users/dakami/TEMP/swap/bob/01 resume --swap-id 41f849f8-f4f0-4af8-990e-e0910c939a57 --receive-address 58hKkN5JrirdNehmTXaHhTEg3N5zRYZ6Wb5g5jwDk3wRC4rtNCJvx7hENsbLmfPakC3spGhciosagdVbSqq9vfXsV3zusCn --seller-addr /ip4/141.168.172.35/tcp/8765

    Finished dev [unoptimized + debuginfo] target(s) in 1.09s
     Running `target/debug/swap --testnet --debug --data-dir /Users/dakami/TEMP/swap/bob/01 resume --swap-id 41f849f8-f4f0-4af8-990e-e0910c939a57 --receive-address 58hKkN5JrirdNehmTXaHhTEg3N5zRYZ6Wb5g5jwDk3wRC4rtNCJvx7hENsbLmfPakC3spGhciosagdVbSqq9vfXsV3zusCn --seller-addr /ip4/141.168.172.35/tcp/8765`
2021-05-25 21:33:50  INFO Initialized tracing level=debug
2021-05-25 21:33:50 DEBUG Opening database at /Users/dakami/TEMP/swap/bob/01/database
2021-05-25 21:33:50 DEBUG Reading in seed from /Users/dakami/TEMP/swap/bob/01/seed.pem
2021-05-25 21:33:54 DEBUG Starting monero-wallet-rpc on port=63016
2021-05-25 21:33:58 DEBUG Opened Monero wallet monero_wallet_name=swap-tool-blockchain-monitoring-wallet
2021-05-25 21:34:01  INFO All connections will go through clear net
2021-05-25 21:34:01 DEBUG Initializing network module peer_id=12D3KooWRqVnNWuahKawSSmxQQptGcEApNBFXNodzRv2q6tBvhUW
2021-05-25 21:34:01  INFO Waiting for Alice to lock Monero
2021-05-25 21:34:01  INFO Connected to Alice at /ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
2021-05-25 21:34:06 DEBUG Transaction txid=04d739af57b0acef1397ee2cebdae1602a822b905436ee3fee90aded954b74ec status=unseen
2021-05-25 21:34:59 DEBUG Transaction txid=04d739af57b0acef1397ee2cebdae1602a822b905436ee3fee90aded954b74ec status=confirmed with 8 blocks
2021-05-25 21:36:47  WARN Lost connection to Alice at /ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx, cause: Connection error: I/O error: connection is closed
2021-05-25 21:36:49 DEBUG Dialling Alice at 12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 3,
}
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 2,
}
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 1,
}
2021-05-25 21:36:49  WARN Failed to dial Alice: Pending connection: Transport error: select error: Protocol error: I/O error: Broken pipe (os error 32) address=/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
2021-05-25 21:36:49  INFO Next redial attempt in 1s
2021-05-25 21:36:50 DEBUG Dialling Alice at 12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 3,
}
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 2,
}
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 1,
}
2021-05-25 21:36:50  WARN Failed to dial Alice: Pending connection: Transport error: select error: Protocol error: I/O error: Broken pipe (os error 32) address=/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
2021-05-25 21:36:50  INFO Next redial attempt in 4s
2021-05-25 21:36:55 DEBUG Dialling Alice at 12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 3,
}
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 2,
}
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 1,
}
2021-05-25 21:36:55  WARN Failed to dial Alice: Pending connection: Transport error: select error: Protocol error: I/O error: Broken pipe (os error 32) address=/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
2021-05-25 21:36:55  INFO Next redial attempt in 4s
2021-05-25 21:36:59 DEBUG Dialling Alice at 12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 3,
}
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 2,
}
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 1,
}
2021-05-25 21:36:59  WARN Failed to dial Alice: Pending connection: Transport error: select error: Protocol error: I/O error: Broken pipe (os error 32) address=/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
2021-05-25 21:36:59  INFO Next redial attempt in 5s
2021-05-25 21:37:04 DEBUG Dialling Alice at 12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 3,
}
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 2,
}
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 1,
}
2021-05-25 21:37:04  WARN Failed to dial Alice: Pending connection: Transport error: select error: Protocol error: I/O error: Broken pipe (os error 32) address=/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
2021-05-25 21:37:04  INFO Next redial attempt in 7s
2021-05-25 21:37:12 DEBUG Dialling Alice at 12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 3,
}
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 2,
}
[swap/src/protocol/bob/event_loop.rs:199] event = UnreachableAddr {
    peer_id: PeerId(
        "12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    ),
    address: "/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx",
    error: Transport(
        Other(
            Custom {
                kind: Other,
                error: Other(
                    A(
                        B(
                            Select(
                                ProtocolError(
                                    IoError(
                                        Os {
                                            code: 32,
                                            kind: BrokenPipe,
                                            message: "Broken pipe",
                                        },
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            },
        ),
    ),
    attempts_remaining: 1,
}
2021-05-25 21:37:13  WARN Failed to dial Alice: Pending connection: Transport error: select error: Protocol error: I/O error: Broken pipe (os error 32) address=/ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
2021-05-25 21:37:13  INFO Next redial attempt in 21s
2021-05-25 21:37:35 DEBUG Dialling Alice at 12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
2021-05-25 21:37:35  INFO Connected to Alice at /ip4/141.168.172.35/tcp/8765/p2p/12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
2021-05-25 21:37:35  INFO Received transfer proof swap_id=41f849f8-f4f0-4af8-990e-e0910c939a57 peer=12D3KooWPZ69DRp4wbGB3wJsxxsg1XW1EVZ2evtVwcARCF3a1nrx
2021-05-25 21:37:35  INFO Alice locked Monero txid=09e361acb3e6e71d627a945a30672776a6f8fec7c97f4cae5e09b0780b75c158
[swap/src/protocol/bob/event_loop.rs:199] event = Behaviour(
    Other,
)
2021-05-25 21:37:35  INFO Waiting for Monero transaction finality txid=09e361acb3e6e71d627a945a30672776a6f8fec7c97f4cae5e09b0780b75c158 target_confirmations=10
2021-05-25 21:37:35  INFO Received new confirmation for Monero lock tx txid=09e361acb3e6e71d627a945a30672776a6f8fec7c97f4cae5e09b0780b75c158 seen_confirmations=24 needed_confirmations=10
2021-05-25 21:37:35 DEBUG Redeem tx fee spending_fee=1000
2021-05-25 21:37:35 DEBUG Redeem tx fee spending_fee=1000
2021-05-25 21:37:40 DEBUG Transaction txid=ff33aa04c88e19b4c58ad81a6fdf17cad2d43215755ebfa0c7ce5ca469911b0b status=unseen
2021-05-25 21:38:06 DEBUG Transaction txid=ff33aa04c88e19b4c58ad81a6fdf17cad2d43215755ebfa0c7ce5ca469911b0b status=in mempool
Error: JSON-RPC request failed with code -4: No unlocked balance in the specified account

Caused by:
    JSON-RPC request failed with code -4: No unlocked balance in the specified account

Stack backtrace:
   0: std::backtrace_rs::backtrace::libunwind::trace
             at /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
      std::backtrace_rs::backtrace::trace_unsynchronized
             at /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
      std::backtrace::Backtrace::create
             at /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/library/std/src/backtrace.rs:316:13
   1: std::backtrace::Backtrace::capture
             at /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/library/std/src/backtrace.rs:284:9
   2: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/anyhow-1.0.40/src/error.rs:519:25
   3: swap::monero::wallet::Wallet::sweep_all::{{closure}}
             at ./swap/src/monero/wallet.rs:255:19
   4: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /Users/dakami/.rustup/toolchains/nightly-2021-01-31-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/future/mod.rs:80:19
   5: swap::protocol::bob::swap::next_state::{{closure}}
             at ./swap/src/protocol/bob/swap.rs:231:29
   6: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /Users/dakami/.rustup/toolchains/nightly-2021-01-31-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/future/mod.rs:80:19
   7: swap::protocol::bob::swap::run_until::{{closure}}
             at ./swap/src/protocol/bob/swap.rs:35:25
   8: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /Users/dakami/.rustup/toolchains/nightly-2021-01-31-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/future/mod.rs:80:19
   9: swap::protocol::bob::swap::run::{{closure}}
             at ./swap/src/protocol/bob/swap.rs:25:5
  10: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /Users/dakami/.rustup/toolchains/nightly-2021-01-31-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/future/mod.rs:80:19
  11: swap::main::{{closure}}::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.6.0/src/macros/select.rs:455:49
  12: <tokio::future::poll_fn::PollFn<F> as core::future::future::Future>::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.6.0/src/future/poll_fn.rs:38:9
  13: swap::main::{{closure}}
             at ./swap/src/bin/swap.rs:225:13
  14: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /Users/dakami/.rustup/toolchains/nightly-2021-01-31-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/future/mod.rs:80:19
  15: tokio::park::thread::CachedParkThread::block_on::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.6.0/src/park/thread.rs:263:54
  16: tokio::coop::with_budget::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.6.0/src/coop.rs:106:9
  17: std::thread::local::LocalKey<T>::try_with
             at /Users/dakami/.rustup/toolchains/nightly-2021-01-31-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/thread/local.rs:272:16
  18: std::thread::local::LocalKey<T>::with
             at /Users/dakami/.rustup/toolchains/nightly-2021-01-31-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/thread/local.rs:248:9
  19: tokio::coop::with_budget
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.6.0/src/coop.rs:99:5
      tokio::coop::budget
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.6.0/src/coop.rs:76:5
      tokio::park::thread::CachedParkThread::block_on
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.6.0/src/park/thread.rs:263:31
  20: tokio::runtime::enter::Enter::block_on
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.6.0/src/runtime/enter.rs:151:13
  21: tokio::runtime::thread_pool::ThreadPool::block_on
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.6.0/src/runtime/thread_pool/mod.rs:71:9
  22: tokio::runtime::Runtime::block_on
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.6.0/src/runtime/mod.rs:452:43
  23: swap::main
             at ./swap/src/bin/swap.rs:43:1
  24: core::ops::function::FnOnce::call_once
             at /Users/dakami/.rustup/toolchains/nightly-2021-01-31-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
  25: std::sys_common::backtrace::__rust_begin_short_backtrace
             at /Users/dakami/.rustup/toolchains/nightly-2021-01-31-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125:18
  26: std::rt::lang_start::{{closure}}
             at /Users/dakami/.rustup/toolchains/nightly-2021-01-31-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/rt.rs:66:18
  27: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/library/core/src/ops/function.rs:259:13
      std::panicking::try::do_call
             at /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/library/std/src/panicking.rs:379:40
      std::panicking::try
             at /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/library/std/src/panicking.rs:343:19
      std::panic::catch_unwind
             at /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/library/std/src/panic.rs:410:14
      std::rt::lang_start_internal
             at /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/library/std/src/rt.rs:51:25
  28: std::rt::lang_start
             at /Users/dakami/.rustup/toolchains/nightly-2021-01-31-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/rt.rs:65:5
  29: _main

Process finished with exit code 1

Where to start

  • Open the wallet generated by the CLI in the monero-wallet-rpc.
  • Re-scan the wallet
  • See if there is really no balance

My hunch is that somehow the monero_wallet_restore_height is not set correctly, so the wallet does not pick up the balance correctly.

In case that is not the problem we are looking at a more severe issue.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcliRelated to the swap CLI tool

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions