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

Transaction doesn't broadcast after withdrawn to external wallet via Send Funds #4307

Closed
mattmill30 opened this issue Jun 15, 2020 · 16 comments

Comments

@mattmill30
Copy link

Description

When withdrawing funds using the "Send Funds" dialog, after confirming the withdrawal pop-up, the selected addresses disappear, but the withdrawal doesn't appear within Funds > Transactions.

The transaction appears within the Bisq.log, but it hasn't been broadcast to the Bitcoin network

Version

v1.3.4

Steps to reproduce

You won't be surprised to learn that I haven't attempted to reproduce the fault.

Expected behaviour

Submit funds to the Bitcoin network and record the transaction within Funds > Transactions, or generate an error and fail well.

Actual behaviour

Bitcoin Transaction is recorded within Bisq.log, but is not broadcast to the Bitcoin Network, and funds disappear from Funds > Send Funds, but don't appear within Funds > Transaction.

Screenshots

Send Funds dialog with missing addresses for 0.00233141 and 0.0095422 BTC
image

Transaction 1bcfebd9b9a878e22a990417f1e2b3555197addeb47c19b559ea656990332b4f, according to Bisq,log, missing from Funds > Transactions
image

Device or machine

Win10 64-bit

Additional info

bisq_log_vanished_transaction_and_funds.txt

@ghost
Copy link

ghost commented Jun 15, 2020

There is no explicit error message in your log, but [edit] just noticed this line which says the txid is dead, normally it would say pending.

Jun-15 12:59:27.909 [JavaFX Application Thread] INFO o.b.w.Wallet: ->dead: 1bcfebd9b9a878e22a990417f1e2b3555197addeb47c19b559ea656990332b4f

.. lots of strange repeated P2P messages with your peer bitcoin nodes right after the withdrawal tx:

Jun-15 12:59:30.570 [BlockingClient network thread for fz6nsij6jiyuwlsc.onion:8333] INFO  o.b.core.Peer: [fz6nsij6jiyuwlsc.onion]:8333: Received getdata message: org.bitcoinj.core.GetDataMessage@eec25d53 
Jun-15 12:59:30.571 [BlockingClient network thread for fz6nsij6jiyuwlsc.onion:8333] INFO  o.b.core.Peer: [fz6nsij6jiyuwlsc.onion]:8333: Sending 2 items gathered from listeners to peer 
Jun-15 12:59:30.609 [BlockingClient network thread for 4nnuyxm5k5tlyjq3.onion:8333] INFO  o.b.core.Peer: [4nnuyxm5k5tlyjq3.onion]:8333: Received getdata message: org.bitcoinj.core.GetDataMessage@eec25d53 
Jun-15 12:59:30.609 [BlockingClient network thread for 4nnuyxm5k5tlyjq3.onion:8333] INFO  o.b.core.Peer: [4nnuyxm5k5tlyjq3.onion]:8333: Sending 2 items gathered from listeners to peer 
Jun-15 12:59:30.709 [BlockingClient network thread for i3a5xtzfm4xwtybd.onion:8333] INFO  o.b.core.Peer: [i3a5xtzfm4xwtybd.onion]:8333: Received getdata message: org.bitcoinj.core.GetDataMessage@eec25d53 
Jun-15 12:59:30.710 [BlockingClient network thread for i3a5xtzfm4xwtybd.onion:8333] INFO  o.b.core.Peer: [i3a5xtzfm4xwtybd.onion]:8333: Sending 2 items gathered from listeners to peer 
Jun-15 12:59:30.710 [BlockingClient network thread for 3xucqntxp5ddoaz5.onion:8333] INFO  o.b.core.Peer: [3xucqntxp5ddoaz5.onion]:8333: Received getdata message: org.bitcoinj.core.GetDataMessage@eec25d53 
Jun-15 12:59:30.711 [BlockingClient network thread for 3xucqntxp5ddoaz5.onion:8333] INFO  o.b.core.Peer: [3xucqntxp5ddoaz5.onion]:8333: Sending 2 items gathered from listeners to peer 
Jun-15 12:59:30.797 [BlockingClient network thread for m3yqzythryowgedc.onion:8333] INFO  o.b.core.Peer: [m3yqzythryowgedc.onion]:8333: Received getdata message: org.bitcoinj.core.GetDataMessage@eec25d53 
Jun-15 12:59:30.798 [BlockingClient network thread for m3yqzythryowgedc.onion:8333] INFO  o.b.core.Peer: [m3yqzythryowgedc.onion]:8333: Sending 2 items gathered from listeners to peer 
Jun-15 12:59:31.073 [BlockingClient network thread for i3a5xtzfm4xwtybd.onion:8333] INFO  o.b.core.Peer: [i3a5xtzfm4xwtybd.onion]:8333: Received getdata message: org.bitcoinj.core.GetDataMessage@d35fc0f8 
Jun-15 12:59:31.074 [BlockingClient network thread for i3a5xtzfm4xwtybd.onion:8333] INFO  o.b.core.Peer: [i3a5xtzfm4xwtybd.onion]:8333: Sending 1 items gathered from listeners to peer 
Jun-15 12:59:31.191 [BlockingClient network thread for 3xucqntxp5ddoaz5.onion:8333] INFO  o.b.core.Peer: [3xucqntxp5ddoaz5.onion]:8333: Received getdata message: org.bitcoinj.core.GetDataMessage@d35fc0f8 
Jun-15 12:59:31.191 [BlockingClient network thread for 3xucqntxp5ddoaz5.onion:8333] INFO  o.b.core.Peer: [3xucqntxp5ddoaz5.onion]:8333: Sending 1 items gathered from listeners to peer 
Jun-15 12:59:33.030 [BlockingClient network thread for i3a5xtzfm4xwtybd.onion:8333] INFO  o.b.core.Peer: [i3a5xtzfm4xwtybd.onion]:8333: Received getdata message: org.bitcoinj.core.GetDataMessage@3e036dfd 
Jun-15 12:59:33.031 [BlockingClient network thread for 4nnuyxm5k5tlyjq3.onion:8333] INFO  o.b.core.Peer: [4nnuyxm5k5tlyjq3.onion]:8333: Received getdata message: org.bitcoinj.core.GetDataMessage@55ca127c 
Jun-15 12:59:33.031 [BlockingClient network thread for i3a5xtzfm4xwtybd.onion:8333] INFO  o.b.core.Peer: [i3a5xtzfm4xwtybd.onion]:8333: Sending 1 items gathered from listeners to peer 
Jun-15 12:59:33.031 [BlockingClient network thread for 4nnuyxm5k5tlyjq3.onion:8333] INFO  o.b.core.Peer: [4nnuyxm5k5tlyjq3.onion]:8333: Sending 2 items gathered from listeners to peer 

Other reported issues with similar log patterns:

Looks like this problem has happened before, but has not yet been solved. @bisq-network/bisq-devs FYI.

@ghost
Copy link

ghost commented Jun 15, 2020

@oscarguindzberg

@ghost
Copy link

ghost commented Jun 15, 2020

@mattmill30 of the two UTXOs you were spending, the second one (8fdce13075d52f11f863165c661cfaffa270c3f70e22f5785f2570c768d5825c from the log), amount 0.0095422 was spent 4 days ago, by this txn. Looks like the inputs to a bisq trade.

I think that is the reason the underlying BitcoinJ wallet software rejected your transaction today: it detected a double-spend attempt. The question now becomes how did the Bisq wallet still think that UTXO spent 4 days ago was still available.

Perhaps someone else could take a look and verify if this is the case, and suggest what you do to clean up your wallet state.. @wiz ?

@mattmill30
Copy link
Author

mattmill30 commented Jun 15, 2020

I can explain that. I made a backup of the Bisq folder onto a second computer, and then on Friday made a purchase on the second computer, which likely used the Bitcoin against the 0.0095422 address.

My expectation was once Bisq on the original laptop was restarted it would update the chainstate and detect that any changes.

Either way, the bitcoin addresses shouldn't disappear if a transaction can't be completed. Ideally, if I transaction fails, Bisq should reverse the failed actions and in this case ask the user whether Bisq should update the erroneous address balance

@sqrrm
Copy link
Member

sqrrm commented Jun 15, 2020

The address handling is not perfect in bisq, but it likely due to using multiple data directories. Bisq depends on the state of the data directory.

Doing an SPV resync should recover the bitcoinj state but I would still advice caution as the tagging of addresses for trades might not be in a good state after using multiple data dirs in parallell.

@mattmill30
Copy link
Author

What affect does an SPV resync have on either bitcoinj or Bisq?
Will the SPV resync result in the two addressess which are now missing from Send Funds re-appearing?
I'm unsure whether the addresses appear within Receive Funds, because I don't remember which two they were, and I'm unsure how to read the log in order to extract the two addresses for me to check; though if they are still present, Bisq doesn't believe they have any funds, which would make sense if Bisq assumes the withdrawal of all funds from those addresses was successful.

@sqrrm
Copy link
Member

sqrrm commented Jun 16, 2020

An SPV resync will make bitcoinj rebuild the state from scratch so any addresses that contain BTC would be recognized by bitcoinj, which is what Bisq uses for its wallet management internally. If you do a resync you should do a backup of your datadir first, always good practice.

@mattmill30
Copy link
Author

I've created a copy of the Bisq folder. Is that sufficient as a backup of the datadir?
What's the procedure for the SPV resync?

@sqrrm
Copy link
Member

sqrrm commented Jun 17, 2020

Yes, a copy of the Bisq folder is a sufficient backup.

There is a button in under the setting tab to do SPV resync. It will delete the SPV chain file and restart, do the resync, which might take a while and then the wallet should be showing the correct amounts.

@mattmill30
Copy link
Author

mattmill30 commented Jun 18, 2020

The SPV resync has completed, but only the 0.00233141 transaction has returned.
image

Is this because, when a portion of the 0.0095422 address was spent, the unspent value was output to a new receive address which the original laptop does have in it's wallet?

@stale
Copy link

stale bot commented Sep 19, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the was:dropped label Sep 19, 2020
@cd2357
Copy link
Contributor

cd2357 commented Sep 19, 2020

Bot, be gone

@stale stale bot removed the was:dropped label Sep 19, 2020
@stale
Copy link

stale bot commented Dec 19, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@ripcurlx
Copy link
Contributor

@mattmill30 Was this issue already solved in another channel or is it still open?

@stale
Copy link

stale bot commented Jun 11, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the was:dropped label Jun 11, 2021
@stale
Copy link

stale bot commented Jun 22, 2021

This issue has been automatically closed because of inactivity. Feel free to reopen it if you think it is still relevant.

@stale stale bot closed this as completed Jun 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants