ResendWalletTransactions() sends transactions which were long ago included in the blockchain #2445

issue rebroad opened this issue on April 2, 2013
  1. rebroad commented at 12:36 PM on April 2, 2013: contributor

    My bitcoin-qt from the latest master is still sending transactions to the network which were included a block in the blockchain almost a year ago.

  2. sipa commented at 7:04 PM on April 2, 2013: member

    Are you synchronized and the transactions shown confirmed?

  3. rebroad commented at 2:38 PM on April 8, 2013: contributor

    @sipa yes

  4. rebroad commented at 5:05 AM on May 12, 2013: contributor

    looks like I'm going to have to issue the patch for this one myself...

  5. gmaxwell commented at 5:30 AM on May 12, 2013: contributor

    Seeing #2122 ... are you talking about initial block download here?? That isn't at all clear from the above.

  6. sipa commented at 8:47 AM on May 12, 2013: member

    ResendWalletTransactions() shouldn't be called during IBD at all...

  7. rdponticelli commented at 1:16 PM on May 12, 2013: contributor

    It shouldn't. Unless there is something wrong on #2259

  8. rebroad commented at 2:31 AM on May 13, 2013: contributor

    This occurs when the node has downloaded the most recently mined block.

  9. rdponticelli commented at 4:24 PM on May 17, 2013: contributor

    I can't reproduce this. Reindexing and forcing a IBD on a used wallet seems to work as expected on my tests. @rebroad: can you explain more thoroughly how you're triggering this?

  10. rebroad commented at 6:39 AM on December 20, 2013: contributor

    @rdponticelli I'm just running bitcoin-qt as normal. It's retransmitting two old transactions whenever it runs ResendWalletTransactions(). I see this by the fact that it shows up in debug.log, and then shortly after the connected nodes request these old transactions.

  11. laanwj commented at 7:35 AM on December 20, 2013: member

    @rebroad Can you debug why the retransmission logic decides to broadcast them? I have the suspicion that they're part of vtxPrev of some other transaction that was included long ago.

    In CWalletTx::RelayWalletTransactions ( https://github.com/bitcoin/bitcoin/blob/master/src/wallet.cpp#L900 ) you'll see that it will transmit vtxPrevs without checking if the transaction itself should be broadcasted.

  12. rebroad commented at 3:10 AM on February 27, 2014: contributor

    @laanwj Sorry for the delay in replying. I'm not seeing this happen any more since using newer code, so it looks like something fixed it.

  13. cozz commented at 11:47 AM on March 6, 2014: contributor

    @rebroad so you can close this issue?

  14. laanwj commented at 12:25 PM on March 6, 2014: member

    The recent removal of vfSpent probably solved this; no longer are parent transactions of old transactions re-transmitted.

  15. laanwj closed this on Mar 6, 2014

  16. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-22 18:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me