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

Error broadcasting transaction #3306

Closed
huey735 opened this issue Sep 22, 2019 · 19 comments
Closed

Error broadcasting transaction #3306

huey735 opened this issue Sep 22, 2019 · 19 comments

Comments

@huey735
Copy link
Contributor

huey735 commented Sep 22, 2019

Summary

Generalizing, a user makes a transaction and unbeknownst to them the transaction isn't successfully broadcast to the Bitcoin Network. This has happened in all types of Bisq transactions:

  • make offer
  • take offer
  • deposit
  • payout
  • withdraw

@sqrrm @ripcurlx

@sqrrm
Copy link
Member

sqrrm commented Sep 22, 2019

@huey735 Thanks for collecting these cases. I only found one log file and it seems to have issues with the tor connection #3282 that might be causing broadcast failures. Are they all issues with tx not being broadcast or are some of them a lack of fee?

@huey735
Copy link
Contributor Author

huey735 commented Sep 22, 2019

@sqrrm I'm not sure if I fully understand your question, but I assume that all transactions related to the trade protocol are having issues due to issues in the Bisq Network/software. The fees for the makerOfferTx, takeOfferTx, depositTx and payoutTx aren't under control of the user and are usually high enough to get accepted into the mempool.
The issues with the withdraw transactions however can be result of poor fee calculation but I doubt that that's mostly the case.

@sqrrm
Copy link
Member

sqrrm commented Sep 23, 2019

From #3305 I see at least one tx being rejected as dust.

Sep-22 14:18:20.261 [BlockingClient network thread for r3dsojfhwcm7x7p6.onion:8333] ERROR o.b.core.Peer: [r3dsojfhwcm7x7p6.onion]:8333 /Satoshi:0.16.3/: Received Reject: tx b2bcaabc9b1f9b2a67901730bdabb50a8b484e7b5357addb4230d174506bd670 for reason 'dust' (64)

@sqrrm
Copy link
Member

sqrrm commented Sep 23, 2019

@huey735 The more logs we can get the better. We need to see if we can find a pattern on why the txs aren't properly broadcast.

@huey735
Copy link
Contributor Author

huey735 commented Sep 23, 2019

@sqrrm I'm not sure that tx is one of @bitsanity's. So I don't think that it's relevant here. For #3305 they were able to solve it with a resync of the spv chain which implies problems with the propagation of the transaction and not with its fee amount.

@sqrrm
Copy link
Member

sqrrm commented Sep 23, 2019

That rejection is due to 'dust' which is strange, bisq should not produce dust txs. The other case I saw was the bad tor connection. We need more data to understand if there is a common cause for these failed broadcasts. It would also be good to do rebroadcast automatically, or perhaps even manual but at least not forcing users to do an spv resync.

@wiz
Copy link
Contributor

wiz commented Oct 1, 2019

I just reproduced the issue, I had set fee = 1 sat/byte and Bitcoin node rejected it for having too low of a fee
Oct-01 13:22:11.344 [BlockingClient network thread for jiuuuislm7ooesic.onion:8333] ERROR org.bitcoinj.core.Peer: [jiuuuislm7ooesic.onion]:8333 /Satoshi:0.18.1/: Received Reject: tx 3fd5922bdc88fab8ee866610edc3e54b62dcbf5945813e08813157ad0c842dc6 for reason 'min relay fee not met' (66)

@wiz
Copy link
Contributor

wiz commented Oct 1, 2019

It seems bitcoinj creates invalid transactions in multiple cases, so far I've seen:

  1. The "dust" consensus rule is being violated, not sure how to reproduce this yet

  2. The "min relay fee" consensus rule is being violated when user sets custom fee to 1 sat/byte and virtual TX size gets rounded down and effective fee becomes 0.995 sat/byte

Obviously these 2 bugs should be fixed, but maybe we can also improve the handling the exceptional case of rejected transaction broadcast:

  1. The Bisq app should display an error if bitcoinj peer rejects broadcasting of the TX, with the reason given together with the full TX encoded in hex for further debugging

  2. The Bisq app should have a method to export the raw TX from the UI list of transactions, encoded in hex for further debugging

  3. The Bisq app should have a (hidden) method to manually remove unconfirmed transactions from the wallet so if the broadcast fails the user can try creating a new TX

@captainreptile
Copy link

I'm having simillar issues , running on Bisq v1.2.3.
After creating my first sell offer i received an error that transaction rejected.
it suggested to restart the app, which i did and now i am unable to connect to bitcoin network (peers 0 and Bisq network peers:9)

I can't see my offer anywhere in portfolio, but i do see fees withdrawn.

The warning on boot:

A transaction was rejected from the network for reason 'dust' (64).

@alexgand
Copy link

@captainreptile Same error here (... for reason 'dust').

Two new transactions I made after the error started had failed to generate the inicial deposit transactions, resulting in mediation.

Any way of avoiding this bug?

@alexgand
Copy link

@captainreptile I was able to solve the problem doing a "resync SPV chain" (Settings / Network info)!

@captainreptile
Copy link

@alexgand It seems that its a bug that the team is hunting after. I submitted my log file to the support on https://keybase.io/team/bisq.

P.s: Lol, First time i see the setting / network info! i was looking for such setting but never saw the tab, Thanks i will also try to resync SPV.

@Forstmann88
Copy link

Hello everybody.
I have the problem in connection with a payout on my private wallet.
since I am not the computer specialist, I would need your help please?
what do I have to do to fix this error?

Fehlermeldung_2

Fehlermeldung_1

@ripcurlx
Copy link
Contributor

@Forstmann88 Do you still have this issue?

@wiz
Copy link
Contributor

wiz commented Jan 28, 2020

I'm quite sure this is a legitimate issue, as I still see it sometimes, it's just very hard to reproduce - you need to have a very specific set of UTXO inputs and transaction amounts for it to occur. Waiting a few seconds for the fee estimation to change often fixes it, or changing your TX amounts can fix it.

@stale
Copy link

stale bot commented Apr 28, 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 Apr 28, 2020
@stale
Copy link

stale bot commented May 6, 2020

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 May 6, 2020
@federicociro
Copy link

Hello,
related problem here. I created a tx with 2 sat/vbyte fee (mempool was empty), but was not picked. Is there any way to rebroadcast with more fee (RBF) or some way cancel the tx? It can be seen in mempools.

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

8 participants