Comments (9)
Eek!
from bitcoin.
Before I lose them:
http://pastebin.com/evGiRVw2
and
http://pastebin.com/wxCnw5SF
... are listaccounts and gettransactions '*' output. getbalance returns 850.05, sum(accounts) is 853.05... I'll be debugging this more tomorrow.
from bitcoin.
txid 22c1af3bc7f21a1ee74fbe63fcc58d0433ce2c574cf042a8f9129f989ebac68d has two entries associated with it, one of which is for BTC 3, and this is the only BTC 3 transaction in what you pastebinned. Maybe a place to look.
from bitcoin.
Thanks, mike, it looks like that is the source of the bug. There is 3BTC in "change" that is being miscounted, because the 'change' address was assigned to an account (using setaccount "", I assume).
The good news is that unless you dig out change addresses from block explorer this bug won't affect you. It still needs fixing, though...
from bitcoin.
I never used setaccount so something else must have caused it.
from bitcoin.
After looking more at this, I'm puzzled. The 3BTC transaction is definitely weird, but I don't think that is the cause-- the accounts code thinks it is a multi-send-to-self, and it doesn't affect the account's total balance (it is +400 in, -400 out).
from bitcoin.
Wishing I had the stones for c++ anymore... still, some thoughts:
- maybe that tx isn't to blame.
- does the bitcoin wallet implement a proper semblance of a double-entry ledger? If not, that's an enhancement request. (the pastebin records sure look like one, but i'm no accountant)
- is there cause here to create an in-the-field assert which would trigger a client alert and prompt to submit tx data for fault analysis, in the event of such a disagreement?
from bitcoin.
I asked Satoshi, and he has a very good theory and what happened:
Wallet clone "A" spends some coins.
Wallet clone "B" (this is the one I'm debugging) comes online, runs ReacceptWalletTransactions, sees the spend, and marks the previous transaction (where it got the coins) as spent. HOWEVER, it does NOT add the spend transaction to the wallet. That is the bug, it should.
from bitcoin.
from bitcoin.
Related Issues (20)
- .
- rpc: rollback HOT 3
- Closing unexpectedly. HOT 13
- Considerations on adding Bitcoin blockchain-based Github spam management strategy HOT 4
- Standardize v0 witness outputs of any length HOT 2
- Testnet fixed seeds don't work HOT 5
- migratewallet: backup file has inconvenient name HOT 4
- Distinguish between bad-txns-inputs-missingorspent HOT 2
- .
- Current default settings are broken, some fix is needed HOT 8
- Sparrow Wallet Version 1.8.4 and Bitcoin Core: Issues Connecting HOT 3
- AssumeUTXO Mainnet Readiness Tracking HOT 11
- V2 Only Option HOT 15
- test: Intermittent issue in p2p_leak_tx.py in test_notfound_on_replaced_tx HOT 4
- none address HOT 3
- getrawtransaction returns data with no address for scriptPubkey HOT 1
- Disallow certain message types under BIP324 v2 transport HOT 2
- feature_asmap.py intermittent fail ( AssertionError: [node 0] Expected messages "['CheckAddrman: new 2, tried 2, total 4 started', 'CheckAddrman: completed']" does not partially match log:) HOT 4
- valgrind: Conditional jump or move depends on uninitialised value(s) HOT 20
- [tests] Race between test code and code in net thread HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bitcoin.