forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Automatic updates of DarkCoin-Wallet software #6
Comments
Use ArchLinux if you want bleeding edge. Darkcoin is in arch user repository. |
Nope, I won't switch my OS for this. I rather keep downloading |
@darkcoin, any progress on this one? |
Not a darkcoin issue, can be closed. |
CryptoCentric
referenced
this issue
in absolute-community/absolute
Feb 15, 2019
Revert "Do not add locked outputs to AvailableCoins"
barrystyle
referenced
this issue
in PACGlobalOfficial/PAC
Jul 17, 2019
* Update build-windows.md Libtool is also required * Update build-windows.md Automake is needed too * Update build-windows.md Closest I've gotten to a build.... * Update build-windows.md Needs g++ too
barrystyle
referenced
this issue
in PACGlobalOfficial/PAC
Jul 17, 2019
* Update build-windows.md Libtool is also required * Update build-windows.md Automake is needed too * Update build-windows.md Closest I've gotten to a build.... * Update build-windows.md Needs g++ too
cadexproject
pushed a commit
to cadexproject/cadex
that referenced
this issue
Dec 4, 2019
Rename base fileset in least disruptive way.
FornaxA
referenced
this issue
in ioncoincore/ion
Jul 6, 2020
Currently we plan to enforce new protocol on GMT: Wednesday, May 1, 2019 12:00:00 AM Client will not require any upgrade, this date will be set with: SPORK_8_NEW_PROTOCOL_ENFORCEMENT_DEFAULT As soon as we release client on github, we will set choosen date over spork. You can check spork values with `ion-cli spork show`. 4070908800 means it is off any other numebr means that spork will be active from this timestamp Release notes are being written. Notable changes: - minor upgrades and fixes - protocol upgrade to 95704 - client version upgrade to 3.2.x - new seeds - cleandup and initialized testnet checkpoints - readded class CBitcoinAddress class and its definitions (**TODO** - _required until refactored for getserials rpc call_) - removed and refactored unrequired check if zerocoin is v1 - fixed leveldb - comparison between signed and unsigned integer expressions (https://github.com/PIVX-Project/PIVX/pull/846) - fix redundant redeclaration (https://github.com/PIVX-Project/PIVX/pull/845) - fix redundant redeclaration of ‘std::__cxx11::string boost::program_options::to_internal(const string&)’ - replaced deprecated auto_ptr with unique_ptr (https://github.com/PIVX-Project/PIVX/pull/844) - updated dependencies - updated snapcraft (https://github.com/ioncoincore/ion/pull/118) - implementation of zerocoin protocol - updated bip44 - new testnet4 - cleaned up chainparams - refactored testnet which can be launched at any time old testnet was very big, with to many forks where no clients are available or hardcoded - change nBits from ion's old 0x1e00ffff to 0x1e0ffff0 - new genesis for testnet - new genesis nounce for testnet - new regtest - cleaned up chainparams - refactored testnet which can be launched at any time ion did not have regression test network for years. Regression test is essential for everybody who is interested in this project, especially for testers and developers. this PR includes full fix of regression test and works with fake stake suite. - new genesis for regtest - new genesis nounce for regtest - change nBits from ion's old 0x1e00ffff to 0x1e0ffff0 - fixed mining on regtest - mining on regtest can be only performed with `generate` command Example for generation of 1000 blocks: `ion-cli --regtest generate 1000` - GUI - minor QT fixes and refactoring - Governance tab - Tools and scripts - fake stake issue fixed - fake stake test suite - copyright updates - - fake xion fix - All commits from: https://github.com/cevap/ION/commit/7fa20d69f6654f5ab8c1508178e7787f9e37febb to https://github.com/cevap/ION/commit/fc924c1f63f3c84d7dcaea7e61254b355b55b608 commit fc924c1f63f3c84d7dcaea7e61254b355b55b608 Merge: 757d81c4a dc168d11f Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Wed Mar 27 22:43:05 2019 +0100 Merge #847: Fix to display missing clock5.png tx image dc168d1 fix to display missing clock5.png tx image (joeuhren) Tree-SHA512: d10828e76ad1b2e034b013a1c3cac9cf79dfdc642a11d1a6493d615a19982d50fc09343b3b39171ba7c25202f29ed0532f1bc539c42fbdad37a19e58adcc48b1 commit 757d81c4a92a3791629407be9a86c55132225440 Merge: d241b5ed7 56dd114b9 Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Tue Mar 26 22:20:45 2019 +0100 Merge #840: [QT] cleanup, remove old trading dialog form 56dd114 cleanup, remove trading dialog form (furszy) Tree-SHA512: 824547803f5b854c51c22ca87149608725036c5ddee1922ceef7bdc71fcaeac440e77da3c51f7fe44b29269a57990d5ddfd674ca52b4de6ebd6fd36f847f55e8 commit dc168d11f8f067a5de397eafc81c7bcfcae2fa02 Author: joeuhren <46763106+joeuhren@users.noreply.github.com> Date: Mon Mar 25 14:04:54 2019 -0600 fix to display missing clock5.png tx image commit d241b5ed776466815f2dd78365ed56b0c3682fba Merge: 5673c8373 6eff5fa97 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Fri Mar 22 15:50:33 2019 -0700 Merge #837: [Zerocoin][UNIT TEST][RPC] Wrapped serials. 6eff5fa970 fix xION supply recalculation (random-zebra) 2676ca3626 newline character added to recalculate wrapped serials supply logging (furszy) da43659dd2 Initialize nSupplyBeforeFakeSerial to 0 in TestNet and RegTest (random-zebra) c46de31dc4 Fix Wrapped Serials inflated xION supply recalculation (random-zebra) 13691861f8 zerocoin contextual spend check log invalid serials (furszy) 0240f27e5f log rejection serial block height (furszy) ab6a134f2b invalid fake serial rejection (furszy) 010d03591c xion recalculation moved in init and added in connectblock (furszy) bd6b26b466 fix tabs in SoK (random-zebra) 41a2bcca29 fix bitSize typo in bignum for openssl (random-zebra) 29c1791815 inflation methods moved to cpp (furszy) 027c9ffcb6 wrapped serial inflation trigger recalculation (furszy) a3d725a42a Zerocoin supply, wrapped serials inflation + some minor modifications (furszy) b3660cbb2e SoK invalid range check. (furszy) ad3a3c717b remove tab spaces (furszy) ed15e21eb8 Fix isBlockBetweenFakeSerialAttackRange check (random-zebra) 8e7cf5ab4e Fix IsValidCommitmentToCoinRange check (random-zebra) a936e03c22 getserials ambiguous Pair constructor in bitsize blocking clang compilation fix (furszy) bd529a0f6e [UNIT TEST] wrapped serial coinSpend check (furszy) 1217868777 [RPC] Add getserials method (random-zebra) 9fe8dabc4f fix isValidSerial always true check (random-zebra) 913e48cda8 wrapped range fix (furszy) 46a5231574 wrapped serials check in acceptToMemPool method (furszy) edfdb4c30b prints in console commented (furszy) 18e55ed179 fake serials attack enforcement (furszy) Tree-SHA512: fe6eaf26257c25377982d44ff1cdd839edf6f71daa5607fc98397b4a3fcd26ae78db54c781038e4f9ff8a7ad1d460ce109909184852bb620435e10dcba6a638c commit 6eff5fa9706f041438417c69124e480a11479a9f Author: random-zebra <random.zebra@protonmail.com> Date: Fri Mar 22 19:14:50 2019 +0100 fix xION supply recalculation commit 2676ca3626ccacf6bbc43daba8cc9eda9b3984e0 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Fri Mar 22 12:55:52 2019 +0100 newline character added to recalculate wrapped serials supply logging commit 56dd114b99d7d4a1a73f5b1e859838322a1b0ff4 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Mar 20 17:23:27 2019 +0100 cleanup, remove trading dialog form commit da43659dd21d27aa6bffefaabf8a7c51944feaee Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 20 09:58:14 2019 +0100 Initialize nSupplyBeforeFakeSerial to 0 in TestNet and RegTest and fix percent of reindex feedback in uiInterface commit c46de31dc45d7b23008472970da3b020f8fac07f Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 20 04:20:34 2019 +0100 Fix Wrapped Serials inflated xION supply recalculation and add visual status feedback to UI interface commit 13691861f8fa39245a0fc257d952fbdfa7618a82 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Mar 19 13:08:52 2019 +0100 zerocoin contextual spend check log invalid serials commit 5673c8373ebba0d516d0fe44d787f69f328f1c26 Merge: 0d738b3dc c3352f0db Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Tue Mar 19 01:29:33 2019 -0700 Merge #838: [RPC][Test] spendrawzerocoin + wrapped serials functional test c3352f0dbd [Test] add 'zerocoin' to the list of good prefixes in test_runner (random-zebra) 78f1a241ae [Test] wrapped serials: use multiple random values for K (random-zebra) bf0cf52d37 [RPC] fix spendrawzerocoin string parsing (random-zebra) 025d2855f9 [Tests] Add Wrapping Serials Test (random-zebra) 7373704842 [RPC] Add spendrawzerocoin (random-zebra) Tree-SHA512: 707c015b2b40bf6f34999aa7b1a62b1e1be4b8c4d9b0e830ed78ebf2f74a362883708d6204cfadd95f5d6520feb19fc1ba4b8a12549c6cc40c40dc2ab56fb2e9 commit 0240f27e5f0b936e9f9171ef8afcd2a93dc9f961 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Mar 19 02:50:16 2019 +0100 log rejection serial block height commit ab6a134f2b40b72f155e42e51153d6ba1170872b Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Mar 19 02:42:19 2019 +0100 invalid fake serial rejection commit 010d03591c81a42bac042cb2fc7f02dd75059c8b Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Mar 18 18:07:27 2019 +0100 xion recalculation moved in init and added in connectblock commit bd6b26b466ae111c0ff84932885b16d1f67aede9 Author: random-zebra <random.zebra@protonmail.com> Date: Mon Mar 18 16:28:58 2019 +0100 fix tabs in SoK commit 41a2bcca29789ce0fc87c526331f60c88bd2e0ea Author: random-zebra <random.zebra@protonmail.com> Date: Mon Mar 18 16:05:33 2019 +0100 fix bitSize typo in bignum for openssl commit 29c1791815bb5675e5ef53985d8541157d3cdce1 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Mar 18 15:58:26 2019 +0100 inflation methods moved to cpp commit 027c9ffcb687d2093ce16cab4c06b530f5925bf5 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Mar 18 12:46:43 2019 +0100 wrapped serial inflation trigger recalculation commit a3d725a42adbda5aee3d6b7a63c63b6a2d673dde Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Mar 18 12:07:49 2019 +0100 Zerocoin supply, wrapped serials inflation + some minor modifications commit b3660cbb2e01b1066e0c4fb472d956dff245005a Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Mar 18 12:03:27 2019 +0100 SoK invalid range check. commit c3352f0dbd0f5a6324fa0ec262d80ab311d58b48 Author: random-zebra <random.zebra@protonmail.com> Date: Sat Mar 16 01:45:14 2019 +0100 [Test] add 'zerocoin' to the list of good prefixes in test_runner commit ad3a3c717ba196fc072155f2e71f86ac9838aade Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sat Mar 16 00:46:59 2019 +0100 remove tab spaces commit 78f1a241ae8f3884ccd714b898f1ed733467d9c3 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Mar 14 15:39:45 2019 +0100 [Test] wrapped serials: use multiple random values for K commit bf0cf52d3725789d43aaadee5eff750e9173977a Author: random-zebra <random.zebra@protonmail.com> Date: Thu Mar 14 14:45:40 2019 +0100 [RPC] fix spendrawzerocoin string parsing commit ed15e21eb8eab1d506d5eb30c13829a1b3edc3f3 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Mar 14 02:30:50 2019 +0100 Fix isBlockBetweenFakeSerialAttackRange check use only upper bound and only mainnet commit 025d2855f9ebe323e292962542d6ccb3ea6bd836 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 13 22:53:00 2019 +0100 [Tests] Add Wrapping Serials Test commit 73737048422ad627ee38d73dca52bf04f185472a Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 13 22:16:12 2019 +0100 [RPC] Add spendrawzerocoin and add 'serial hash' to export zerocoins output commit 8e7cf5ab4e70e7a2370f18765148fd4bc41d1ab6 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 13 18:33:41 2019 +0100 Fix IsValidCommitmentToCoinRange check commit a936e03c22b0204235e6831956902522acc1bc63 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Mar 13 14:36:37 2019 +0100 getserials ambiguous Pair constructor in bitsize blocking clang compilation fix commit bd529a0f6e91a6abe0305ebf28e3c9dba3cb7316 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Mar 13 14:34:27 2019 +0100 [UNIT TEST] wrapped serial coinSpend check commit 12178687775f7e3010c86d46e114f1b408a84ed7 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 13 10:33:15 2019 +0100 [RPC] Add getserials method commit 9fe8dabc4f869842725ca2f212fdab34e935c6fb Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 13 10:32:32 2019 +0100 fix isValidSerial always true check commit 913e48cda8bee4d63f7bf72ff6c45cccaf8abb82 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Mar 12 12:51:36 2019 +0100 wrapped range fix commit 46a5231574a47cfd886808cd352b4a2a17abc5d5 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Mar 12 02:03:46 2019 +0100 wrapped serials check in acceptToMemPool method commit 0d738b3dc073bf9f57a34d5fd5021cee6a56f0fa Merge: 2b8daac4c 0015d08c7 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Mar 11 02:41:18 2019 -0700 Merge #826: [Qt] Fix a windows only crash when r-clicking a proposal 0015d08c75 [Qt] Fix a windows only crash when r-clicking a proposal (warrows) Tree-SHA512: 7e9507e4ffbbca6b41d9c9b18d31f7ebfddf01d5abbfd083b2fcbf6d7d398c20391bdc4fc4903c8d1b338d0c78929920264eb6352bbcaa9b2baf1c11df965cc5 commit edfdb4c30b7efe0795805f7e315ba1cabf5b0e8e Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sat Mar 9 15:38:34 2019 +0100 prints in console commented commit 18e55ed179b04b1ce81e3afb9110bb73e92da638 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Thu Mar 7 23:27:46 2019 +0100 fake serials attack enforcement commit 2b8daac4c0f29aecc80dfa7e0378ea40a1fd5e90 Merge: 86d613373 52b509468 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Tue Mar 5 00:20:52 2019 -0800 Merge #822: [Tests] Integrate fake stake tests into parent test suite 52b509468f Remove stale qtum python scripts (Fuzzbawls) c0d8dcb8c9 [Tests] Integrate fake stake tests into parent test suite (Fuzzbawls) Tree-SHA512: b0f9d559b3a8a4d0da3d400dfbe57fa15933a3c569732c4d7d10e147e7d5cd5f70a6f5231c862e4ca5f7f3efdb2de5890fe4755cbee5c41b00a4ab34a015c2e4 commit 86d61337353ed14d40c0c3ec789c954b3df39079 Merge: 37a06eaa9 e87231b62 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Mar 3 22:04:59 2019 -0800 Merge #821: [RPC] Fixup signrawtransaction on regtest e87231b62b [RPC] Fixup signrawtransaction on regtest (Fuzzbawls) Tree-SHA512: 1e1b9c25abf9b2406b5065b0b348100fe60e13a258d874d681c6df4094a86ecf3e226e39e6c3e1d8b07fa853634c35249f65652641d13741c426c4c9053e7b36 commit 52b509468f4915a682c977ef9da5f971ceb45bbb Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Mar 3 03:40:09 2019 -0800 Remove stale qtum python scripts commit 0015d08c75a02692c1169be4876bd2d42ae45ab2 Author: warrows <warrows@gamer666.fr> Date: Fri Mar 1 11:13:37 2019 +0100 [Qt] Fix a windows only crash when r-clicking a proposal The problem seems to be related to a stack corruption issue occuring within Qt and only for windows 64 builds. Further investigation is required but this is a suitable fix for now and there is no need to have the r-click doing the sae job as the l-click in this situation. commit 37a06eaa938cab1c4cc7a39298690922519beb7a Merge: 065f94118 bae276af9 Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Wed Feb 27 21:51:22 2019 +0100 Merge #817: [Wallet] Fix segfault with runtime -disablewallet bae276a Don't bother checking obfuscation messages (Fuzzbawls) 837f25f [Wallet] Fix segfault with runtime -disablewallet (Fuzzbawls) Tree-SHA512: a8dd502897cdc82f206a1805f7b1ae51960344c3fa32640c9dc6c271768e7db718bc2f57034e8fabfd1b402e589e531419d1e8af8a25eee71d89a6b79ce3a679 commit c0d8dcb8c9be933ba6c86be95b1a45b89a1337af Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Tue Feb 26 19:16:20 2019 -0800 [Tests] Integrate fake stake tests into parent test suite This integrates each of the 5 test scripts into the parent test suite so they can be run from within `test_runner.py` (or still individually). One prominent benefit to this is that the 5 tests are now included when generating code coverage reports with `make cov` `stratisx-notingatstake.py` and `ion_fake_stake.py` are removed as the former was a stale leftover from prior to our own test scripts, and the latter is now redundant. commit e87231b62b4fb41f4d14117e39f6c4ef8f3e0447 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Feb 25 00:58:04 2019 -0800 [RPC] Fixup signrawtransaction on regtest The `signrawtransaction` RPC command needed some modification to appease the fake stake test cases, however that change introduced a minor inconsistency in it's operation. This PR restores the original functionality, while still providing a means to be used for the fake stake test cases. commit 065f94118d818faeaef80add16494366d9267120 Merge: f8eb7feef 61a6ea755 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Feb 24 22:50:11 2019 -0800 Merge #803: [NET] Invalid blocks from forks stored on disk fix + blocks DoS spam filter. 61a6ea7558 AcceptBlock() for-each loops variables moved to const (furszy) e1974d23f3 AcceptBlock() check for double spent serials only on main chain flag. (furszy) babdfb0f26 remove extra debug lines in AcceptBlock (random-zebra) a9178bc6e0 AcceptBlock: contextual zcspend check on main chain (random-zebra) 0d49570f20 AcceptBlock() block stored log removed (furszy) b74921756a Fix bug on AcceptBlock when pindex is null (random-zebra) 45883b9fb6 AcceptBlock() invalid isBlockFromFork flag (furszy) 6a16049dfa AcceptBlock() reject blocks double spending the coin stake input inside the same block (furszy) da1b6836a5 block spam filter, validate non null nodestate (furszy) 84de55a11c AcceptBlock() isBlockFromFork flag not contemplating prev blocks from forks fixed (furszy) 4219339521 AcceptBlock() - not accept blocks from a forked chain that exceed the max reorg limit (furszy) 47759e113c AcceptBlock(), reject invalid PoS stake (furszy) e237823000 validate non null pfrom on blockspamfilter check (furszy) c2e5459dff AcceptBlock(), serial double spend on the same block validation (furszy) 3f5091986c zPoS validations of forked chains before store them + inputs check on prev split main chain (furszy) 64804b4bee Invalid blocks from forks stored on disk fix + blocks DoS spam filter. (furszy) Tree-SHA512: 6c5a7fda3eb81dc8b030c9ba624e5101f552ef9cecc839a79237b705c314171c0e9c66ecd8bfd207081c6759272140cf3bdf0da7af6ac4695f0c09b74fb1ba45 commit 61a6ea75585c11ef90f834583c1f206aaa5942b0 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sun Feb 24 23:52:40 2019 +0100 AcceptBlock() for-each loops variables moved to const commit f8eb7feefceeb8828cbf5e8172ddf50079d713ca Merge: 51e7b2c4b fced4e26f Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Feb 24 14:46:30 2019 -0800 Merge #812: [Regtest][Tests][RPC] Regtest mode + Test suite. fced4e26fe [Tests] fake_stake: reverse stake hash byte order (random-zebra) a85cdad03c [Tests] fake_stake: use hashStake for kernel computation (random-zebra) 6aa5ddbff8 [Tests] fake_stake: remove random prevout from spending (random-zebra) 8e370da804 [RPC] add mint hashStake to listmintedzerocoins output (random-zebra) 0d865a8978 [Tests] fake_stake: use a copy for spendingPrevouts (random-zebra) 0f209b3da8 [Tests] fake_stake: docstrings and comments (random-zebra) 322ce79a67 [Tests] fake_stake: fix checksum computation (random-zebra) 7aae5b1e8b [Tests] fake_stake: fix empty spending_prevouts (random-zebra) c7555e1b84 [Tests] fake_stake: collect prevouts from create_spam_block (random-zebra) 1d699432f2 [RPC] Add call 'getchecksumblock' (random-zebra) 2e7eacc4c4 [Tests] fix line separators in Test03 (random-zebra) c6c81a7cd2 [Tests] fake_stake: test03 updated (random-zebra) 0d8cf5500d [Tests] remove trailing whitespace from README.md (random-zebra) 9302f5a046 [Tests] fake_stake: test01 & test02 updated (random-zebra) e0efe4d530 [Tests] unique 'get_prevout' method for both pos and zpos stakes (random-zebra) 9318335525 [Tests] remove trailing whitespaces (random-zebra) 67284ce22a [RPC] add mint block height to 'listmintedzerocoins' (random-zebra) d783229568 [Tests] get correct nStakeModifier (random-zebra) 78e838ee32 [Tests] fix solve_stake nTime / nStakeModifier (random-zebra) a428c83609 PoS block creation uniqueness. (furszy) dd07bd1a50 [Tests] fix proof of stake target in block class (random-zebra) 030e557b93 [Tests] fake_stake: fix test 01 block numbers (random-zebra) fe54e9b92a [RPC] fix signrawtransaction hack to allow signing of spent inputs (random-zebra) 79e364354f regtest lastPoWBlock and zerocoin block start decreased to not waste lifetime waiting for the tests. (furszy) 42e9c01a85 More logging in block generation. (furszy) 0aa9bafbf4 fake stake test4 (furszy) 8315a42a7b ion_fake_stake: test03 almost complete (random-zebra) 1ad11ad9f7 RPC createrawzerocoinstake: fix vout[0], add priv-key (random-zebra) ad65ac4e0a REGTEST: Fix bug on GetModifier (random-zebra) 47f0503b19 RPC: hack MintToTxIn to allow spending an already spent xion on regtest (random-zebra) 3092cfc0c2 add empty output to createrawzerocoinstake (random-zebra) c5a6a67349 log CWallet::MintToTxIn errors (random-zebra) 252f4ab43e ion_fake_stake: zerocoin prevouts (random-zebra) 22769817ae GetModifier for regtest zPoS hardcoded to prev block stake modifier (furszy) 63bd40e064 ion_fake_stake: test_spam method refactoring (random-zebra) 1df9240727 ion_fake_stake: add test descriptions (random-zebra) 79e746eb3d zerocoin mint + spent (furszy) 9eea8837aa half test3 completed (furszy) 23236e7499 ion_fake_stake: select test from command line (random-zebra) 44d2e9a1c2 ion_fake_stake: get_prevouts (random-zebra) 1b27b90e8b ion_fake_stake Test05 - update blockcount in forks (random-zebra) 88e0dc6442 ion_fake_stake Test05 - more blocks fix (random-zebra) bf3b732dc5 ion_fake_stake Test05 - more blocks (random-zebra) a25f2e84a2 ion_fake_stake Test05 (random-zebra) 427f2f168b test05 completed, rejection of double spend coin stake input on the same block on main/forked chain (furszy) 3cbf43e7db test05 (furszy) f7a48260c6 Add 'createrawzerocoinstake' method (random-zebra) 70d859e055 test_02 working good. (furszy) ed63600142 ION_fake_stake: zerocoin tests (random-zebra) 07b981af88 no time validation for regtest (furszy) 47c2c65721 import bytes_to_hex on test_02 fix (furszy) c02002bdd4 ION_fake_stake: fix coinstake out value (random-zebra) 35f09e5d21 submitblock assertion on test_02 (furszy) d0c0dccff5 ION_fake_stake: fix coinbase nHeight merge (random-zebra) 2cf7ae1939 ION_fake_stake: fix txes in create_spam_block (random-zebra) ef01bd8141 zPoS running on regtest :) (furszy) 5405d1ce2d Zerocoin fixed on regtest & PoS blocks generation fixes. (furszy) 158bd2b215 regtest PoS generate valid blocks (furszy) 71a3743108 Tests: fixup a conditional check for python block creation (Fuzzbawls) b3950ff436 Tests: update nothingatstake test file (Fuzzbawls) f40f576eb3 stakemodifier fixed for regtest (furszy) 80a2aec5df Tests: serialize block signature when present (Fuzzbawls) 9cec3bd2f5 RPC: hack signrawtransaction to allow signing an already spent input (Fuzzbawls) 5c0f0b99ed WIP: port the test for "fake stake" issue test (Fuzzbawls) b074cd0e42 RPC: return the used stake modifier in getblock (Fuzzbawls) 1ffc443ba6 Regtest: mine the correct version blocks (Fuzzbawls) 3d588ead42 Tests: Remove whitespace in default conf file (Fuzzbawls) ebdc552408 Fixup the walletdump command and python test (Fuzzbawls) 37b29c7e61 [Tests] Add Basic BIP38 RPC functionality test (Fuzzbawls) c2cfff0a23 Tests: add size field to test json (Fuzzbawls) 2155506247 Add rpm contrib files (Fuzzbawls) 4e62dd9ee8 Main: reject non-final transactions using nLocktime from entering the mempool. (Fuzzbawls) 4c71b5694a [RPC] Ensure Tx/Budget input hashes are of the proper length (Fuzzbawls) 7d37c1c207 [RPC] Update and harden many raw transaction RPC commands (Fuzzbawls) 262f76a9d0 [RPC] Error early when block doesn't start with a coinbase transaction (Fuzzbawls) 7e0476b25a RPC: Add waitforblock/waitfornewblock/waitforblockheight (Fuzzbawls) 22bfe7ea2c [Tests] Initial update for regression test suite tests (Fuzzbawls) 93fd9f0501 Update block generation code to enable regtest mode (Fuzzbawls) 25fc43698b Build: add test runner packaging to configure (Fuzzbawls) Tree-SHA512: 09bcd3c727eb85103451cf971e0bc3a27eca205318ebb6c600a26ddc97f58ef456aa6768c9e94fd5c484da5071887e5b50c2bcf90318cfe2c9178c0c746a408b commit bae276af944b357b4ed5542c0ddf2db4081844fb Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Feb 24 00:28:44 2019 -0800 Don't bother checking obfuscation messages Obfuscation has all but been removed, no need to check incoming messages for it's functionality anymore commit 837f25f4e9187211620e747df3672d7130d7a48e Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Feb 23 02:09:05 2019 -0800 [Wallet] Fix segfault with runtime -disablewallet commit 51e7b2c4b012182ecee22930a9d19946d613648b Merge: a611a7fa7 867d1b573 Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Sat Feb 23 21:58:32 2019 +0100 Merge #816: [Doc] Update build-unix.md 867d1b5 [Doc] Update build-unix.md (Fuzzbawls) Tree-SHA512: fcb195491a46328908146b26588595d3d93bfab8ceb658fb960dd9364fdb7f1c462c888b9cca74364344786722f208ff2f59d31b1fe820c0b8bf5b33a1546c64 commit 867d1b573fd1055661325aee2d355527abbf155c Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Feb 23 00:18:00 2019 -0800 [Doc] Update build-unix.md Update the Unix build notes to be more complete, with mentioning of the GMP and ZeroMQ dependencies, as well as OpenSSL version note. Other stylistic updates as needed. commit a611a7fa777b89f8752cad430a8b8e370deee8a2 Merge: c12697469 0eaf96d85 Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Wed Feb 20 22:26:17 2019 +0100 Merge #757: [Doc] Update doc/build-windows.md 0eaf96d Update doc/build-windows.md (idas4you) Tree-SHA512: 3f8a3067887d84fe371b5ba80b70c95d7a1f2b95b938c5f1059df0f884630595f75abf38676af5ce5a2983f3971791ec56fdaa979ff6b656cb06b3ddd7326df6 commit c12697469b27f23cdd266a408914eb80cc652931 Merge: ed0dd2a20 400886551 Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Wed Feb 20 22:08:17 2019 +0100 Merge #792: [UI] Add a budget monitoring and voting tab 4008865 [Travis] Fix trailing whitespaces (warrows) 87b9809 [UI] Rework proposal frames (warrows) 8b8a712 [UI] Add global budget information to governance tab (warrows) f7674fb [UI] Clean proposal list when updating (warrows) bbf3274 [UI] Use only one column for Proposal list (warrows) d6c68c6 [UI] remove unused textlabel from governance page (warrows) 39eb903 [Qt] Add basic GUI voting tab to the wallet (Fuzzbawls) Tree-SHA512: 438afbb8ed1dbe0892164b6f6b3d0ac3b825b2e7855115f1137bf5bcf454533e375774cd835c19ea529bb1ff0a4f886a3e71e809e9893a102ae841a1a4be8f9a commit fced4e26fe712c07e05b3744b9eac2a3f8ad31b5 Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 18 18:57:47 2019 +0100 [Tests] fake_stake: reverse stake hash byte order commit a85cdad03cfece1fdcb4732d8b2cb19e698167fb Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 18 16:25:51 2019 +0100 [Tests] fake_stake: use hashStake for kernel computation commit 6aa5ddbff8cd788f2b5a66ff502e71ff5db5f2ee Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 18 16:19:04 2019 +0100 [Tests] fake_stake: remove random prevout from spending commit 8e370da804ae1cf0f1c5af6b50bb12c59fbfe47d Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 18 16:18:24 2019 +0100 [RPC] add mint hashStake to listmintedzerocoins output commit 0d865a8978682a3c8976c210817336b119bdf41f Author: random-zebra <random.zebra@protonmail.com> Date: Sat Feb 16 11:43:51 2019 +0100 [Tests] fake_stake: use a copy for spendingPrevouts commit 0f209b3da879899a286154ccdd46c022dddc24bc Author: random-zebra <random.zebra@protonmail.com> Date: Sat Feb 16 00:54:48 2019 +0100 [Tests] fake_stake: docstrings and comments commit 322ce79a6745fe571ae7c2f8f0d64eea27f12682 Author: random-zebra <random.zebra@protonmail.com> Date: Fri Feb 15 21:54:33 2019 +0100 [Tests] fake_stake: fix checksum computation commit 7aae5b1e8b93add3adde84d049ae0cf54dc941df Author: random-zebra <random.zebra@protonmail.com> Date: Fri Feb 15 21:17:10 2019 +0100 [Tests] fake_stake: fix empty spending_prevouts commit c7555e1b8472592b09021bc570dc635b66f175c6 Author: random-zebra <random.zebra@protonmail.com> Date: Fri Feb 15 21:07:34 2019 +0100 [Tests] fake_stake: collect prevouts from create_spam_block commit 1d699432f2e2b73a4bf96f08a76b9c889bcbaeda Author: random-zebra <random.zebra@protonmail.com> Date: Fri Feb 15 18:25:40 2019 +0100 [RPC] Add call 'getchecksumblock' which returns the first occurrence of a block with given accumulator checksum commit 2e7eacc4c47a94018a82dc16371b16c63651e64e Author: random-zebra <random.zebra@protonmail.com> Date: Fri Feb 15 09:57:49 2019 +0100 [Tests] fix line separators in Test03 commit c6c81a7cd20a5287f35ba00418af171f2cecb905 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 18:06:01 2019 +0100 [Tests] fake_stake: test03 updated commit 0d8cf5500daf4896a4b48c573b1e2155c3f0deb3 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 17:56:40 2019 +0100 [Tests] remove trailing whitespace from README.md commit 9302f5a0463029696637b632b884d943f39c75c8 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 17:50:40 2019 +0100 [Tests] fake_stake: test01 & test02 updated commit e0efe4d530550d950af788148ecfc453db8bf83a Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 17:50:06 2019 +0100 [Tests] unique 'get_prevout' method for both pos and zpos stakes commit 93183355259994dd3278618b267231bf8b745fcc Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 17:47:06 2019 +0100 [Tests] remove trailing whitespaces commit 67284ce22af1c6cc931b8c42a3abe2ea57549b90 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 17:27:34 2019 +0100 [RPC] add mint block height to 'listmintedzerocoins' commit 0eaf96d8565ce9335745c774de4761ca232e8063 Author: idas4you <idas4you@gmail.com> Date: Thu Nov 8 11:31:12 2018 +0900 Update doc/build-windows.md commit 64b2bb324e2deaf29f27529094ca0cb05720a250 Merge: d78322956 26e98a8df Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 01:05:39 2019 +0100 Merge branch '2019_regtest-mode-and-fake-test-suite' of https://github.com/furszy/ION into 2019_miller_tests commit d783229568f4fccadce8e05ae7f0001692ea4041 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 01:04:59 2019 +0100 [Tests] get correct nStakeModifier commit 26e98a8df8532bf7842c98a0b456e2e060637f8a Merge: a428c8360 78e838ee3 Author: Matias Furszyfer <5377650+furszy@users.noreply.github.com> Date: Wed Feb 13 23:45:41 2019 +0100 Merge pull request #8 from random-zebra/2019_miller_tests [Tests] fix solve_stake nTime / nStakeModifier commit 78e838ee32344ab4cf56f25a21d65111e09b49df Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 13 23:33:58 2019 +0100 [Tests] fix solve_stake nTime / nStakeModifier commit a428c83609e8532c8db14caaf8e01e4a1ffac1f8 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Feb 13 13:31:26 2019 +0100 PoS block creation uniqueness. commit 90631bebd99844d4d3f56648f1ab0caedaf1fcae Merge: eb1258375 dd07bd1a5 Author: Matias Furszyfer <5377650+furszy@users.noreply.github.com> Date: Tue Feb 12 15:53:16 2019 +0100 Merge pull request #7 from random-zebra/2019_miller_tests [Tests] fix proof of stake target in block class commit dd07bd1a50ca24a4f138c6b255b534ae65b32aa1 Author: random-zebra <random.zebra@protonmail.com> Date: Tue Feb 12 15:47:50 2019 +0100 [Tests] fix proof of stake target in block class commit eb1258375a8aeb67bd18084b6eab00595a9232e6 Merge: 79e364354 030e557b9 Author: Matias Furszyfer <5377650+furszy@users.noreply.github.com> Date: Tue Feb 12 00:09:21 2019 +0100 Merge pull request #6 from random-zebra/2019_miller_tests Additions to Regtest - fakeStake suite commit 030e557b93d46733c8e647c63ce756e4900fdd38 Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 11 23:38:55 2019 +0100 [Tests] fake_stake: fix test 01 block numbers commit fe54e9b92a601b8a38f3488e9567e10fe2a9b7bf Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 11 23:23:55 2019 +0100 [RPC] fix signrawtransaction hack to allow signing of spent inputs commit 79e364354ffd3f0aadb617d576efc8175037aa46 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 11 17:00:44 2019 +0100 regtest lastPoWBlock and zerocoin block start decreased to not waste lifetime waiting for the tests. commit 42e9c01a85bd031f15b6b26ce806ca35c46efc23 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 11 16:59:06 2019 +0100 More logging in block generation. commit 0aa9bafbf40597500f6f09ce2e016159c415a36f Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 11 12:25:07 2019 +0100 fake stake test4 commit 8315a42a7b4581deb70681f2930f29b71f37138b Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 14:56:24 2019 +0100 ion_fake_stake: test03 almost complete commit 1ad11ad9f7b4befa10538075d0ed091936522d4f Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 13:32:27 2019 +0100 RPC createrawzerocoinstake: fix vout[0], add priv-key commit ad65ac4e0a191d042c4e50a2ac06f7cebc605787 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 13:31:51 2019 +0100 REGTEST: Fix bug on GetModifier commit 47f0503b197245b143135f259381ef0a9c257c74 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 05:42:59 2019 +0100 RPC: hack MintToTxIn to allow spending an already spent xion on regtest commit 3092cfc0c2d111449b5441aaebac485812e693b4 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 05:41:35 2019 +0100 add empty output to createrawzerocoinstake commit c5a6a67349ad65d4626a09f7559aeda66a267624 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 05:31:56 2019 +0100 log CWallet::MintToTxIn errors commit 252f4ab43e450d83819c632ed1c296093d37c044 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 03:01:30 2019 +0100 ion_fake_stake: zerocoin prevouts commit 22769817ae95cca134c33391b9df743f6e66be60 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Thu Feb 7 01:56:56 2019 +0100 GetModifier for regtest zPoS hardcoded to prev block stake modifier commit 63bd40e06419d309970d94c9c54196a724339e26 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 00:24:31 2019 +0100 ion_fake_stake: test_spam method refactoring commit 1df92407276689619bcd34948737ba83860b6959 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 21:48:25 2019 +0100 ion_fake_stake: add test descriptions commit 79e746eb3dccba245d716743ded3fdedfb9ebcbe Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Feb 6 21:37:48 2019 +0100 zerocoin mint + spent commit 9eea8837aa76fe07dc3ffecd96fe150541905400 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Feb 6 17:09:38 2019 +0100 half test3 completed commit 23236e7499fb98bd1df49d56cd6d4c3cfda9db56 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 16:34:54 2019 +0100 ion_fake_stake: select test from command line commit 44d2e9a1c22678c600e987a2da468549ba3c2a13 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 15:46:41 2019 +0100 ion_fake_stake: get_prevouts commit 1b27b90e8bc3d7fa4fae349b60252501bcd1bb39 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 13:58:19 2019 +0100 ion_fake_stake Test05 - update blockcount in forks commit 88e0dc644228458bb97cd4d65437310921d9bee1 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 13:51:54 2019 +0100 ion_fake_stake Test05 - more blocks fix commit bf3b732dc5a4dfae622871c82502e454d54d9ae6 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 13:07:29 2019 +0100 ion_fake_stake Test05 - more blocks commit a25f2e84a2c2df6d0fc27c59dbb9362deb8c8ed7 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 12:00:16 2019 +0100 ion_fake_stake Test05 commit 427f2f168b9dfb11ebc7edaa29813db3ed49d1cc Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Feb 5 22:12:09 2019 +0100 test05 completed, rejection of double spend coin stake input on the same block on main/forked chain commit 3cbf43e7db151309c724978ac309ea0bc19368e4 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Feb 5 17:50:17 2019 +0100 test05 commit f7a48260c63ff6f1a0a5817298eb6c9597c59844 Author: random-zebra <random.zebra@protonmail.com> Date: Tue Feb 5 16:42:51 2019 +0100 Add 'createrawzerocoinstake' method commit 70d859e0552e5213c082706bef4562e804104567 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Feb 5 12:18:36 2019 +0100 test_02 working good. commit ed63600142da846755d3f820be2f4afaec208929 Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 4 17:15:41 2019 +0100 ION_fake_stake: zerocoin tests commit 07b981af8819bc7f88f30bfa7f1f74481645646c Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 4 13:12:55 2019 +0100 no time validation for regtest commit 47c2c65721598fb42bc85f13b2a6661ac071773f Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 4 12:42:12 2019 +0100 import bytes_to_hex on test_02 fix commit c02002bdd48a292f57f03874e3b8a692f22cab4f Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 4 03:02:30 2019 +0100 ION_fake_stake: fix coinstake out value commit 35f09e5d2124b063124f19eef83fe9a6bac35dd5 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 4 03:01:15 2019 +0100 submitblock assertion on test_02 commit d0c0dccff5673648ffe86e1b8f65077b01e26f64 Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 4 02:30:12 2019 +0100 ION_fake_stake: fix coinbase nHeight merge commit 2cf7ae1939f3bae9b4a32aa06ce298f54baa36be Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 4 00:17:14 2019 +0100 ION_fake_stake: fix txes in create_spam_block commit ef01bd81418f72908b73c438f0238843e11f6510 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sun Feb 3 17:49:18 2019 +0100 zPoS running on regtest :) commit 5405d1ce2da8372dbd0c54e75cdc2db57661e8a5 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 11 11:43:36 2019 +0100 Zerocoin fixed on regtest & PoS blocks generation fixes. commit 158bd2b215599eaca2d1292fa1d5034dbb03a032 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Jan 29 01:00:12 2019 +0100 regtest PoS generate valid blocks commit 71a3743108b7bed58fb057615a1a05f51dd71dbc Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Wed Jan 30 23:11:48 2019 -0800 Tests: fixup a conditional check for python block creation commit b3950ff436f73c6c43a5ded27c97f9505febd5aa Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Jan 28 02:09:44 2019 -0800 Tests: update nothingatstake test file - reintroduce spam transactions - make disk size usage output in kilobytes - add assertion check after stopping node for disk size usage - do fuckall with the node(s) setup (this was in the original script, but likely doesn't change anything from how I had it previously) commit f40f576eb3f5f4f863796f3693fa61f8f0bd5421 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 11 11:15:22 2019 +0100 stakemodifier fixed for regtest commit 80a2aec5dff50753af89ee1ad975c8a0baa1287a Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Jan 28 02:04:32 2019 -0800 Tests: serialize block signature when present Needed for signing proof of stake blocks commit 9cec3bd2f5b011f45859a229897f2618ee7c434f Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Jan 27 22:36:44 2019 -0800 RPC: hack signrawtransaction to allow signing an already spent input Only works on regtest, obviously commit 5c0f0b99edcadbaa16c6281f067c67db251b6caa Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Jan 26 21:34:58 2019 -0800 WIP: port the test for "fake stake" issue test Currently this is non-functional as the created coinstake transaction cannot be signed properly (passing the transaction to the coin daemon via `signrawtransaction` returns an error) commit b074cd0e42e94895903aa5ac09d754549f8c3cc4 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Jan 26 21:31:08 2019 -0800 RPC: return the used stake modifier in getblock commit 1ffc443ba62b66586f148b6736aeb8c928730550 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Jan 26 21:28:57 2019 -0800 Regtest: mine the correct version blocks Zerocoin rules mandate that block version must be < 4 prior to zerocoin activation height. To prevent erroring on regtest, and still allow for manual/scripted changing of the block version, set some locical defaults . commit 3d588ead42b07c223a1370d09038d17b71f04fa4 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Jan 26 21:15:19 2019 -0800 Tests: Remove whitespace in default conf file commit ebdc552408e748a78fa4273ffd8091a0c3e57da1 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Jan 26 21:14:30 2019 -0800 Fixup the walletdump command and python test commit 37b29c7e618b8ca23faca3a08a870740357116f6 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Fri Sep 21 21:55:58 2018 -0700 [Tests] Add Basic BIP38 RPC functionality test commit c2cfff0a234607acf413b1053c2c0ce260ad6e16 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Wed Sep 19 16:18:58 2018 -0700 Tests: add size field to test json commit 2155506247b19f5cad072953f8892b133938c951 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Wed Sep 19 14:17:50 2018 -0700 Add rpm contrib files commit 4e62dd9ee8d00b016a315dd9f09197d6d9a3cedd Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Tue Sep 18 21:38:19 2018 -0700 Main: reject non-final transactions using nLocktime from entering the mempool. commit 4c71b5694a68ca2c27a88a579aaf21e2fd75dba9 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Tue Sep 18 21:34:07 2018 -0700 [RPC] Ensure Tx/Budget input hashes are of the proper length Transaction and Budget hashes are always 64 characters in length. Return a descriptive error if this is not the case. commit 7d37c1c207b8cb7f69664e5873ba6b882592234d Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Tue Sep 18 21:27:57 2018 -0700 [RPC] Update and harden many raw transaction RPC commands commit 262f76a9d0d853970d40bd1828245d8a66d2ec3d Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Sep 16 22:52:22 2018 -0700 [RPC] Error early when block doesn't start with a coinbase transaction submitblock (used for PoW) can return an error message earlier by checking that the first transaction is a coinbase transaction. This prevents wasting time with running the block through later validation checks that will ultimately fail. commit 7e0476b25a81a442cfb22fea4aa414d7afcd6bec Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Sep 9 12:43:49 2018 -0700 RPC: Add waitforblock/waitfornewblock/waitforblockheight Used in functional tests commit 22bfe7ea2c2904cffc11a45b8535073f30cdf47e Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Thu Jan 18 17:21:03 2018 -0800 [Tests] Initial update for regression test suite tests TOTO: fixup all tests / add new ones commit 93fd9f05019d388e3f50ceb39ced8f2710327fe7 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Nov 19 22:14:51 2017 -0800 Update block generation code to enable regtest mode Also update the icon/splash images for regtest commit 25fc43698b71c9bbd9f8948c9652fc0c8b46b518 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Thu Sep 6 16:46:01 2018 -0700 Build: add test runner packaging to configure commit e1974d23f31589f1c4e07062c7e4214abc281141 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Fri Feb 8 15:32:49 2019 +0100 AcceptBlock() check for double spent serials only on main chain flag. commit babdfb0f26b1733c0969f9106084134c0c774efa Author: random-zebra <random.zebra@protonmail.com> Date: Fri Feb 8 12:11:57 2019 +0100 remove extra debug lines in AcceptBlock commit a9178bc6e0d5deb7b79690bc5f595beb8b19c720 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 14:55:30 2019 +0100 AcceptBlock: contextual zcspend check on main chain commit 0d49570f208baeee89b0c426541ed4434940ed34 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Thu Feb 7 17:52:39 2019 +0100 AcceptBlock() block stored log removed commit b74921756a3c93e8c9e8569cea68cbda873df10d Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 13:31:19 2019 +0100 Fix bug on AcceptBlock when pindex is null commit 97c266bd5c99f66006d4f017d6c9f2ad95ab8533 Merge: 6a16049df 45883b9fb Author: furszy <5377650+furszy@users.noreply.github.com> Date: Thu Feb 7 13:19:30 2019 +0100 Merge branch 'invalid_blocks_storage_and_blocks_DoS_spam_filter' of https://github.com/furszy/ION into invalid_blocks_storage_and_blocks_DoS_spam_filter commit 6a16049dfa27f7aba0bdeae4f35660daa734bf42 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Feb 5 22:10:27 2019 +0100 AcceptBlock() reject blocks double spending the coin stake input inside the same block commit ed0dd2a20a87e9de56e9ff33387a8e68043fe840 Merge: 81c7c4764 9f89762dc Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Tue Feb 5 22:31:26 2019 +0100 Merge #802: [Refactor] Remove begin/end_ptr functions 9f89762 [Refactor] Remove begin/end_ptr functions (warrows) Tree-SHA512: 420b7dad43df23876cd891104c8a3f1c557c9dc20fa726c69fe80eaf13b353e4301e8c0abc2abde29896f991dd88aaddc7d19996a3b7287a6244fbfd5700facf commit 45883b9fb6230b40a4358426305da77a20a9fda4 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Feb 5 11:30:58 2019 +0100 AcceptBlock() invalid isBlockFromFork flag commit 81c7c4764cbcb3274509ea65963cecf8eb8bbf63 Merge: 204c038a4 8e86b893a Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Mon Feb 4 20:33:10 2019 +0100 Merge #758: [Depends] Update libsecp256k1 to latest master c6634ef Squashed 'src/secp256k1/' changes from 452d8e4d2..1086fda4c (warrows) Tree-SHA512: 7ebcd89f661b94c7ee52c57c3b1879e5ddf363205b326c8ed442bd4f88765701f22b3413e296519b589a4b0d150488a9dd911459eb9b9834d4e8dde3e21049b1 commit da1b6836a5e11f0fb514ce7364eee2eaa033be3f Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 4 03:47:18 2019 +0100 block spam filter, validate non null nodestate commit 84de55a11ca23bb4cc8e8800358cedf9a8202d60 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 4 00:24:14 2019 +0100 AcceptBlock() isBlockFromFork flag not contemplating prev blocks from forks fixed commit 204c038a4d0f5529787802df9ffe1743b62551d0 Merge: d4762f7e7 5bd855c67 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Feb 3 17:22:55 2019 -0800 Merge #768: [Net] Zerocoin Light Node Protocol 5bd855c673 removing apocaliptic comment (furszy) 95947bb9f7 logprint fixed (furszy) 91780b54cf log new line added + lightxionthread .h/.cpp (furszy) 95da6abadb Incorrect number of arguments for LogPrint(f) statement found. fixed (furszy) d72543ffe3 node_bloom_light_zc invalid if statement fixed (furszy) a9b992adcd remove old comment (furszy) 09ba617e26 remove tab spaces (furszy) d373e1d25a minor updates to PR 768 (random-zebra) 7b2310cad4 Zerocoin Light Node Protocol (furszy) Tree-SHA512: a85026a9626aacff07826d2a7eab198327d82d620fce4d1f64962e6c0158fa4a0c3c5c355aaed94809928fe5dd77e90810244cb04e41152517d48ebcb76d04f2 commit 5bd855c673fb00d8ece468af7db8c89b90e59a00 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Jan 22 17:40:26 2019 +0100 removing apocaliptic comment commit 95947bb9f7b7f5fb3bb86dfa03446cf6ec55dde5 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Jan 21 14:07:06 2019 +0100 logprint fixed commit 91780b54cf5ffba9cd96dc91ec9c7296458198b9 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Jan 21 13:25:09 2019 +0100 log new line added + lightxionthread .h/.cpp commit 95da6abadb97384e2d8ad54e13a351fdbea0a25e Author: furszy <5377650+furszy@users.noreply.github.com> Date: Fri Jan 18 00:37:37 2019 +0100 Incorrect number of arguments for LogPrint(f) statement found. fixed commit d72543ffe3a80108b9b0876036a620e32d921114 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Thu Jan 17 23:08:29 2019 +0100 node_bloom_light_zc invalid if statement fixed commit a9b992adcdcba996982ed6dd38ceb1c418abb35b Author: furszy <5377650+furszy@users.noreply.github.com> Date: Fri Dec 14 11:22:29 2018 +0100 remove old comment commit 09ba617e267e0c52af315933f8bd5a253ece627d Author: furszy <5377650+furszy@users.noreply.github.com> Date: Thu Dec 13 22:03:52 2018 +0100 remove tab spaces tabs removed tabs removed commit d373e1d25a760633ff247492ff4f320938d383b8 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Dec 5 21:11:41 2018 +0100 minor updates to PR 768 commit 7b2310cad4c45548f0fc856c15ac1c805f196b5f Author: furszy <mati_fur@hotmail.com> Date: Thu Nov 8 01:11:11 2018 +0100 Zerocoin Light Node Protocol commit d4762f7e7a6f4c7ed796fa9a574f9f9a95b0c4f9 Merge: 4a8e46a15 2159a5860 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Feb 3 14:40:30 2019 -0800 Merge #763: [Wallet] Add automint address 2159a58601 Add newly created automint addresses to the set (Fuzzbawls) 1c0169e494 Show automint address state in getwalletinfo (Fuzzbawls) 9374d5123b Add RPC command to enable/disable automint address functionality (Fuzzbawls) 0a364d4ff8 Add UI option to enable/disable automint addresses (Fuzzbawls) 72491216cf Add runtime/startup option to disable automint address functionality (Fuzzbawls) 65aefe8021 Add newly created automint addresses to the address book (Fuzzbawls) 6c2df854d9 Ensure wallet is unlocked for createautomintaddress (Fuzzbawls) 4205d57c14 Add automint address (presstab) Tree-SHA512: 76900c564eb6abe3cfa1606559aba4d6725be04126268b06215619fef8f83d58e953985469e2c97086a6cd0e6d60fb9f9e58aca1cee56e1a7bf9668e82c94fa8 commit 4a8e46a15829ae832aefdbf31fb59ad91a5b8870 Merge: a663bccea 189d6a958 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Feb 2 17:11:56 2019 -0800 Merge #804: [Depends] Update zmq to 4.3.1 189d6a958e Update zmq to 4.3.1 (Dimitris Apostolou) Tree-SHA512: 0226edb402b0594c616e580fe497d600eb2144d8eba8aa458d8255b093173306ff99429058c356e742896a4ac9ecbf92507b2da5cb16e8aa95c8c52860a20a21 commit 4219339521b5305557a81b538f20871498595e34 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Jan 30 20:53:24 2019 +0100 AcceptBlock() - not accept blocks from a forked chain that exceed the max reorg limit commit 47759e113cb12d5df7f60c13e79debbaef0a427c Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Jan 29 16:45:00 2019 +0100 AcceptBlock(), reject invalid PoS stake commit e237823000153ef2b8ea72cc823ef9fd2739d4f0 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sun Jan 27 14:25:48 2019 +0100 validate non null pfrom on blockspamfilter check commit c2e5459dff566a25616688ed0a502a471141c5b5 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sat Jan 26 22:29:22 2019 +0100 AcceptBlock(), serial double spend on the same block validation commit 189d6a958e31e08f212d0a9cddecf257ae4d76f5 Author: Dimitris Apostolou <dimitris.apostolou@icloud.com> Date: Thu Jan 17 18:25:38 2019 +0200 Update zmq to 4.3.1 Addresses https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6250 Signed-off-by: cevap <dev@i2pmail.org> commit 3f5091986c5f0798fd2d234924dea6da29872bd0 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sat Jan 26 00:48:59 2019 +0100 zPoS validations of forked chains before store them + inputs check on prev split main chain commit 64804b4bee2dda0f27a6f8a39f3a7f0bf0e24a3b Author: furszy <5377650+furszy@users.noreply.github.com> Date: Fri Jan 25 12:26:30 2019 +0100 Invalid blocks from forks stored on disk fix + blocks DoS spam filter. loop through forked blocks fix Invalid blocks from forks stored on disk Fix + Blocks DoS spam filter minor re organization minor cosmetic changes comments commit 9f89762dcc8de13f48c2fdcfd0577ced16df2462 Author: warrows <warrows@gamer666.fr> Date: Wed Jan 23 20:17:54 2019 +0100 [Refactor] Remove begin/end_ptr functions With C++11 these functions are not needed anymore and gracefully replaced commit a663bccea720e3a01607178906d5efed145a6dd8 Merge: 7fa20d69f 7dfa9b27f Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Mon Jan 21 20:37:12 2019 +0100 Merge #798: [Net] Improve addrman Select() performance when buckets are nearly empty 7dfa9b2 Improve addrman Select() performance when buckets are nearly empty (Pieter Wuille) Tree-SHA512: 64a16dd027174a45931e73c82e04629738b4caca8500d8cb04a1739d5f5529726d3ff27357f0bdf881fc4ccf278a7a6ac2b904e3a7822af32d8dce096ef16dce commit 7dfa9b27f8f3af1407599bc96a58056395278444 Author: Pieter Wuille <pieter.wuille@gmail.com> Date: Thu Aug 6 19:49:19 2015 +0200 Improve addrman Select() performance when buckets are nearly empty commit 2159a5860151df5c4415f245b551112697961be9 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Fri Jan 18 01:33:32 2019 -0800 Add newly created automint addresses to the set Ensures that a wallet restart isn't required after generating a new automint address by adding it to the set. commit 1c0169e494c4d3927ac1ca5776655b2232ec573c Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Jan 14 18:56:25 2019 -0800 Show automint address state in getwalletinfo Adds a new output line to getwalletinfo showing if automint address functionality is enabled or disabled. commit 9374d5123b98d294691667d891eac5cf46857b20 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Jan 14 18:55:06 2019 -0800 Add RPC command to enable/disable automint address functionality This compliments the UI's ability to toggle the state of automint address functionality for CLI/RPC users. commit 0a364d4ff8067517ef555a273084efa74b3ae9d5 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Jan 13 03:27:21 2019 -0800 Add UI option to enable/disable automint addresses This compliments the runtime (command line) option of enabling/disabling the automint address functionality. Option can be toggled on/off without the need to restart the client. commit 72491216cfd1edeb729ed8a585d2432b86983557 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Jan 13 01:20:05 2019 -0800 Add runtime/startup option to disable automint address functionality Defaults to true/enabled commit 65aefe802168ed84784b7fb7a757b8d53c7348a6 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Jan 13 01:17:44 2019 -0800 Add newly created automint addresses to the address book Default account/label is hard-coded to "automint-address" so as to be visually identified in the wallet's GUI. commit 6c2df854d98e634f95d22b7b6117e42962072c42 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Jan 7 23:03:53 2019 -0800 Ensure wallet is unlocked for createautomintaddress Also changed the return to a simple string (instead of a JSON object) to be consistent with other RPC commands that return just a single address. commit 4008865514afa6ab088281bee998801cd1267d2e Author: warrows <warrows@gamer666.fr> Date: Mon Jan 7 15:24:43 2019 +0100 [Travis] Fix trailing whitespaces commit 87b9809a0981425da3935b585822e5f658c8ea24 Author: warrows <warrows@gamer666.fr> Date: Thu Dec 27 14:02:49 2018 +0100 [UI] Rework proposal frames commit 8b8a712e3c0797dea724b2abe1a03ffac8018790 Author: warrows <warrows@gamer666.fr> Date: Fri Dec 21 11:56:47 2018 +0100 [UI] Add global budget information to governance tab commit f7674fbeebbb31171907c9c225b65ed21f8be0c8 Author: warrows <warrows@gamer666.fr> Date: Thu Dec 20 22:06:06 2018 +0100 [UI] Clean proposal list when updating commit bbf327459438b29a53d691ea221ab9d30b53fa35 Author: warrows <warrows@gamer666.fr> Date: Thu Dec 20 14:34:25 2018 +0100 [UI] Use only one column for Proposal list commit d6c68c6ec452d5b1378d428b508c725da8489bde Author: warrows <warrows@gamer666.fr> Date: Thu Dec 20 11:59:07 2018 +0100 [UI] remove unused textlabel from governance page commit 39eb903817e3dde0dffb137b455588a312a6dafe Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Jun 4 00:36:03 2018 -0700 [Qt] Add basic GUI voting tab to the wallet commit 4205d57c1465fcefbeb3a032f5ffd5af870c4536 Author: presstab <presstab1337@gmail.com> Date: Sun Oct 28 22:25:31 2018 -0600 Add automint address commit 8e86b893a3adfa1d0f7b02a10bbcc24fb1d7fa14 Merge: 63fb77b0a c6634ef06 Author: warrows <warrows@gamer666.fr> Date: Tue Oct 23 11:22:46 2018 +0200 Merge commit 'c6634ef065ceb295522f0d61a3d45d8d53abe51c' into libsecp_update commit c6634ef065ceb295522f0d61a3d45d8d53abe51c Author: warrows <warrows@gamer666.fr> Date: Tue Oct 23 11:22:46 2018 +0200 Squashed 'src/secp256k1/' changes from 452d8e4d2..1086fda4c 1086fda4c Merge #354: [ECDH API change] Support custom hash function 1e6f1f5ad Merge #529: fix tests.c in the count == 0 case c8fbc3c39 [ECDH API change] Allow pass arbitrary data to hash function b00be6505 [ECDH API change] Support custom hash function 95e99f196 fix tests.c in the count == 0 case git-subtree-dir: src/secp256k1 git-subtree-split: 1086fda4c1975d0cad8d3cad96794a64ec12dca4
FornaxA
referenced
this issue
in ioncoincore/ion
Jul 6, 2020
…d more (dashpay#141) - update from source to 3.2.x - All commits are squashed in range of (includes all source PR's up to march 28 fc924c1f): - 7fa20d69..fc924c1f (https://github.com/PIVX-Project/PIVX/commit/7fa20d69f6654f5ab8c1508178e7787f9e37febb) (https://github.com/PIVX-Project/PIVX/commit/fc924c1f63f3c84d7dcaea7e61254b355b55b608) When do I have to upgrade? -------------------------- Currently we plan to enforce new protocol on GMT: Wednesday, May 1, 2019 12:00:00 AM Client will not require any upgrade, this date will be set with: SPORK_8_NEW_PROTOCOL_ENFORCEMENT_DEFAULT As soon as we release client on github, we will set choosen date over spork. You can check spork values with `ion-cli spork show`. 4070908800 means it is off any other numebr means that spork will be active from this timestamp Release notes are being written. Notable changes: - minor upgrades and fixes - protocol upgrade to 95704 - client version upgrade to 3.2.x - new seeds - cleandup and initialized testnet checkpoints - readded class CBitcoinAddress class and its definitions (**TODO** - _required until refactored for getserials rpc call_) - removed and refactored unrequired check if zerocoin is v1 - fixed leveldb - comparison between signed and unsigned integer expressions (https://github.com/PIVX-Project/PIVX/pull/846) - fix redundant redeclaration (https://github.com/PIVX-Project/PIVX/pull/845) - fix redundant redeclaration of ‘std::__cxx11::string boost::program_options::to_internal(const string&)’ - replaced deprecated auto_ptr with unique_ptr (https://github.com/PIVX-Project/PIVX/pull/844) - updated dependencies - updated snapcraft (https://github.com/ioncoincore/ion/pull/118) - implementation of zerocoin protocol - updated bip44 - new testnet4 - cleaned up chainparams - refactored testnet which can be launched at any time old testnet was very big, with to many forks where no clients are available or hardcoded - change nBits from ion's old 0x1e00ffff to 0x1e0ffff0 - new genesis for testnet - new genesis nounce for testnet - new regtest - cleaned up chainparams - refactored testnet which can be launched at any time ion did not have regression test network for years. Regression test is essential for everybody who is interested in this project, especially for testers and developers. this PR includes full fix of regression test and works with fake stake suite. - new genesis for regtest - new genesis nounce for regtest - change nBits from ion's old 0x1e00ffff to 0x1e0ffff0 - fixed mining on regtest - mining on regtest can be only performed with `generate` command Example for generation of 1000 blocks: `ion-cli --regtest generate 1000` - GUI - [x] all icons for QT are new and created from scratch except ionomy logo itself - [x] released with a license - [x] provide vector graphics for every icon/image required by QT - new splash screens - new main, testnet and regtest icons - minor QT fixes and refactoring - Governance tab - Tools and scripts - fake stake issue fixed - fake stake test suite - copyright updates - - fake xion fix - All commits from: https://github.com/cevap/ION/commit/7fa20d69f6654f5ab8c1508178e7787f9e37febb to https://github.com/cevap/ION/commit/fc924c1f63f3c84d7dcaea7e61254b355b55b608 commit fc924c1f63f3c84d7dcaea7e61254b355b55b608 Merge: 757d81c4a dc168d11f Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Wed Mar 27 22:43:05 2019 +0100 Merge #847: Fix to display missing clock5.png tx image dc168d1 fix to display missing clock5.png tx image (joeuhren) Tree-SHA512: d10828e76ad1b2e034b013a1c3cac9cf79dfdc642a11d1a6493d615a19982d50fc09343b3b39171ba7c25202f29ed0532f1bc539c42fbdad37a19e58adcc48b1 commit 757d81c4a92a3791629407be9a86c55132225440 Merge: d241b5ed7 56dd114b9 Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Tue Mar 26 22:20:45 2019 +0100 Merge #840: [QT] cleanup, remove old trading dialog form 56dd114 cleanup, remove trading dialog form (furszy) Tree-SHA512: 824547803f5b854c51c22ca87149608725036c5ddee1922ceef7bdc71fcaeac440e77da3c51f7fe44b29269a57990d5ddfd674ca52b4de6ebd6fd36f847f55e8 commit dc168d11f8f067a5de397eafc81c7bcfcae2fa02 Author: joeuhren <46763106+joeuhren@users.noreply.github.com> Date: Mon Mar 25 14:04:54 2019 -0600 fix to display missing clock5.png tx image commit d241b5ed776466815f2dd78365ed56b0c3682fba Merge: 5673c8373 6eff5fa97 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Fri Mar 22 15:50:33 2019 -0700 Merge #837: [Zerocoin][UNIT TEST][RPC] Wrapped serials. 6eff5fa970 fix xION supply recalculation (random-zebra) 2676ca3626 newline character added to recalculate wrapped serials supply logging (furszy) da43659dd2 Initialize nSupplyBeforeFakeSerial to 0 in TestNet and RegTest (random-zebra) c46de31dc4 Fix Wrapped Serials inflated xION supply recalculation (random-zebra) 13691861f8 zerocoin contextual spend check log invalid serials (furszy) 0240f27e5f log rejection serial block height (furszy) ab6a134f2b invalid fake serial rejection (furszy) 010d03591c xion recalculation moved in init and added in connectblock (furszy) bd6b26b466 fix tabs in SoK (random-zebra) 41a2bcca29 fix bitSize typo in bignum for openssl (random-zebra) 29c1791815 inflation methods moved to cpp (furszy) 027c9ffcb6 wrapped serial inflation trigger recalculation (furszy) a3d725a42a Zerocoin supply, wrapped serials inflation + some minor modifications (furszy) b3660cbb2e SoK invalid range check. (furszy) ad3a3c717b remove tab spaces (furszy) ed15e21eb8 Fix isBlockBetweenFakeSerialAttackRange check (random-zebra) 8e7cf5ab4e Fix IsValidCommitmentToCoinRange check (random-zebra) a936e03c22 getserials ambiguous Pair constructor in bitsize blocking clang compilation fix (furszy) bd529a0f6e [UNIT TEST] wrapped serial coinSpend check (furszy) 1217868777 [RPC] Add getserials method (random-zebra) 9fe8dabc4f fix isValidSerial always true check (random-zebra) 913e48cda8 wrapped range fix (furszy) 46a5231574 wrapped serials check in acceptToMemPool method (furszy) edfdb4c30b prints in console commented (furszy) 18e55ed179 fake serials attack enforcement (furszy) Tree-SHA512: fe6eaf26257c25377982d44ff1cdd839edf6f71daa5607fc98397b4a3fcd26ae78db54c781038e4f9ff8a7ad1d460ce109909184852bb620435e10dcba6a638c commit 6eff5fa9706f041438417c69124e480a11479a9f Author: random-zebra <random.zebra@protonmail.com> Date: Fri Mar 22 19:14:50 2019 +0100 fix xION supply recalculation commit 2676ca3626ccacf6bbc43daba8cc9eda9b3984e0 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Fri Mar 22 12:55:52 2019 +0100 newline character added to recalculate wrapped serials supply logging commit 56dd114b99d7d4a1a73f5b1e859838322a1b0ff4 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Mar 20 17:23:27 2019 +0100 cleanup, remove trading dialog form commit da43659dd21d27aa6bffefaabf8a7c51944feaee Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 20 09:58:14 2019 +0100 Initialize nSupplyBeforeFakeSerial to 0 in TestNet and RegTest and fix percent of reindex feedback in uiInterface commit c46de31dc45d7b23008472970da3b020f8fac07f Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 20 04:20:34 2019 +0100 Fix Wrapped Serials inflated xION supply recalculation and add visual status feedback to UI interface commit 13691861f8fa39245a0fc257d952fbdfa7618a82 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Mar 19 13:08:52 2019 +0100 zerocoin contextual spend check log invalid serials commit 5673c8373ebba0d516d0fe44d787f69f328f1c26 Merge: 0d738b3dc c3352f0db Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Tue Mar 19 01:29:33 2019 -0700 Merge #838: [RPC][Test] spendrawzerocoin + wrapped serials functional test c3352f0dbd [Test] add 'zerocoin' to the list of good prefixes in test_runner (random-zebra) 78f1a241ae [Test] wrapped serials: use multiple random values for K (random-zebra) bf0cf52d37 [RPC] fix spendrawzerocoin string parsing (random-zebra) 025d2855f9 [Tests] Add Wrapping Serials Test (random-zebra) 7373704842 [RPC] Add spendrawzerocoin (random-zebra) Tree-SHA512: 707c015b2b40bf6f34999aa7b1a62b1e1be4b8c4d9b0e830ed78ebf2f74a362883708d6204cfadd95f5d6520feb19fc1ba4b8a12549c6cc40c40dc2ab56fb2e9 commit 0240f27e5f0b936e9f9171ef8afcd2a93dc9f961 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Mar 19 02:50:16 2019 +0100 log rejection serial block height commit ab6a134f2b40b72f155e42e51153d6ba1170872b Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Mar 19 02:42:19 2019 +0100 invalid fake serial rejection commit 010d03591c81a42bac042cb2fc7f02dd75059c8b Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Mar 18 18:07:27 2019 +0100 xion recalculation moved in init and added in connectblock commit bd6b26b466ae111c0ff84932885b16d1f67aede9 Author: random-zebra <random.zebra@protonmail.com> Date: Mon Mar 18 16:28:58 2019 +0100 fix tabs in SoK commit 41a2bcca29789ce0fc87c526331f60c88bd2e0ea Author: random-zebra <random.zebra@protonmail.com> Date: Mon Mar 18 16:05:33 2019 +0100 fix bitSize typo in bignum for openssl commit 29c1791815bb5675e5ef53985d8541157d3cdce1 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Mar 18 15:58:26 2019 +0100 inflation methods moved to cpp commit 027c9ffcb687d2093ce16cab4c06b530f5925bf5 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Mar 18 12:46:43 2019 +0100 wrapped serial inflation trigger recalculation commit a3d725a42adbda5aee3d6b7a63c63b6a2d673dde Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Mar 18 12:07:49 2019 +0100 Zerocoin supply, wrapped serials inflation + some minor modifications commit b3660cbb2e01b1066e0c4fb472d956dff245005a Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Mar 18 12:03:27 2019 +0100 SoK invalid range check. commit c3352f0dbd0f5a6324fa0ec262d80ab311d58b48 Author: random-zebra <random.zebra@protonmail.com> Date: Sat Mar 16 01:45:14 2019 +0100 [Test] add 'zerocoin' to the list of good prefixes in test_runner commit ad3a3c717ba196fc072155f2e71f86ac9838aade Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sat Mar 16 00:46:59 2019 +0100 remove tab spaces commit 78f1a241ae8f3884ccd714b898f1ed733467d9c3 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Mar 14 15:39:45 2019 +0100 [Test] wrapped serials: use multiple random values for K commit bf0cf52d3725789d43aaadee5eff750e9173977a Author: random-zebra <random.zebra@protonmail.com> Date: Thu Mar 14 14:45:40 2019 +0100 [RPC] fix spendrawzerocoin string parsing commit ed15e21eb8eab1d506d5eb30c13829a1b3edc3f3 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Mar 14 02:30:50 2019 +0100 Fix isBlockBetweenFakeSerialAttackRange check use only upper bound and only mainnet commit 025d2855f9ebe323e292962542d6ccb3ea6bd836 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 13 22:53:00 2019 +0100 [Tests] Add Wrapping Serials Test commit 73737048422ad627ee38d73dca52bf04f185472a Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 13 22:16:12 2019 +0100 [RPC] Add spendrawzerocoin and add 'serial hash' to export zerocoins output commit 8e7cf5ab4e70e7a2370f18765148fd4bc41d1ab6 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 13 18:33:41 2019 +0100 Fix IsValidCommitmentToCoinRange check commit a936e03c22b0204235e6831956902522acc1bc63 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Mar 13 14:36:37 2019 +0100 getserials ambiguous Pair constructor in bitsize blocking clang compilation fix commit bd529a0f6e91a6abe0305ebf28e3c9dba3cb7316 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Mar 13 14:34:27 2019 +0100 [UNIT TEST] wrapped serial coinSpend check commit 12178687775f7e3010c86d46e114f1b408a84ed7 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 13 10:33:15 2019 +0100 [RPC] Add getserials method commit 9fe8dabc4f869842725ca2f212fdab34e935c6fb Author: random-zebra <random.zebra@protonmail.com> Date: Wed Mar 13 10:32:32 2019 +0100 fix isValidSerial always true check commit 913e48cda8bee4d63f7bf72ff6c45cccaf8abb82 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Mar 12 12:51:36 2019 +0100 wrapped range fix commit 46a5231574a47cfd886808cd352b4a2a17abc5d5 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Mar 12 02:03:46 2019 +0100 wrapped serials check in acceptToMemPool method commit 0d738b3dc073bf9f57a34d5fd5021cee6a56f0fa Merge: 2b8daac4c 0015d08c7 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Mar 11 02:41:18 2019 -0700 Merge #826: [Qt] Fix a windows only crash when r-clicking a proposal 0015d08c75 [Qt] Fix a windows only crash when r-clicking a proposal (warrows) Tree-SHA512: 7e9507e4ffbbca6b41d9c9b18d31f7ebfddf01d5abbfd083b2fcbf6d7d398c20391bdc4fc4903c8d1b338d0c78929920264eb6352bbcaa9b2baf1c11df965cc5 commit edfdb4c30b7efe0795805f7e315ba1cabf5b0e8e Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sat Mar 9 15:38:34 2019 +0100 prints in console commented commit 18e55ed179b04b1ce81e3afb9110bb73e92da638 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Thu Mar 7 23:27:46 2019 +0100 fake serials attack enforcement commit 2b8daac4c0f29aecc80dfa7e0378ea40a1fd5e90 Merge: 86d613373 52b509468 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Tue Mar 5 00:20:52 2019 -0800 Merge #822: [Tests] Integrate fake stake tests into parent test suite 52b509468f Remove stale qtum python scripts (Fuzzbawls) c0d8dcb8c9 [Tests] Integrate fake stake tests into parent test suite (Fuzzbawls) Tree-SHA512: b0f9d559b3a8a4d0da3d400dfbe57fa15933a3c569732c4d7d10e147e7d5cd5f70a6f5231c862e4ca5f7f3efdb2de5890fe4755cbee5c41b00a4ab34a015c2e4 commit 86d61337353ed14d40c0c3ec789c954b3df39079 Merge: 37a06eaa9 e87231b62 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Mar 3 22:04:59 2019 -0800 Merge #821: [RPC] Fixup signrawtransaction on regtest e87231b62b [RPC] Fixup signrawtransaction on regtest (Fuzzbawls) Tree-SHA512: 1e1b9c25abf9b2406b5065b0b348100fe60e13a258d874d681c6df4094a86ecf3e226e39e6c3e1d8b07fa853634c35249f65652641d13741c426c4c9053e7b36 commit 52b509468f4915a682c977ef9da5f971ceb45bbb Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Mar 3 03:40:09 2019 -0800 Remove stale qtum python scripts commit 0015d08c75a02692c1169be4876bd2d42ae45ab2 Author: warrows <warrows@gamer666.fr> Date: Fri Mar 1 11:13:37 2019 +0100 [Qt] Fix a windows only crash when r-clicking a proposal The problem seems to be related to a stack corruption issue occuring within Qt and only for windows 64 builds. Further investigation is required but this is a suitable fix for now and there is no need to have the r-click doing the sae job as the l-click in this situation. commit 37a06eaa938cab1c4cc7a39298690922519beb7a Merge: 065f94118 bae276af9 Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Wed Feb 27 21:51:22 2019 +0100 Merge #817: [Wallet] Fix segfault with runtime -disablewallet bae276a Don't bother checking obfuscation messages (Fuzzbawls) 837f25f [Wallet] Fix segfault with runtime -disablewallet (Fuzzbawls) Tree-SHA512: a8dd502897cdc82f206a1805f7b1ae51960344c3fa32640c9dc6c271768e7db718bc2f57034e8fabfd1b402e589e531419d1e8af8a25eee71d89a6b79ce3a679 commit c0d8dcb8c9be933ba6c86be95b1a45b89a1337af Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Tue Feb 26 19:16:20 2019 -0800 [Tests] Integrate fake stake tests into parent test suite This integrates each of the 5 test scripts into the parent test suite so they can be run from within `test_runner.py` (or still individually). One prominent benefit to this is that the 5 tests are now included when generating code coverage reports with `make cov` `stratisx-notingatstake.py` and `ion_fake_stake.py` are removed as the former was a stale leftover from prior to our own test scripts, and the latter is now redundant. commit e87231b62b4fb41f4d14117e39f6c4ef8f3e0447 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Feb 25 00:58:04 2019 -0800 [RPC] Fixup signrawtransaction on regtest The `signrawtransaction` RPC command needed some modification to appease the fake stake test cases, however that change introduced a minor inconsistency in it's operation. This PR restores the original functionality, while still providing a means to be used for the fake stake test cases. commit 065f94118d818faeaef80add16494366d9267120 Merge: f8eb7feef 61a6ea755 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Feb 24 22:50:11 2019 -0800 Merge #803: [NET] Invalid blocks from forks stored on disk fix + blocks DoS spam filter. 61a6ea7558 AcceptBlock() for-each loops variables moved to const (furszy) e1974d23f3 AcceptBlock() check for double spent serials only on main chain flag. (furszy) babdfb0f26 remove extra debug lines in AcceptBlock (random-zebra) a9178bc6e0 AcceptBlock: contextual zcspend check on main chain (random-zebra) 0d49570f20 AcceptBlock() block stored log removed (furszy) b74921756a Fix bug on AcceptBlock when pindex is null (random-zebra) 45883b9fb6 AcceptBlock() invalid isBlockFromFork flag (furszy) 6a16049dfa AcceptBlock() reject blocks double spending the coin stake input inside the same block (furszy) da1b6836a5 block spam filter, validate non null nodestate (furszy) 84de55a11c AcceptBlock() isBlockFromFork flag not contemplating prev blocks from forks fixed (furszy) 4219339521 AcceptBlock() - not accept blocks from a forked chain that exceed the max reorg limit (furszy) 47759e113c AcceptBlock(), reject invalid PoS stake (furszy) e237823000 validate non null pfrom on blockspamfilter check (furszy) c2e5459dff AcceptBlock(), serial double spend on the same block validation (furszy) 3f5091986c zPoS validations of forked chains before store them + inputs check on prev split main chain (furszy) 64804b4bee Invalid blocks from forks stored on disk fix + blocks DoS spam filter. (furszy) Tree-SHA512: 6c5a7fda3eb81dc8b030c9ba624e5101f552ef9cecc839a79237b705c314171c0e9c66ecd8bfd207081c6759272140cf3bdf0da7af6ac4695f0c09b74fb1ba45 commit 61a6ea75585c11ef90f834583c1f206aaa5942b0 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sun Feb 24 23:52:40 2019 +0100 AcceptBlock() for-each loops variables moved to const commit f8eb7feefceeb8828cbf5e8172ddf50079d713ca Merge: 51e7b2c4b fced4e26f Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Feb 24 14:46:30 2019 -0800 Merge #812: [Regtest][Tests][RPC] Regtest mode + Test suite. fced4e26fe [Tests] fake_stake: reverse stake hash byte order (random-zebra) a85cdad03c [Tests] fake_stake: use hashStake for kernel computation (random-zebra) 6aa5ddbff8 [Tests] fake_stake: remove random prevout from spending (random-zebra) 8e370da804 [RPC] add mint hashStake to listmintedzerocoins output (random-zebra) 0d865a8978 [Tests] fake_stake: use a copy for spendingPrevouts (random-zebra) 0f209b3da8 [Tests] fake_stake: docstrings and comments (random-zebra) 322ce79a67 [Tests] fake_stake: fix checksum computation (random-zebra) 7aae5b1e8b [Tests] fake_stake: fix empty spending_prevouts (random-zebra) c7555e1b84 [Tests] fake_stake: collect prevouts from create_spam_block (random-zebra) 1d699432f2 [RPC] Add call 'getchecksumblock' (random-zebra) 2e7eacc4c4 [Tests] fix line separators in Test03 (random-zebra) c6c81a7cd2 [Tests] fake_stake: test03 updated (random-zebra) 0d8cf5500d [Tests] remove trailing whitespace from README.md (random-zebra) 9302f5a046 [Tests] fake_stake: test01 & test02 updated (random-zebra) e0efe4d530 [Tests] unique 'get_prevout' method for both pos and zpos stakes (random-zebra) 9318335525 [Tests] remove trailing whitespaces (random-zebra) 67284ce22a [RPC] add mint block height to 'listmintedzerocoins' (random-zebra) d783229568 [Tests] get correct nStakeModifier (random-zebra) 78e838ee32 [Tests] fix solve_stake nTime / nStakeModifier (random-zebra) a428c83609 PoS block creation uniqueness. (furszy) dd07bd1a50 [Tests] fix proof of stake target in block class (random-zebra) 030e557b93 [Tests] fake_stake: fix test 01 block numbers (random-zebra) fe54e9b92a [RPC] fix signrawtransaction hack to allow signing of spent inputs (random-zebra) 79e364354f regtest lastPoWBlock and zerocoin block start decreased to not waste lifetime waiting for the tests. (furszy) 42e9c01a85 More logging in block generation. (furszy) 0aa9bafbf4 fake stake test4 (furszy) 8315a42a7b ion_fake_stake: test03 almost complete (random-zebra) 1ad11ad9f7 RPC createrawzerocoinstake: fix vout[0], add priv-key (random-zebra) ad65ac4e0a REGTEST: Fix bug on GetModifier (random-zebra) 47f0503b19 RPC: hack MintToTxIn to allow spending an already spent xion on regtest (random-zebra) 3092cfc0c2 add empty output to createrawzerocoinstake (random-zebra) c5a6a67349 log CWallet::MintToTxIn errors (random-zebra) 252f4ab43e ion_fake_stake: zerocoin prevouts (random-zebra) 22769817ae GetModifier for regtest zPoS hardcoded to prev block stake modifier (furszy) 63bd40e064 ion_fake_stake: test_spam method refactoring (random-zebra) 1df9240727 ion_fake_stake: add test descriptions (random-zebra) 79e746eb3d zerocoin mint + spent (furszy) 9eea8837aa half test3 completed (furszy) 23236e7499 ion_fake_stake: select test from command line (random-zebra) 44d2e9a1c2 ion_fake_stake: get_prevouts (random-zebra) 1b27b90e8b ion_fake_stake Test05 - update blockcount in forks (random-zebra) 88e0dc6442 ion_fake_stake Test05 - more blocks fix (random-zebra) bf3b732dc5 ion_fake_stake Test05 - more blocks (random-zebra) a25f2e84a2 ion_fake_stake Test05 (random-zebra) 427f2f168b test05 completed, rejection of double spend coin stake input on the same block on main/forked chain (furszy) 3cbf43e7db test05 (furszy) f7a48260c6 Add 'createrawzerocoinstake' method (random-zebra) 70d859e055 test_02 working good. (furszy) ed63600142 ION_fake_stake: zerocoin tests (random-zebra) 07b981af88 no time validation for regtest (furszy) 47c2c65721 import bytes_to_hex on test_02 fix (furszy) c02002bdd4 ION_fake_stake: fix coinstake out value (random-zebra) 35f09e5d21 submitblock assertion on test_02 (furszy) d0c0dccff5 ION_fake_stake: fix coinbase nHeight merge (random-zebra) 2cf7ae1939 ION_fake_stake: fix txes in create_spam_block (random-zebra) ef01bd8141 zPoS running on regtest :) (furszy) 5405d1ce2d Zerocoin fixed on regtest & PoS blocks generation fixes. (furszy) 158bd2b215 regtest PoS generate valid blocks (furszy) 71a3743108 Tests: fixup a conditional check for python block creation (Fuzzbawls) b3950ff436 Tests: update nothingatstake test file (Fuzzbawls) f40f576eb3 stakemodifier fixed for regtest (furszy) 80a2aec5df Tests: serialize block signature when present (Fuzzbawls) 9cec3bd2f5 RPC: hack signrawtransaction to allow signing an already spent input (Fuzzbawls) 5c0f0b99ed WIP: port the test for "fake stake" issue test (Fuzzbawls) b074cd0e42 RPC: return the used stake modifier in getblock (Fuzzbawls) 1ffc443ba6 Regtest: mine the correct version blocks (Fuzzbawls) 3d588ead42 Tests: Remove whitespace in default conf file (Fuzzbawls) ebdc552408 Fixup the walletdump command and python test (Fuzzbawls) 37b29c7e61 [Tests] Add Basic BIP38 RPC functionality test (Fuzzbawls) c2cfff0a23 Tests: add size field to test json (Fuzzbawls) 2155506247 Add rpm contrib files (Fuzzbawls) 4e62dd9ee8 Main: reject non-final transactions using nLocktime from entering the mempool. (Fuzzbawls) 4c71b5694a [RPC] Ensure Tx/Budget input hashes are of the proper length (Fuzzbawls) 7d37c1c207 [RPC] Update and harden many raw transaction RPC commands (Fuzzbawls) 262f76a9d0 [RPC] Error early when block doesn't start with a coinbase transaction (Fuzzbawls) 7e0476b25a RPC: Add waitforblock/waitfornewblock/waitforblockheight (Fuzzbawls) 22bfe7ea2c [Tests] Initial update for regression test suite tests (Fuzzbawls) 93fd9f0501 Update block generation code to enable regtest mode (Fuzzbawls) 25fc43698b Build: add test runner packaging to configure (Fuzzbawls) Tree-SHA512: 09bcd3c727eb85103451cf971e0bc3a27eca205318ebb6c600a26ddc97f58ef456aa6768c9e94fd5c484da5071887e5b50c2bcf90318cfe2c9178c0c746a408b commit bae276af944b357b4ed5542c0ddf2db4081844fb Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Feb 24 00:28:44 2019 -0800 Don't bother checking obfuscation messages Obfuscation has all but been removed, no need to check incoming messages for it's functionality anymore commit 837f25f4e9187211620e747df3672d7130d7a48e Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Feb 23 02:09:05 2019 -0800 [Wallet] Fix segfault with runtime -disablewallet commit 51e7b2c4b012182ecee22930a9d19946d613648b Merge: a611a7fa7 867d1b573 Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Sat Feb 23 21:58:32 2019 +0100 Merge #816: [Doc] Update build-unix.md 867d1b5 [Doc] Update build-unix.md (Fuzzbawls) Tree-SHA512: fcb195491a46328908146b26588595d3d93bfab8ceb658fb960dd9364fdb7f1c462c888b9cca74364344786722f208ff2f59d31b1fe820c0b8bf5b33a1546c64 commit 867d1b573fd1055661325aee2d355527abbf155c Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Feb 23 00:18:00 2019 -0800 [Doc] Update build-unix.md Update the Unix build notes to be more complete, with mentioning of the GMP and ZeroMQ dependencies, as well as OpenSSL version note. Other stylistic updates as needed. commit a611a7fa777b89f8752cad430a8b8e370deee8a2 Merge: c12697469 0eaf96d85 Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Wed Feb 20 22:26:17 2019 +0100 Merge #757: [Doc] Update doc/build-windows.md 0eaf96d Update doc/build-windows.md (idas4you) Tree-SHA512: 3f8a3067887d84fe371b5ba80b70c95d7a1f2b95b938c5f1059df0f884630595f75abf38676af5ce5a2983f3971791ec56fdaa979ff6b656cb06b3ddd7326df6 commit c12697469b27f23cdd266a408914eb80cc652931 Merge: ed0dd2a20 400886551 Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Wed Feb 20 22:08:17 2019 +0100 Merge #792: [UI] Add a budget monitoring and voting tab 4008865 [Travis] Fix trailing whitespaces (warrows) 87b9809 [UI] Rework proposal frames (warrows) 8b8a712 [UI] Add global budget information to governance tab (warrows) f7674fb [UI] Clean proposal list when updating (warrows) bbf3274 [UI] Use only one column for Proposal list (warrows) d6c68c6 [UI] remove unused textlabel from governance page (warrows) 39eb903 [Qt] Add basic GUI voting tab to the wallet (Fuzzbawls) Tree-SHA512: 438afbb8ed1dbe0892164b6f6b3d0ac3b825b2e7855115f1137bf5bcf454533e375774cd835c19ea529bb1ff0a4f886a3e71e809e9893a102ae841a1a4be8f9a commit fced4e26fe712c07e05b3744b9eac2a3f8ad31b5 Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 18 18:57:47 2019 +0100 [Tests] fake_stake: reverse stake hash byte order commit a85cdad03cfece1fdcb4732d8b2cb19e698167fb Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 18 16:25:51 2019 +0100 [Tests] fake_stake: use hashStake for kernel computation commit 6aa5ddbff8cd788f2b5a66ff502e71ff5db5f2ee Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 18 16:19:04 2019 +0100 [Tests] fake_stake: remove random prevout from spending commit 8e370da804ae1cf0f1c5af6b50bb12c59fbfe47d Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 18 16:18:24 2019 +0100 [RPC] add mint hashStake to listmintedzerocoins output commit 0d865a8978682a3c8976c210817336b119bdf41f Author: random-zebra <random.zebra@protonmail.com> Date: Sat Feb 16 11:43:51 2019 +0100 [Tests] fake_stake: use a copy for spendingPrevouts commit 0f209b3da879899a286154ccdd46c022dddc24bc Author: random-zebra <random.zebra@protonmail.com> Date: Sat Feb 16 00:54:48 2019 +0100 [Tests] fake_stake: docstrings and comments commit 322ce79a6745fe571ae7c2f8f0d64eea27f12682 Author: random-zebra <random.zebra@protonmail.com> Date: Fri Feb 15 21:54:33 2019 +0100 [Tests] fake_stake: fix checksum computation commit 7aae5b1e8b93add3adde84d049ae0cf54dc941df Author: random-zebra <random.zebra@protonmail.com> Date: Fri Feb 15 21:17:10 2019 +0100 [Tests] fake_stake: fix empty spending_prevouts commit c7555e1b8472592b09021bc570dc635b66f175c6 Author: random-zebra <random.zebra@protonmail.com> Date: Fri Feb 15 21:07:34 2019 +0100 [Tests] fake_stake: collect prevouts from create_spam_block commit 1d699432f2e2b73a4bf96f08a76b9c889bcbaeda Author: random-zebra <random.zebra@protonmail.com> Date: Fri Feb 15 18:25:40 2019 +0100 [RPC] Add call 'getchecksumblock' which returns the first occurrence of a block with given accumulator checksum commit 2e7eacc4c47a94018a82dc16371b16c63651e64e Author: random-zebra <random.zebra@protonmail.com> Date: Fri Feb 15 09:57:49 2019 +0100 [Tests] fix line separators in Test03 commit c6c81a7cd20a5287f35ba00418af171f2cecb905 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 18:06:01 2019 +0100 [Tests] fake_stake: test03 updated commit 0d8cf5500daf4896a4b48c573b1e2155c3f0deb3 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 17:56:40 2019 +0100 [Tests] remove trailing whitespace from README.md commit 9302f5a0463029696637b632b884d943f39c75c8 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 17:50:40 2019 +0100 [Tests] fake_stake: test01 & test02 updated commit e0efe4d530550d950af788148ecfc453db8bf83a Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 17:50:06 2019 +0100 [Tests] unique 'get_prevout' method for both pos and zpos stakes commit 93183355259994dd3278618b267231bf8b745fcc Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 17:47:06 2019 +0100 [Tests] remove trailing whitespaces commit 67284ce22af1c6cc931b8c42a3abe2ea57549b90 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 17:27:34 2019 +0100 [RPC] add mint block height to 'listmintedzerocoins' commit 0eaf96d8565ce9335745c774de4761ca232e8063 Author: idas4you <idas4you@gmail.com> Date: Thu Nov 8 11:31:12 2018 +0900 Update doc/build-windows.md commit 64b2bb324e2deaf29f27529094ca0cb05720a250 Merge: d78322956 26e98a8df Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 01:05:39 2019 +0100 Merge branch '2019_regtest-mode-and-fake-test-suite' of https://github.com/furszy/ION into 2019_miller_tests commit d783229568f4fccadce8e05ae7f0001692ea4041 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 14 01:04:59 2019 +0100 [Tests] get correct nStakeModifier commit 26e98a8df8532bf7842c98a0b456e2e060637f8a Merge: a428c8360 78e838ee3 Author: Matias Furszyfer <5377650+furszy@users.noreply.github.com> Date: Wed Feb 13 23:45:41 2019 +0100 Merge pull request #8 from random-zebra/2019_miller_tests [Tests] fix solve_stake nTime / nStakeModifier commit 78e838ee32344ab4cf56f25a21d65111e09b49df Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 13 23:33:58 2019 +0100 [Tests] fix solve_stake nTime / nStakeModifier commit a428c83609e8532c8db14caaf8e01e4a1ffac1f8 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Feb 13 13:31:26 2019 +0100 PoS block creation uniqueness. commit 90631bebd99844d4d3f56648f1ab0caedaf1fcae Merge: eb1258375 dd07bd1a5 Author: Matias Furszyfer <5377650+furszy@users.noreply.github.com> Date: Tue Feb 12 15:53:16 2019 +0100 Merge pull request #7 from random-zebra/2019_miller_tests [Tests] fix proof of stake target in block class commit dd07bd1a50ca24a4f138c6b255b534ae65b32aa1 Author: random-zebra <random.zebra@protonmail.com> Date: Tue Feb 12 15:47:50 2019 +0100 [Tests] fix proof of stake target in block class commit eb1258375a8aeb67bd18084b6eab00595a9232e6 Merge: 79e364354 030e557b9 Author: Matias Furszyfer <5377650+furszy@users.noreply.github.com> Date: Tue Feb 12 00:09:21 2019 +0100 Merge pull request #6 from random-zebra/2019_miller_tests Additions to Regtest - fakeStake suite commit 030e557b93d46733c8e647c63ce756e4900fdd38 Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 11 23:38:55 2019 +0100 [Tests] fake_stake: fix test 01 block numbers commit fe54e9b92a601b8a38f3488e9567e10fe2a9b7bf Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 11 23:23:55 2019 +0100 [RPC] fix signrawtransaction hack to allow signing of spent inputs commit 79e364354ffd3f0aadb617d576efc8175037aa46 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 11 17:00:44 2019 +0100 regtest lastPoWBlock and zerocoin block start decreased to not waste lifetime waiting for the tests. commit 42e9c01a85bd031f15b6b26ce806ca35c46efc23 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 11 16:59:06 2019 +0100 More logging in block generation. commit 0aa9bafbf40597500f6f09ce2e016159c415a36f Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 11 12:25:07 2019 +0100 fake stake test4 commit 8315a42a7b4581deb70681f2930f29b71f37138b Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 14:56:24 2019 +0100 ion_fake_stake: test03 almost complete commit 1ad11ad9f7b4befa10538075d0ed091936522d4f Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 13:32:27 2019 +0100 RPC createrawzerocoinstake: fix vout[0], add priv-key commit ad65ac4e0a191d042c4e50a2ac06f7cebc605787 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 13:31:51 2019 +0100 REGTEST: Fix bug on GetModifier commit 47f0503b197245b143135f259381ef0a9c257c74 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 05:42:59 2019 +0100 RPC: hack MintToTxIn to allow spending an already spent xion on regtest commit 3092cfc0c2d111449b5441aaebac485812e693b4 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 05:41:35 2019 +0100 add empty output to createrawzerocoinstake commit c5a6a67349ad65d4626a09f7559aeda66a267624 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 05:31:56 2019 +0100 log CWallet::MintToTxIn errors commit 252f4ab43e450d83819c632ed1c296093d37c044 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 03:01:30 2019 +0100 ion_fake_stake: zerocoin prevouts commit 22769817ae95cca134c33391b9df743f6e66be60 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Thu Feb 7 01:56:56 2019 +0100 GetModifier for regtest zPoS hardcoded to prev block stake modifier commit 63bd40e06419d309970d94c9c54196a724339e26 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 00:24:31 2019 +0100 ion_fake_stake: test_spam method refactoring commit 1df92407276689619bcd34948737ba83860b6959 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 21:48:25 2019 +0100 ion_fake_stake: add test descriptions commit 79e746eb3dccba245d716743ded3fdedfb9ebcbe Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Feb 6 21:37:48 2019 +0100 zerocoin mint + spent commit 9eea8837aa76fe07dc3ffecd96fe150541905400 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Feb 6 17:09:38 2019 +0100 half test3 completed commit 23236e7499fb98bd1df49d56cd6d4c3cfda9db56 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 16:34:54 2019 +0100 ion_fake_stake: select test from command line commit 44d2e9a1c22678c600e987a2da468549ba3c2a13 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 15:46:41 2019 +0100 ion_fake_stake: get_prevouts commit 1b27b90e8bc3d7fa4fae349b60252501bcd1bb39 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 13:58:19 2019 +0100 ion_fake_stake Test05 - update blockcount in forks commit 88e0dc644228458bb97cd4d65437310921d9bee1 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 13:51:54 2019 +0100 ion_fake_stake Test05 - more blocks fix commit bf3b732dc5a4dfae622871c82502e454d54d9ae6 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 13:07:29 2019 +0100 ion_fake_stake Test05 - more blocks commit a25f2e84a2c2df6d0fc27c59dbb9362deb8c8ed7 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Feb 6 12:00:16 2019 +0100 ion_fake_stake Test05 commit 427f2f168b9dfb11ebc7edaa29813db3ed49d1cc Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Feb 5 22:12:09 2019 +0100 test05 completed, rejection of double spend coin stake input on the same block on main/forked chain commit 3cbf43e7db151309c724978ac309ea0bc19368e4 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Feb 5 17:50:17 2019 +0100 test05 commit f7a48260c63ff6f1a0a5817298eb6c9597c59844 Author: random-zebra <random.zebra@protonmail.com> Date: Tue Feb 5 16:42:51 2019 +0100 Add 'createrawzerocoinstake' method commit 70d859e0552e5213c082706bef4562e804104567 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Feb 5 12:18:36 2019 +0100 test_02 working good. commit ed63600142da846755d3f820be2f4afaec208929 Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 4 17:15:41 2019 +0100 ION_fake_stake: zerocoin tests commit 07b981af8819bc7f88f30bfa7f1f74481645646c Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 4 13:12:55 2019 +0100 no time validation for regtest commit 47c2c65721598fb42bc85f13b2a6661ac071773f Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 4 12:42:12 2019 +0100 import bytes_to_hex on test_02 fix commit c02002bdd48a292f57f03874e3b8a692f22cab4f Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 4 03:02:30 2019 +0100 ION_fake_stake: fix coinstake out value commit 35f09e5d2124b063124f19eef83fe9a6bac35dd5 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 4 03:01:15 2019 +0100 submitblock assertion on test_02 commit d0c0dccff5673648ffe86e1b8f65077b01e26f64 Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 4 02:30:12 2019 +0100 ION_fake_stake: fix coinbase nHeight merge commit 2cf7ae1939f3bae9b4a32aa06ce298f54baa36be Author: random-zebra <random.zebra@protonmail.com> Date: Mon Feb 4 00:17:14 2019 +0100 ION_fake_stake: fix txes in create_spam_block commit ef01bd81418f72908b73c438f0238843e11f6510 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sun Feb 3 17:49:18 2019 +0100 zPoS running on regtest :) commit 5405d1ce2da8372dbd0c54e75cdc2db57661e8a5 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 11 11:43:36 2019 +0100 Zerocoin fixed on regtest & PoS blocks generation fixes. commit 158bd2b215599eaca2d1292fa1d5034dbb03a032 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Jan 29 01:00:12 2019 +0100 regtest PoS generate valid blocks commit 71a3743108b7bed58fb057615a1a05f51dd71dbc Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Wed Jan 30 23:11:48 2019 -0800 Tests: fixup a conditional check for python block creation commit b3950ff436f73c6c43a5ded27c97f9505febd5aa Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Jan 28 02:09:44 2019 -0800 Tests: update nothingatstake test file - reintroduce spam transactions - make disk size usage output in kilobytes - add assertion check after stopping node for disk size usage - do fuckall with the node(s) setup (this was in the original script, but likely doesn't change anything from how I had it previously) commit f40f576eb3f5f4f863796f3693fa61f8f0bd5421 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 11 11:15:22 2019 +0100 stakemodifier fixed for regtest commit 80a2aec5dff50753af89ee1ad975c8a0baa1287a Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Jan 28 02:04:32 2019 -0800 Tests: serialize block signature when present Needed for signing proof of stake blocks commit 9cec3bd2f5b011f45859a229897f2618ee7c434f Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Jan 27 22:36:44 2019 -0800 RPC: hack signrawtransaction to allow signing an already spent input Only works on regtest, obviously commit 5c0f0b99edcadbaa16c6281f067c67db251b6caa Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Jan 26 21:34:58 2019 -0800 WIP: port the test for "fake stake" issue test Currently this is non-functional as the created coinstake transaction cannot be signed properly (passing the transaction to the coin daemon via `signrawtransaction` returns an error) commit b074cd0e42e94895903aa5ac09d754549f8c3cc4 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Jan 26 21:31:08 2019 -0800 RPC: return the used stake modifier in getblock commit 1ffc443ba62b66586f148b6736aeb8c928730550 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Jan 26 21:28:57 2019 -0800 Regtest: mine the correct version blocks Zerocoin rules mandate that block version must be < 4 prior to zerocoin activation height. To prevent erroring on regtest, and still allow for manual/scripted changing of the block version, set some locical defaults . commit 3d588ead42b07c223a1370d09038d17b71f04fa4 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Jan 26 21:15:19 2019 -0800 Tests: Remove whitespace in default conf file commit ebdc552408e748a78fa4273ffd8091a0c3e57da1 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Jan 26 21:14:30 2019 -0800 Fixup the walletdump command and python test commit 37b29c7e618b8ca23faca3a08a870740357116f6 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Fri Sep 21 21:55:58 2018 -0700 [Tests] Add Basic BIP38 RPC functionality test commit c2cfff0a234607acf413b1053c2c0ce260ad6e16 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Wed Sep 19 16:18:58 2018 -0700 Tests: add size field to test json commit 2155506247b19f5cad072953f8892b133938c951 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Wed Sep 19 14:17:50 2018 -0700 Add rpm contrib files commit 4e62dd9ee8d00b016a315dd9f09197d6d9a3cedd Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Tue Sep 18 21:38:19 2018 -0700 Main: reject non-final transactions using nLocktime from entering the mempool. commit 4c71b5694a68ca2c27a88a579aaf21e2fd75dba9 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Tue Sep 18 21:34:07 2018 -0700 [RPC] Ensure Tx/Budget input hashes are of the proper length Transaction and Budget hashes are always 64 characters in length. Return a descriptive error if this is not the case. commit 7d37c1c207b8cb7f69664e5873ba6b882592234d Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Tue Sep 18 21:27:57 2018 -0700 [RPC] Update and harden many raw transaction RPC commands commit 262f76a9d0d853970d40bd1828245d8a66d2ec3d Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Sep 16 22:52:22 2018 -0700 [RPC] Error early when block doesn't start with a coinbase transaction submitblock (used for PoW) can return an error message earlier by checking that the first transaction is a coinbase transaction. This prevents wasting time with running the block through later validation checks that will ultimately fail. commit 7e0476b25a81a442cfb22fea4aa414d7afcd6bec Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Sep 9 12:43:49 2018 -0700 RPC: Add waitforblock/waitfornewblock/waitforblockheight Used in functional tests commit 22bfe7ea2c2904cffc11a45b8535073f30cdf47e Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Thu Jan 18 17:21:03 2018 -0800 [Tests] Initial update for regression test suite tests TOTO: fixup all tests / add new ones commit 93fd9f05019d388e3f50ceb39ced8f2710327fe7 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Nov 19 22:14:51 2017 -0800 Update block generation code to enable regtest mode Also update the icon/splash images for regtest commit 25fc43698b71c9bbd9f8948c9652fc0c8b46b518 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Thu Sep 6 16:46:01 2018 -0700 Build: add test runner packaging to configure commit e1974d23f31589f1c4e07062c7e4214abc281141 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Fri Feb 8 15:32:49 2019 +0100 AcceptBlock() check for double spent serials only on main chain flag. commit babdfb0f26b1733c0969f9106084134c0c774efa Author: random-zebra <random.zebra@protonmail.com> Date: Fri Feb 8 12:11:57 2019 +0100 remove extra debug lines in AcceptBlock commit a9178bc6e0d5deb7b79690bc5f595beb8b19c720 Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 14:55:30 2019 +0100 AcceptBlock: contextual zcspend check on main chain commit 0d49570f208baeee89b0c426541ed4434940ed34 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Thu Feb 7 17:52:39 2019 +0100 AcceptBlock() block stored log removed commit b74921756a3c93e8c9e8569cea68cbda873df10d Author: random-zebra <random.zebra@protonmail.com> Date: Thu Feb 7 13:31:19 2019 +0100 Fix bug on AcceptBlock when pindex is null commit 97c266bd5c99f66006d4f017d6c9f2ad95ab8533 Merge: 6a16049df 45883b9fb Author: furszy <5377650+furszy@users.noreply.github.com> Date: Thu Feb 7 13:19:30 2019 +0100 Merge branch 'invalid_blocks_storage_and_blocks_DoS_spam_filter' of https://github.com/furszy/ION into invalid_blocks_storage_and_blocks_DoS_spam_filter commit 6a16049dfa27f7aba0bdeae4f35660daa734bf42 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Feb 5 22:10:27 2019 +0100 AcceptBlock() reject blocks double spending the coin stake input inside the same block commit ed0dd2a20a87e9de56e9ff33387a8e68043fe840 Merge: 81c7c4764 9f89762dc Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Tue Feb 5 22:31:26 2019 +0100 Merge #802: [Refactor] Remove begin/end_ptr functions 9f89762 [Refactor] Remove begin/end_ptr functions (warrows) Tree-SHA512: 420b7dad43df23876cd891104c8a3f1c557c9dc20fa726c69fe80eaf13b353e4301e8c0abc2abde29896f991dd88aaddc7d19996a3b7287a6244fbfd5700facf commit 45883b9fb6230b40a4358426305da77a20a9fda4 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Feb 5 11:30:58 2019 +0100 AcceptBlock() invalid isBlockFromFork flag commit 81c7c4764cbcb3274509ea65963cecf8eb8bbf63 Merge: 204c038a4 8e86b893a Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Mon Feb 4 20:33:10 2019 +0100 Merge #758: [Depends] Update libsecp256k1 to latest master c6634ef Squashed 'src/secp256k1/' changes from 452d8e4d2..1086fda4c (warrows) Tree-SHA512: 7ebcd89f661b94c7ee52c57c3b1879e5ddf363205b326c8ed442bd4f88765701f22b3413e296519b589a4b0d150488a9dd911459eb9b9834d4e8dde3e21049b1 commit da1b6836a5e11f0fb514ce7364eee2eaa033be3f Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 4 03:47:18 2019 +0100 block spam filter, validate non null nodestate commit 84de55a11ca23bb4cc8e8800358cedf9a8202d60 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Feb 4 00:24:14 2019 +0100 AcceptBlock() isBlockFromFork flag not contemplating prev blocks from forks fixed commit 204c038a4d0f5529787802df9ffe1743b62551d0 Merge: d4762f7e7 5bd855c67 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Feb 3 17:22:55 2019 -0800 Merge #768: [Net] Zerocoin Light Node Protocol 5bd855c673 removing apocaliptic comment (furszy) 95947bb9f7 logprint fixed (furszy) 91780b54cf log new line added + lightxionthread .h/.cpp (furszy) 95da6abadb Incorrect number of arguments for LogPrint(f) statement found. fixed (furszy) d72543ffe3 node_bloom_light_zc invalid if statement fixed (furszy) a9b992adcd remove old comment (furszy) 09ba617e26 remove tab spaces (furszy) d373e1d25a minor updates to PR 768 (random-zebra) 7b2310cad4 Zerocoin Light Node Protocol (furszy) Tree-SHA512: a85026a9626aacff07826d2a7eab198327d82d620fce4d1f64962e6c0158fa4a0c3c5c355aaed94809928fe5dd77e90810244cb04e41152517d48ebcb76d04f2 commit 5bd855c673fb00d8ece468af7db8c89b90e59a00 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Jan 22 17:40:26 2019 +0100 removing apocaliptic comment commit 95947bb9f7b7f5fb3bb86dfa03446cf6ec55dde5 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Jan 21 14:07:06 2019 +0100 logprint fixed commit 91780b54cf5ffba9cd96dc91ec9c7296458198b9 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Mon Jan 21 13:25:09 2019 +0100 log new line added + lightxionthread .h/.cpp commit 95da6abadb97384e2d8ad54e13a351fdbea0a25e Author: furszy <5377650+furszy@users.noreply.github.com> Date: Fri Jan 18 00:37:37 2019 +0100 Incorrect number of arguments for LogPrint(f) statement found. fixed commit d72543ffe3a80108b9b0876036a620e32d921114 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Thu Jan 17 23:08:29 2019 +0100 node_bloom_light_zc invalid if statement fixed commit a9b992adcdcba996982ed6dd38ceb1c418abb35b Author: furszy <5377650+furszy@users.noreply.github.com> Date: Fri Dec 14 11:22:29 2018 +0100 remove old comment commit 09ba617e267e0c52af315933f8bd5a253ece627d Author: furszy <5377650+furszy@users.noreply.github.com> Date: Thu Dec 13 22:03:52 2018 +0100 remove tab spaces tabs removed tabs removed commit d373e1d25a760633ff247492ff4f320938d383b8 Author: random-zebra <random.zebra@protonmail.com> Date: Wed Dec 5 21:11:41 2018 +0100 minor updates to PR 768 commit 7b2310cad4c45548f0fc856c15ac1c805f196b5f Author: furszy <mati_fur@hotmail.com> Date: Thu Nov 8 01:11:11 2018 +0100 Zerocoin Light Node Protocol commit d4762f7e7a6f4c7ed796fa9a574f9f9a95b0c4f9 Merge: 4a8e46a15 2159a5860 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Feb 3 14:40:30 2019 -0800 Merge #763: [Wallet] Add automint address 2159a58601 Add newly created automint addresses to the set (Fuzzbawls) 1c0169e494 Show automint address state in getwalletinfo (Fuzzbawls) 9374d5123b Add RPC command to enable/disable automint address functionality (Fuzzbawls) 0a364d4ff8 Add UI option to enable/disable automint addresses (Fuzzbawls) 72491216cf Add runtime/startup option to disable automint address functionality (Fuzzbawls) 65aefe8021 Add newly created automint addresses to the address book (Fuzzbawls) 6c2df854d9 Ensure wallet is unlocked for createautomintaddress (Fuzzbawls) 4205d57c14 Add automint address (presstab) Tree-SHA512: 76900c564eb6abe3cfa1606559aba4d6725be04126268b06215619fef8f83d58e953985469e2c97086a6cd0e6d60fb9f9e58aca1cee56e1a7bf9668e82c94fa8 commit 4a8e46a15829ae832aefdbf31fb59ad91a5b8870 Merge: a663bccea 189d6a958 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sat Feb 2 17:11:56 2019 -0800 Merge #804: [Depends] Update zmq to 4.3.1 189d6a958e Update zmq to 4.3.1 (Dimitris Apostolou) Tree-SHA512: 0226edb402b0594c616e580fe497d600eb2144d8eba8aa458d8255b093173306ff99429058c356e742896a4ac9ecbf92507b2da5cb16e8aa95c8c52860a20a21 commit 4219339521b5305557a81b538f20871498595e34 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Wed Jan 30 20:53:24 2019 +0100 AcceptBlock() - not accept blocks from a forked chain that exceed the max reorg limit commit 47759e113cb12d5df7f60c13e79debbaef0a427c Author: furszy <5377650+furszy@users.noreply.github.com> Date: Tue Jan 29 16:45:00 2019 +0100 AcceptBlock(), reject invalid PoS stake commit e237823000153ef2b8ea72cc823ef9fd2739d4f0 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sun Jan 27 14:25:48 2019 +0100 validate non null pfrom on blockspamfilter check commit c2e5459dff566a25616688ed0a502a471141c5b5 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sat Jan 26 22:29:22 2019 +0100 AcceptBlock(), serial double spend on the same block validation commit 189d6a958e31e08f212d0a9cddecf257ae4d76f5 Author: Dimitris Apostolou <dimitris.apostolou@icloud.com> Date: Thu Jan 17 18:25:38 2019 +0200 Update zmq to 4.3.1 Addresses https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6250 Signed-off-by: cevap <dev@i2pmail.org> commit 3f5091986c5f0798fd2d234924dea6da29872bd0 Author: furszy <5377650+furszy@users.noreply.github.com> Date: Sat Jan 26 00:48:59 2019 +0100 zPoS validations of forked chains before store them + inputs check on prev split main chain commit 64804b4bee2dda0f27a6f8a39f3a7f0bf0e24a3b Author: furszy <5377650+furszy@users.noreply.github.com> Date: Fri Jan 25 12:26:30 2019 +0100 Invalid blocks from forks stored on disk fix + blocks DoS spam filter. loop through forked blocks fix Invalid blocks from forks stored on disk Fix + Blocks DoS spam filter minor re organization minor cosmetic changes comments commit 9f89762dcc8de13f48c2fdcfd0577ced16df2462 Author: warrows <warrows@gamer666.fr> Date: Wed Jan 23 20:17:54 2019 +0100 [Refactor] Remove begin/end_ptr functions With C++11 these functions are not needed anymore and gracefully replaced commit a663bccea720e3a01607178906d5efed145a6dd8 Merge: 7fa20d69f 7dfa9b27f Author: Mrs-X <Mrs-X@users.noreply.github.com> Date: Mon Jan 21 20:37:12 2019 +0100 Merge #798: [Net] Improve addrman Select() performance when buckets are nearly empty 7dfa9b2 Improve addrman Select() performance when buckets are nearly empty (Pieter Wuille) Tree-SHA512: 64a16dd027174a45931e73c82e04629738b4caca8500d8cb04a1739d5f5529726d3ff27357f0bdf881fc4ccf278a7a6ac2b904e3a7822af32d8dce096ef16dce commit 7dfa9b27f8f3af1407599bc96a58056395278444 Author: Pieter Wuille <pieter.wuille@gmail.com> Date: Thu Aug 6 19:49:19 2015 +0200 Improve addrman Select() performance when buckets are nearly empty commit 2159a5860151df5c4415f245b551112697961be9 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Fri Jan 18 01:33:32 2019 -0800 Add newly created automint addresses to the set Ensures that a wallet restart isn't required after generating a new automint address by adding it to the set. commit 1c0169e494c4d3927ac1ca5776655b2232ec573c Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Jan 14 18:56:25 2019 -0800 Show automint address state in getwalletinfo Adds a new output line to getwalletinfo showing if automint address functionality is enabled or disabled. commit 9374d5123b98d294691667d891eac5cf46857b20 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Jan 14 18:55:06 2019 -0800 Add RPC command to enable/disable automint address functionality This compliments the UI's ability to toggle the state of automint address functionality for CLI/RPC users. commit 0a364d4ff8067517ef555a273084efa74b3ae9d5 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Jan 13 03:27:21 2019 -0800 Add UI option to enable/disable automint addresses This compliments the runtime (command line) option of enabling/disabling the automint address functionality. Option can be toggled on/off without the need to restart the client. commit 72491216cfd1edeb729ed8a585d2432b86983557 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Jan 13 01:20:05 2019 -0800 Add runtime/startup option to disable automint address functionality Defaults to true/enabled commit 65aefe802168ed84784b7fb7a757b8d53c7348a6 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Sun Jan 13 01:17:44 2019 -0800 Add newly created automint addresses to the address book Default account/label is hard-coded to "automint-address" so as to be visually identified in the wallet's GUI. commit 6c2df854d98e634f95d22b7b6117e42962072c42 Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Jan 7 23:03:53 2019 -0800 Ensure wallet is unlocked for createautomintaddress Also changed the return to a simple string (instead of a JSON object) to be consistent with other RPC commands that return just a single address. commit 4008865514afa6ab088281bee998801cd1267d2e Author: warrows <warrows@gamer666.fr> Date: Mon Jan 7 15:24:43 2019 +0100 [Travis] Fix trailing whitespaces commit 87b9809a0981425da3935b585822e5f658c8ea24 Author: warrows <warrows@gamer666.fr> Date: Thu Dec 27 14:02:49 2018 +0100 [UI] Rework proposal frames commit 8b8a712e3c0797dea724b2abe1a03ffac8018790 Author: warrows <warrows@gamer666.fr> Date: Fri Dec 21 11:56:47 2018 +0100 [UI] Add global budget information to governance tab commit f7674fbeebbb31171907c9c225b65ed21f8be0c8 Author: warrows <warrows@gamer666.fr> Date: Thu Dec 20 22:06:06 2018 +0100 [UI] Clean proposal list when updating commit bbf327459438b29a53d691ea221ab9d30b53fa35 Author: warrows <warrows@gamer666.fr> Date: Thu Dec 20 14:34:25 2018 +0100 [UI] Use only one column for Proposal list commit d6c68c6ec452d5b1378d428b508c725da8489bde Author: warrows <warrows@gamer666.fr> Date: Thu Dec 20 11:59:07 2018 +0100 [UI] remove unused textlabel from governance page commit 39eb903817e3dde0dffb137b455588a312a6dafe Author: Fuzzbawls <fuzzbawls@gmail.com> Date: Mon Jun 4 00:36:03 2018 -0700 [Qt] Add basic GUI voting tab to the wallet commit 4205d57c1465fcefbeb3a032f5ffd5af870c4536 Author: presstab <presstab1337@gmail.com> Date: Sun Oct 28 22:25:31 2018 -0600 Add automint address commit 8e86b893a3adfa1d0f7b02a10bbcc24fb1d7fa14 Merge: 63fb77b0a c6634ef06 Author: warrows <warrows@gamer666.fr> Date: Tue Oct 23 11:22:46 2018 +0200 Merge commit 'c6634ef065ceb295522f0d61a3d45d8d53abe51c' into libsecp_update commit c6634ef065ceb295522f0d61a3d45d8d53abe51c Author: warrows <warrows@gamer666.fr> Date: Tue Oct 23 11:22:46 2018 +0200 Squashed 'src/secp256k1/' changes from 452d8e4d2..1086fda4c 1086fda4c Merge #354: [ECDH API change] Support custom hash function 1e6f1f5ad Merge #529: fix tests.c in the count == 0 case c8fbc3c39 [ECDH API change] Allow pass arbitrary data to hash function b00be6505 [ECDH API change] Support custom hash function 95e99f196 fix tests.c in the count == 0 case git-subtree-dir: src/secp256k1 git-subtree-split: 1086fda4c1975d0cad8d3cad96794a64ec12dca4 * travis - fix lint-whitespace.sh for main.cpp and python scripts failing add linearize-data.py, linearize-hashes.py and src/main.cpp to to lint-whitespace whitelist for current commit range. **TODO** - this has to be reverted after PR is merged * snap - refactor snapcraft.yaml - add required faketime - add feature reques, I need help/support, report a bug, report some random issue and testing report links - add link to ioncoincore in description - add link to our githubs mit license - use same routines as in gitian linux config file - uncomment old part with until **TODO** removed * tests - minor fixes in scripts - fix test_gettxoutsetinfo in rpc_blockchain.py - correct config name in util.py * rename testnet v3 comment to v4 in chainparamsbase.cpp * update chain parameters for testnet - set zerocoin header version - initialize fake stake parameters and zerocoin supply before fake stake - disable block enforcing of invalid utxo by setting it for in future - change zerocoin v2 to start 1 block after zerocoin v1 starts - fix ION in comment * fix getblockvalue and ConnectBlock and remove testnet for v4 check - fix segmentation fault for testnet and regtest by fixing rewards and subsidy in getblockvalue - refactor ConnectBlocks fixes for old main chain to pass sync - add new bool rejectBlockExclusion for checking condition - remove testnet as exclusion from version 4 header check * add datadir*/ to .gitignore * update unix build notes * gui - change governance page pink colors to ion's color scheme * more notes for RPC commands and gitian build script Signed-off-by: cevap <dev@i2pmail.org> * update accumulator and accumulator map * zerocoin mint - add missing part to wallet.cpp * fix merging issues for Reduce log spam patch * Reduce log spam New debug category "staking" added with some previous `LogPrintf` messages recategorized to reduce log spam. Also noted both "staking" and "precompute" in the init help message and added them to the "ion" umbrella category. Signed-off-by: cevap <dev@i2pmail.org> * big update - march 2019 almost full src folder has been updated/refactored. Some rpc calls as well as some smaller minor changes have been deleted/commented. This commit is second part of previous big commit of current PR: https://github.com/ioncoincore/ion/pull/141 **TODO** - [ ] readd removed/unmarked rpc calls and check if they are required - [ ] recheck translations as they were updated - [ ] refactor code and bitcoin class - [ ] optionaly, add 4th network testnetold for those who do not want to use new one or if people decide to keep the old - [ ] bump version - [x] update protocol - [x] testlaunch of a new testnet4 network - [ ] test new governance tab - [ ] ??readd?? listtransactions fix - [ ] test new snap routines * some minor fixes after patching (c4b557fc) ref c4b557fc5fdf2558c39082ae51aa7f5446b44f7d * delete .vscode/settings.json * update coins.cpp and coins.h * bump version to edge 3.2.99 - client version - snapcraft and its icons * fix accumulatorcheckpoints.cpp after related zerocoin files were moved to src/xion folder, accumulatorcheckpoints.cpp had to be fixed, as it was changed wrongly to xion/.., because that file moved into the same folder * update hardcoded seeds from chainz explorer * disable lint-whitespace check for current PR * revert old (non working) base58_keys_valid.json - this is required for ion tests and should be adapted before this PR is merged * fix travis - accumulatorcheckpoints.json.h is missing file was missing because it required forced addition due to the ignore list. * update manual pages * fix makefile.am, add validation.h * replace rpc and budget demo addresses to ion's * fix missing dstencode.h in src/Makefile.am * leveldb - fix ecx warning that it is not initialized, intilize it with 0 info: if we do not specify U then variable type would be signed int this commit as well as other commits should be pulled to bitcoin's leveldb * macos - rename Ion-Qt tp ION-qt we propose to change the name from Ion-Qt to ION-Qt on mac os * macos - add missing appName to the macdeployqtplus * tests - fix most tests and set RUN_UNIT_TESTS as true for travis - non working checks or those which require further adaption are marked out - fixed based58 and some other scripts * move transactionsrecord to qt folderm, fix ion-qt.pro, delete dead files * fix masternode value from 9999.99 to 19999.99 which was reverted due to patching * fix VerifySignature failed: Script evaluated without error on block 1013854 - current check is…
PastaPastaPasta
referenced
this issue
in PastaPastaPasta/dash
Aug 9, 2020
…lock orders 0ecff9d Improve "detected inconsistent lock order" error message (Hennadii Stepanov) bbe9cf4 test: Improve "potential deadlock detected" exception message (Hennadii Stepanov) 3559934 Fix mistakenly swapped "previous" and "current" lock orders (Hennadii Stepanov) Pull request description: In master (8ef15e8) the "previous" and "current" lock orders are mistakenly swapped. This PR: - fixes printed lock orders - improves the `sync_tests` unit test - makes the "detected inconsistent lock order" error message pointing to the lock location rather `tfm::format()` location. Debugger output example with this PR (with modified code, of course): ``` 2020-06-22T15:46:56Z [msghand] POTENTIAL DEADLOCK DETECTED 2020-06-22T15:46:56Z [msghand] Previous lock order was: 2020-06-22T15:46:56Z [msghand] (2) 'cs_main' in net_processing.cpp:2545 (in thread 'msghand') 2020-06-22T15:46:56Z [msghand] (1) 'g_cs_orphans' in net_processing.cpp:1400 (in thread 'msghand') 2020-06-22T15:46:56Z [msghand] Current lock order is: 2020-06-22T15:46:56Z [msghand] (1) 'g_cs_orphans' in net_processing.cpp:2816 (in thread 'msghand') 2020-06-22T15:46:56Z [msghand] (2) 'cs_main' in net_processing.cpp:2816 (in thread 'msghand') Assertion failed: detected inconsistent lock order for 'cs_main' in net_processing.cpp:2816 (in thread 'msghand'), details in debug log. Process 131393 stopped * thread #15, name = 'b-msghand', stop reason = signal SIGABRT frame #0: 0x00007ffff775c18b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 (lldb) bt * thread #15, name = 'b-msghand', stop reason = signal SIGABRT * frame #0: 0x00007ffff775c18b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 frame #1: 0x00007ffff773b859 libc.so.6`__GI_abort at abort.c:79:7 frame #2: 0x0000555555e5b196 bitcoind`(anonymous namespace)::potential_deadlock_detected(mismatch=0x00007fff99ff6f30, s1=size=2, s2=size=2, lock_location=0x00007fff99ff7010) at sync.cpp:134:9 frame #3: 0x0000555555e5a1b1 bitcoind`(anonymous namespace)::push_lock(c=0x0000555556379220, locklocation=0x00007fff99ff7010) at sync.cpp:158:13 frame #4: 0x0000555555e59e8a bitcoind`EnterCritical(pszName="cs_main", pszFile="net_processing.cpp", nLine=2816, cs=0x0000555556379220, fTry=false) at sync.cpp:177:5 frame #5: 0x00005555555b0500 bitcoind`UniqueLock<AnnotatedMixin<std::recursive_mutex>, std::unique_lock<std::recursive_mutex> >::Enter(this=0x00007fff99ff8c20, pszName="cs_main", pszFile="net_processing.cpp", nLine=2816) at sync.h:134:9 frame #6: 0x00005555555b017f bitcoind`UniqueLock<AnnotatedMixin<std::recursive_mutex>, std::unique_lock<std::recursive_mutex> >::UniqueLock(this=0x00007fff99ff8c20, mutexIn=0x0000555556379220, pszName="cs_main", pszFile="net_processing.cpp", nLine=2816, fTry=false) at sync.h:160:13 frame #7: 0x00005555556aa57e bitcoind`ProcessMessage(pfrom=0x00007fff90001180, msg_type=error: summary string parsing error, vRecv=0x00007fff9c005ac0, nTimeReceived=1592840815980751, chainparams=0x00005555564b7110, chainman=0x0000555556380880, mempool=0x0000555556380ae0, connman=0x000055555657aa20, banman=0x00005555565167b0, interruptMsgProc=0x00005555565cae90) at net_processing.cpp:2816:9 ``` ACKs for top commit: laanwj: ACK 0ecff9d vasild: ACK 0ecff9d Tree-SHA512: ff285de8dd3198b5b33c4bfbdadf9b1448189c96143b9696bc4f41c07e784c00851ec169cf3ed45cc325f3617ba6783620803234f57fcce28bf6bc3d6a7234fb
UdjinM6
pushed a commit
that referenced
this issue
Sep 24, 2021
…Data fa56d56 fuzz: Properly initialize PrecomputedTransactionData (MarcoFalke) Pull request description: Fixes: ``` script_flags: script/interpreter.cpp:1512: bool SignatureHashSchnorr(uint256 &, const ScriptExecutionData &, const T &, uint32_t, uint8_t, SigVersion, const PrecomputedTransactionData &) [T = CTransaction]: Assertion `cache.m_bip341_taproot_ready && cache.m_spent_outputs_ready' failed. ==34989== ERROR: libFuzzer: deadly signal #0 0x55e90077ff11 in __sanitizer_print_stack_trace (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x20cf11) #1 0x55e9006cb068 in fuzzer::PrintStackTrace() (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x158068) #2 0x55e9006b01b3 in fuzzer::Fuzzer::CrashCallback() (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x13d1b3) #3 0x7f6fb89383bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) #4 0x7f6fb855018a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) #5 0x7f6fb852f858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) #6 0x7f6fb852f728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) #7 0x7f6fb8540f35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) #8 0x55e9008275bd in bool SignatureHashSchnorr<CTransaction>(uint256&, ScriptExecutionData const&, CTransaction const&, unsigned int, unsigned char, SigVersion, PrecomputedTransactionData const&) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1512:5 #9 0x55e900825a3f in GenericTransactionSignatureChecker<CTransaction>::CheckSchnorrSignature(Span<unsigned char const>, Span<unsigned char const>, SigVersion, ScriptExecutionData const&, ScriptError_t*) const /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1699:10 #10 0x55e900832503 in VerifyWitnessProgram(CScriptWitness const&, int, std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, BaseSignatureChecker const&, ScriptError_t*, bool) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1900:26 #11 0x55e90082ecb5 in VerifyScript(CScript const&, CScript const&, CScriptWitness const*, unsigned int, BaseSignatureChecker const&, ScriptError_t*) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1977:18 #12 0x55e9007a9b61 in test_one_input(std::vector<unsigned char, std::allocator<unsigned char> > const&) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags.cpp:51:30 #13 0x55e9007d0b49 in LLVMFuzzerTestOneInput /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/fuzz.cpp:36:5 #14 0x55e9006b1871 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x13e871) #15 0x55e9006b0fb5 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x13dfb5) #16 0x55e9006b38d7 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__Fuzzer::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x1408d7) #17 0x55e9006b3c39 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x140c39) #18 0x55e9006a290e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x12f90e) #19 0x55e9006cb752 in main (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x158752) #20 0x7f6fb85310b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) #21 0x55e9006776ad in _start (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x1046ad) ACKs for top commit: laanwj: Code review ACK fa56d56 Tree-SHA512: 5637b0a0d982360df32d8cd39e913395967af02ec746508fc5f2fd649695c58bfaaf18ef76f4ca9da764d34fdd63dfe188317dd41b2ed57534bd4055a05ae870
kwvg
pushed a commit
to kwvg/dash
that referenced
this issue
Oct 12, 2021
…Data fa56d56 fuzz: Properly initialize PrecomputedTransactionData (MarcoFalke) Pull request description: Fixes: ``` script_flags: script/interpreter.cpp:1512: bool SignatureHashSchnorr(uint256 &, const ScriptExecutionData &, const T &, uint32_t, uint8_t, SigVersion, const PrecomputedTransactionData &) [T = CTransaction]: Assertion `cache.m_bip341_taproot_ready && cache.m_spent_outputs_ready' failed. ==34989== ERROR: libFuzzer: deadly signal #0 0x55e90077ff11 in __sanitizer_print_stack_trace (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x20cf11) dashpay#1 0x55e9006cb068 in fuzzer::PrintStackTrace() (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x158068) dashpay#2 0x55e9006b01b3 in fuzzer::Fuzzer::CrashCallback() (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x13d1b3) dashpay#3 0x7f6fb89383bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) dashpay#4 0x7f6fb855018a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) dashpay#5 0x7f6fb852f858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) dashpay#6 0x7f6fb852f728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) dashpay#7 0x7f6fb8540f35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) dashpay#8 0x55e9008275bd in bool SignatureHashSchnorr<CTransaction>(uint256&, ScriptExecutionData const&, CTransaction const&, unsigned int, unsigned char, SigVersion, PrecomputedTransactionData const&) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1512:5 dashpay#9 0x55e900825a3f in GenericTransactionSignatureChecker<CTransaction>::CheckSchnorrSignature(Span<unsigned char const>, Span<unsigned char const>, SigVersion, ScriptExecutionData const&, ScriptError_t*) const /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1699:10 dashpay#10 0x55e900832503 in VerifyWitnessProgram(CScriptWitness const&, int, std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, BaseSignatureChecker const&, ScriptError_t*, bool) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1900:26 dashpay#11 0x55e90082ecb5 in VerifyScript(CScript const&, CScript const&, CScriptWitness const*, unsigned int, BaseSignatureChecker const&, ScriptError_t*) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1977:18 dashpay#12 0x55e9007a9b61 in test_one_input(std::vector<unsigned char, std::allocator<unsigned char> > const&) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags.cpp:51:30 dashpay#13 0x55e9007d0b49 in LLVMFuzzerTestOneInput /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/fuzz.cpp:36:5 dashpay#14 0x55e9006b1871 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x13e871) dashpay#15 0x55e9006b0fb5 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x13dfb5) dashpay#16 0x55e9006b38d7 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__Fuzzer::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x1408d7) dashpay#17 0x55e9006b3c39 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x140c39) dashpay#18 0x55e9006a290e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x12f90e) dashpay#19 0x55e9006cb752 in main (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x158752) dashpay#20 0x7f6fb85310b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#21 0x55e9006776ad in _start (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x1046ad) ACKs for top commit: laanwj: Code review ACK fa56d56 Tree-SHA512: 5637b0a0d982360df32d8cd39e913395967af02ec746508fc5f2fd649695c58bfaaf18ef76f4ca9da764d34fdd63dfe188317dd41b2ed57534bd4055a05ae870
UdjinM6
pushed a commit
that referenced
this issue
Oct 21, 2021
fa1fdeb fuzz: Ensure prevout is consensus-valid (MarcoFalke) Pull request description: It shouldn't be possible to create consensus-invalid prevouts, so there is no need to fuzz them. To reproduce: ``` $ echo 'AAAAAAEAAAAAAQF0Rw0SGsrit4+YZSEfpcQT/o+bJbjgVjATUHqrCfRE+QsBAAAXFgAUlsvXHgGV ZxF3QXxitwe1tIOYdLj2NePHATl9CgAAAAAAGXapFOFHg1yqRFl7soeowwpIEOoe9G1NiKwCRzBE AiAx6F2Q008gvJnok6JiyOn7lPqCJJmDiI2omRNXT1Q7XAIgCQP6WJizAqhnvImpQqYMJkqePGvx Jy/pGRMy1iNL0ecDIQJr4tWomVTBfjpyMFMOD9aDAR5gkByOIYiaQOv8P/sRztP3pS8RDAAAEUUE NQBwYAAAAAC5F6kUTLIzj/lKP2Hmpwyzukns2eweRkOH' | base64 --decode > /tmp/a $ FUZZ=script_flags ./src/test/fuzz/fuzz /tmp/a INFO: Running with entropic power schedule (0xFF, 100). INFO: Seed: 59714236 INFO: Loaded 1 modules (212532 inline 8-bit counters): 212532 [0x55987fb3f668, 0x55987fb7349c), INFO: Loaded 1 PC tables (212532 PCs): 212532 [0x55987fb734a0,0x55987feb17e0), ./src/test/fuzz/fuzz: Running 1 inputs 1 time(s) each. Running: /tmp/a fuzz: script/interpreter.cpp:1495: bool HandleMissingData(MissingDataBehavior): Assertion `!"Missing data"' failed. ==520092== ERROR: libFuzzer: deadly signal #0 0x55987f111180 in __sanitizer_print_stack_trace (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5ea180) #1 0x55987f0ba828 in fuzzer::PrintStackTrace() fuzzer.o #2 0x55987f09de43 in fuzzer::Fuzzer::CrashCallback() fuzzer.o #3 0x7fd003d563bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) #4 0x7fd00399a18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) #5 0x7fd003979858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) #6 0x7fd003979728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) #7 0x7fd00398af35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) #8 0x55987f8ce194 in HandleMissingData(MissingDataBehavior) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1495:9 #9 0x55987f8ce194 in GenericTransactionSignatureChecker<CTransaction>::CheckECDSASignature(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, CScript const&, SigVersion) const /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1685:68 #10 0x55987f8cbbc8 in EvalChecksigPreTapscript(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, prevector<28u, unsigned char, unsigned int, int>::const_iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator, unsigned int, BaseSignatureChecker const&, SigVersion, ScriptError_t*, bool&) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:363:24 #11 0x55987f8cbbc8 in EvalChecksig(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, prevector<28u, unsigned char, unsigned int, int>::const_iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator, ScriptExecutionData&, unsigned int, BaseSignatureChecker const&, SigVersion, ScriptError_t*, bool&) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:421:16 #12 0x55987f8c5a01 in EvalScript(std::vector<std::vector<unsigned char, std::allocator<unsigned char> >, std::allocator<std::vector<unsigned char, std::allocator<unsigned char> > > >&, CScript const&, unsigned int, BaseSignatureChecker const&, SigVersion, ScriptExecutionData&, ScriptError_t*) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1094:26 #13 0x55987f8d6d6e in ExecuteWitnessScript(Span<std::vector<unsigned char, std::allocator<unsigned char> > const> const&, CScript const&, unsigned int, SigVersion, BaseSignatureChecker const&, ScriptExecutionData&, ScriptError_t*) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1843:10 #14 0x55987f8d48fc in VerifyWitnessProgram(CScriptWitness const&, int, std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, BaseSignatureChecker const&, ScriptError_t*, bool) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1904:20 #15 0x55987f8d3d8b in VerifyScript(CScript const&, CScript const&, CScriptWitness const*, unsigned int, BaseSignatureChecker const&, ScriptError_t*) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:2045:22 #16 0x55987f201d47 in script_flags_fuzz_target(Span<unsigned char const>) /root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/script_flags.cpp:54:30 #17 0x55987f11447f in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2 #18 0x55987f8aed17 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 #19 0x55987f8aed17 in LLVMFuzzerTestOneInput /root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz.cpp:63:5 #20 0x55987f09f5e3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) fuzzer.o #21 0x55987f0894e2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) fuzzer.o #22 0x55987f08f2da in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) fuzzer.o #23 0x55987f0bb002 in main (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x594002) #24 0x7fd00397b0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) #25 0x55987f06420d in _start (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x53d20d) NOTE: libFuzzer has rudimentary signal handlers. Combine libFuzzer with AddressSanitizer or similar for better crash reports. SUMMARY: libFuzzer: deadly signal ACKs for top commit: practicalswift: Tested ACK fa1fdeb Tree-SHA512: 6130ed9ab6d8eeab901f64a1c069300e67d0b6009c42763262fe6edeab8192e088c1a3c1f61aee900b9ebbc48fbf6e837b41704bad592ec526398355766e208a
pravblockc
pushed a commit
to pravblockc/dash
that referenced
this issue
Nov 18, 2021
fa1fdeb fuzz: Ensure prevout is consensus-valid (MarcoFalke) Pull request description: It shouldn't be possible to create consensus-invalid prevouts, so there is no need to fuzz them. To reproduce: ``` $ echo 'AAAAAAEAAAAAAQF0Rw0SGsrit4+YZSEfpcQT/o+bJbjgVjATUHqrCfRE+QsBAAAXFgAUlsvXHgGV ZxF3QXxitwe1tIOYdLj2NePHATl9CgAAAAAAGXapFOFHg1yqRFl7soeowwpIEOoe9G1NiKwCRzBE AiAx6F2Q008gvJnok6JiyOn7lPqCJJmDiI2omRNXT1Q7XAIgCQP6WJizAqhnvImpQqYMJkqePGvx Jy/pGRMy1iNL0ecDIQJr4tWomVTBfjpyMFMOD9aDAR5gkByOIYiaQOv8P/sRztP3pS8RDAAAEUUE NQBwYAAAAAC5F6kUTLIzj/lKP2Hmpwyzukns2eweRkOH' | base64 --decode > /tmp/a $ FUZZ=script_flags ./src/test/fuzz/fuzz /tmp/a INFO: Running with entropic power schedule (0xFF, 100). INFO: Seed: 59714236 INFO: Loaded 1 modules (212532 inline 8-bit counters): 212532 [0x55987fb3f668, 0x55987fb7349c), INFO: Loaded 1 PC tables (212532 PCs): 212532 [0x55987fb734a0,0x55987feb17e0), ./src/test/fuzz/fuzz: Running 1 inputs 1 time(s) each. Running: /tmp/a fuzz: script/interpreter.cpp:1495: bool HandleMissingData(MissingDataBehavior): Assertion `!"Missing data"' failed. ==520092== ERROR: libFuzzer: deadly signal #0 0x55987f111180 in __sanitizer_print_stack_trace (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5ea180) dashpay#1 0x55987f0ba828 in fuzzer::PrintStackTrace() fuzzer.o dashpay#2 0x55987f09de43 in fuzzer::Fuzzer::CrashCallback() fuzzer.o dashpay#3 0x7fd003d563bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) dashpay#4 0x7fd00399a18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) dashpay#5 0x7fd003979858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) dashpay#6 0x7fd003979728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) dashpay#7 0x7fd00398af35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) dashpay#8 0x55987f8ce194 in HandleMissingData(MissingDataBehavior) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1495:9 dashpay#9 0x55987f8ce194 in GenericTransactionSignatureChecker<CTransaction>::CheckECDSASignature(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, CScript const&, SigVersion) const /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1685:68 dashpay#10 0x55987f8cbbc8 in EvalChecksigPreTapscript(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, prevector<28u, unsigned char, unsigned int, int>::const_iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator, unsigned int, BaseSignatureChecker const&, SigVersion, ScriptError_t*, bool&) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:363:24 dashpay#11 0x55987f8cbbc8 in EvalChecksig(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, prevector<28u, unsigned char, unsigned int, int>::const_iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator, ScriptExecutionData&, unsigned int, BaseSignatureChecker const&, SigVersion, ScriptError_t*, bool&) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:421:16 dashpay#12 0x55987f8c5a01 in EvalScript(std::vector<std::vector<unsigned char, std::allocator<unsigned char> >, std::allocator<std::vector<unsigned char, std::allocator<unsigned char> > > >&, CScript const&, unsigned int, BaseSignatureChecker const&, SigVersion, ScriptExecutionData&, ScriptError_t*) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1094:26 dashpay#13 0x55987f8d6d6e in ExecuteWitnessScript(Span<std::vector<unsigned char, std::allocator<unsigned char> > const> const&, CScript const&, unsigned int, SigVersion, BaseSignatureChecker const&, ScriptExecutionData&, ScriptError_t*) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1843:10 dashpay#14 0x55987f8d48fc in VerifyWitnessProgram(CScriptWitness const&, int, std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, BaseSignatureChecker const&, ScriptError_t*, bool) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1904:20 dashpay#15 0x55987f8d3d8b in VerifyScript(CScript const&, CScript const&, CScriptWitness const*, unsigned int, BaseSignatureChecker const&, ScriptError_t*) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:2045:22 dashpay#16 0x55987f201d47 in script_flags_fuzz_target(Span<unsigned char const>) /root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/script_flags.cpp:54:30 dashpay#17 0x55987f11447f in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2 dashpay#18 0x55987f8aed17 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#19 0x55987f8aed17 in LLVMFuzzerTestOneInput /root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz.cpp:63:5 dashpay#20 0x55987f09f5e3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) fuzzer.o dashpay#21 0x55987f0894e2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) fuzzer.o dashpay#22 0x55987f08f2da in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) fuzzer.o dashpay#23 0x55987f0bb002 in main (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x594002) dashpay#24 0x7fd00397b0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#25 0x55987f06420d in _start (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x53d20d) NOTE: libFuzzer has rudimentary signal handlers. Combine libFuzzer with AddressSanitizer or similar for better crash reports. SUMMARY: libFuzzer: deadly signal ACKs for top commit: practicalswift: Tested ACK fa1fdeb Tree-SHA512: 6130ed9ab6d8eeab901f64a1c069300e67d0b6009c42763262fe6edeab8192e088c1a3c1f61aee900b9ebbc48fbf6e837b41704bad592ec526398355766e208a
PastaPastaPasta
pushed a commit
that referenced
this issue
Nov 7, 2022
* ci: add semantic pr check action (#6) * ci: add types and scopes for pr title checks * ci: change action name * ci: add comment and link for our commit types/scopes * ci: remove config for deprecated service * Update .github/workflows/semantic-pull-request.yml Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com> Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
kwvg
pushed a commit
to kwvg/dash
that referenced
this issue
Dec 21, 2022
knst
pushed a commit
to knst/dash
that referenced
this issue
Apr 18, 2023
… in Travis 1f9d5af tests: Add initialization order fiasco detection in Travis (practicalswift) Pull request description: Add initialization order fiasco detection in Travis :) Context: bitcoin#17670 (comment) This would have caught the `events_hasher` initialization order issue introduced in bitcoin#17573 and fixed in bitcoin#17670. Output in case of an initialization order fiasco: ``` ==7934==ERROR: AddressSanitizer: initialization-order-fiasco on address 0x557098d79200 at pc 0x55709796b9a3 bp 0x7ffde524dc30 sp 0x7ffde524dc28 READ of size 8 at 0x557098d79200 thread T0 #0 0x55709796b9a2 in CSHA256::Finalize(unsigned char*) src/crypto/sha256.cpp:667:25 #1 0x5570978150e9 in SeedEvents(CSHA512&) src/random.cpp:462:19 dashpay#2 0x5570978145e1 in SeedSlow(CSHA512&) src/random.cpp:482:5 dashpay#3 0x5570978149a3 in SeedStartup(CSHA512&, (anonymous namespace)::RNGState&) src/random.cpp:527:5 dashpay#4 0x55709781102d in ProcRand(unsigned char*, int, RNGLevel) src/random.cpp:571:9 dashpay#5 0x557097810d19 in GetRandBytes(unsigned char*, int) src/random.cpp:576:59 dashpay#6 0x557096c2f9d5 in (anonymous namespace)::CSignatureCache::CSignatureCache() src/script/sigcache.cpp:34:9 dashpay#7 0x557096511977 in __cxx_global_var_init.7 src/script/sigcache.cpp:67:24 dashpay#8 0x5570965119f8 in _GLOBAL__sub_I_sigcache.cpp src/script/sigcache.cpp dashpay#9 0x557097bba4ac in __libc_csu_init (src/bitcoind+0x18554ac) dashpay#10 0x7f214b1c2b27 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:266 dashpay#11 0x5570965347d9 in _start (src/bitcoind+0x1cf7d9) 0x557098d79200 is located 96 bytes inside of global variable 'events_hasher' defined in 'random.cpp:456:16' (0x557098d791a0) of size 104 registered at: #0 0x557096545dfd in __asan_register_globals compiler-rt/lib/asan/asan_globals.cpp:360:3 #1 0x557097817f8b in asan.module_ctor (src/bitcoind+0x14b2f8b) SUMMARY: AddressSanitizer: initialization-order-fiasco src/crypto/sha256.cpp:667:25 in CSHA256::Finalize(unsigned char*) ``` ACKs for top commit: promag: Tested ACK 1f9d5af, got MarcoFalke: ACK 1f9d5af 👔 Tree-SHA512: f24ac0a313df7549193bd7f4fcfdf9b72bdfc6a6ee31d0b08e6d0752e5108fbd532106b6c86377ae0641258c9adb4921872e5d9a0154c0284e03315e0777102c
UdjinM6
pushed a commit
that referenced
this issue
Apr 18, 2023
fa7e147 test: Fix intermittent Tsan issue (MarcoFalke) Pull request description: Fix https://cirrus-ci.com/task/5176769937408000?logs=ci#L5161 ``` WARNING: ThreadSanitizer: data race (pid=22965) Write of size 8 at 0x7f74d5e21f50 by main thread: #0 std::__1::ios_base::precision(long) /usr/lib/llvm-13/bin/../include/c++/v1/ios:513:18 (test_bitcoin+0x1a8366) #1 boost::io::ios_base_all_saver::restore() /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/io/ios_state.hpp:341:17 (test_bitcoin+0x1a8366) #2 boost::unit_test::unit_test_log_t::operator<<(boost::unit_test::log::begin const&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_log.ipp:336:55 (test_bitcoin+0x1a8366) #3 boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/test_tools.ipp:359:19 (test_bitcoin+0x1b3b9b) #4 txindex_tests::txindex_initial_sync::test_method() src/test/txindex_tests.cpp:31:5 (test_bitcoin+0x78aebc) #5 txindex_tests::txindex_initial_sync_invoker() src/test/txindex_tests.cpp:16:1 (test_bitcoin+0x78a384) #6 boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:117:11 (test_bitcoin+0x2bf30d) #7 boost::function0<void>::operator()() const /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x224027) #8 boost::detail::forward::operator()() /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1368:32 (test_bitcoin+0x224027) #9 boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:137:18 (test_bitcoin+0x224027) #10 boost::function0<int>::operator()() const /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x1ac66c) #11 int boost::detail::do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()> >(boost::shared_ptr<boost::detail::translator_holder_base> const&, boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:290:30 (test_bitcoin+0x1ac66c) #12 boost::execution_monitor::catch_signals(boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:879:16 (test_bitcoin+0x1ac66c) #13 boost::execution_monitor::execute(boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1277:16 (test_bitcoin+0x1ac980) #14 boost::execution_monitor::vexecute(boost::function<void ()> const&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1377:5 (test_bitcoin+0x1a7f9b) #15 boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x1a7f9b) #16 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:823:44 (test_bitcoin+0x1e0d5c) #17 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:792:58 (test_bitcoin+0x1e14a6) #18 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:792:58 (test_bitcoin+0x1e14a6) #19 boost::unit_test::framework::run(unsigned long, bool) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:1696:29 (test_bitcoin+0x1a6bfb) #20 boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_main.ipp:248:9 (test_bitcoin+0x1c4ed6) #21 main /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_main.ipp:304:12 (test_bitcoin+0x1c5506) Previous write of size 8 at 0x7f74d5e21f50 by thread T4: [failed to restore the stack] Location is global 'std::__1::cout' of size 160 at 0x7f74d5e21f30 (libc++.so.1+0x0000000cdf50) Thread T4 'b-txindex' (tid=22989, running) created by main thread at: #0 pthread_create <null> (test_bitcoin+0x1184cd) #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-13/bin/../include/c++/v1/__threading_support:514:10 (test_bitcoin+0xa23f1b) #2 std::__1::thread::thread<void (*)(char const*, std::__1::function<void ()>), char const*, BaseIndex::Start(CChainState&)::$_0, void>(void (*&&)(char const*, std::__1::function<void ()>), char const*&&, BaseIndex::Start(CChainState&)::$_0&&) /usr/lib/llvm-13/bin/../include/c++/v1/thread:307:16 (test_bitcoin+0xa23f1b) #3 BaseIndex::Start(CChainState&) src/index/base.cpp:363:21 (test_bitcoin+0xa23f1b) #4 txindex_tests::txindex_initial_sync::test_method() src/test/txindex_tests.cpp:31:5 (test_bitcoin+0x78adfa) #5 txindex_tests::txindex_initial_sync_invoker() src/test/txindex_tests.cpp:16:1 (test_bitcoin+0x78a384) #6 boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:117:11 (test_bitcoin+0x2bf30d) #7 boost::function0<void>::operator()() const /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x224027) #8 boost::detail::forward::operator()() /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1368:32 (test_bitcoin+0x224027) #9 boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:137:18 (test_bitcoin+0x224027) #10 boost::function0<int>::operator()() const /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x1ac66c) #11 int boost::detail::do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()> >(boost::shared_ptr<boost::detail::translator_holder_base> const&, boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:290:30 (test_bitcoin+0x1ac66c) #12 boost::execution_monitor::catch_signals(boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:879:16 (test_bitcoin+0x1ac66c) #13 boost::execution_monitor::execute(boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1277:16 (test_bitcoin+0x1ac980) #14 boost::execution_monitor::vexecute(boost::function<void ()> const&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1377:5 (test_bitcoin+0x1a7f9b) #15 boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x1a7f9b) #16 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:823:44 (test_bitcoin+0x1e0d5c) #17 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:792:58 (test_bitcoin+0x1e14a6) #18 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:792:58 (test_bitcoin+0x1e14a6) #19 boost::unit_test::framework::run(unsigned long, bool) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/framework.ipp:1696:29 (test_bitcoin+0x1a6bfb) #20 boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_main.ipp:248:9 (test_bitcoin+0x1c4ed6) #21 main /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/test/impl/unit_test_main.ipp:304:12 (test_bitcoin+0x1c5506) SUMMARY: ThreadSanitizer: data race /usr/lib/llvm-13/bin/../include/c++/v1/ios:513:18 in std::__1::ios_base::precision(long) ================== Exit status: 2 ACKs for top commit: fanquake: CI ignored ACK fa7e147 Tree-SHA512: 5194e026410b96ad3c8addeecce0a55ee0271c3cfac9fa0715345b1a50d59925549cee0a3e415e5837ae6d2f214a7b622c73cfc7fdf41d5e55c24fb87fddb9d1
knst
pushed a commit
to knst/dash
that referenced
this issue
Apr 24, 2023
… in Travis 1f9d5af tests: Add initialization order fiasco detection in Travis (practicalswift) Pull request description: Add initialization order fiasco detection in Travis :) Context: bitcoin#17670 (comment) This would have caught the `events_hasher` initialization order issue introduced in bitcoin#17573 and fixed in bitcoin#17670. Output in case of an initialization order fiasco: ``` ==7934==ERROR: AddressSanitizer: initialization-order-fiasco on address 0x557098d79200 at pc 0x55709796b9a3 bp 0x7ffde524dc30 sp 0x7ffde524dc28 READ of size 8 at 0x557098d79200 thread T0 #0 0x55709796b9a2 in CSHA256::Finalize(unsigned char*) src/crypto/sha256.cpp:667:25 #1 0x5570978150e9 in SeedEvents(CSHA512&) src/random.cpp:462:19 dashpay#2 0x5570978145e1 in SeedSlow(CSHA512&) src/random.cpp:482:5 dashpay#3 0x5570978149a3 in SeedStartup(CSHA512&, (anonymous namespace)::RNGState&) src/random.cpp:527:5 dashpay#4 0x55709781102d in ProcRand(unsigned char*, int, RNGLevel) src/random.cpp:571:9 dashpay#5 0x557097810d19 in GetRandBytes(unsigned char*, int) src/random.cpp:576:59 dashpay#6 0x557096c2f9d5 in (anonymous namespace)::CSignatureCache::CSignatureCache() src/script/sigcache.cpp:34:9 dashpay#7 0x557096511977 in __cxx_global_var_init.7 src/script/sigcache.cpp:67:24 dashpay#8 0x5570965119f8 in _GLOBAL__sub_I_sigcache.cpp src/script/sigcache.cpp dashpay#9 0x557097bba4ac in __libc_csu_init (src/bitcoind+0x18554ac) dashpay#10 0x7f214b1c2b27 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:266 dashpay#11 0x5570965347d9 in _start (src/bitcoind+0x1cf7d9) 0x557098d79200 is located 96 bytes inside of global variable 'events_hasher' defined in 'random.cpp:456:16' (0x557098d791a0) of size 104 registered at: #0 0x557096545dfd in __asan_register_globals compiler-rt/lib/asan/asan_globals.cpp:360:3 #1 0x557097817f8b in asan.module_ctor (src/bitcoind+0x14b2f8b) SUMMARY: AddressSanitizer: initialization-order-fiasco src/crypto/sha256.cpp:667:25 in CSHA256::Finalize(unsigned char*) ``` ACKs for top commit: promag: Tested ACK 1f9d5af, got MarcoFalke: ACK 1f9d5af 👔 Tree-SHA512: f24ac0a313df7549193bd7f4fcfdf9b72bdfc6a6ee31d0b08e6d0752e5108fbd532106b6c86377ae0641258c9adb4921872e5d9a0154c0284e03315e0777102c
knst
pushed a commit
to knst/dash
that referenced
this issue
Apr 24, 2023
… in Travis 1f9d5af tests: Add initialization order fiasco detection in Travis (practicalswift) Pull request description: Add initialization order fiasco detection in Travis :) Context: bitcoin#17670 (comment) This would have caught the `events_hasher` initialization order issue introduced in bitcoin#17573 and fixed in bitcoin#17670. Output in case of an initialization order fiasco: ``` ==7934==ERROR: AddressSanitizer: initialization-order-fiasco on address 0x557098d79200 at pc 0x55709796b9a3 bp 0x7ffde524dc30 sp 0x7ffde524dc28 READ of size 8 at 0x557098d79200 thread T0 #0 0x55709796b9a2 in CSHA256::Finalize(unsigned char*) src/crypto/sha256.cpp:667:25 #1 0x5570978150e9 in SeedEvents(CSHA512&) src/random.cpp:462:19 dashpay#2 0x5570978145e1 in SeedSlow(CSHA512&) src/random.cpp:482:5 dashpay#3 0x5570978149a3 in SeedStartup(CSHA512&, (anonymous namespace)::RNGState&) src/random.cpp:527:5 dashpay#4 0x55709781102d in ProcRand(unsigned char*, int, RNGLevel) src/random.cpp:571:9 dashpay#5 0x557097810d19 in GetRandBytes(unsigned char*, int) src/random.cpp:576:59 dashpay#6 0x557096c2f9d5 in (anonymous namespace)::CSignatureCache::CSignatureCache() src/script/sigcache.cpp:34:9 dashpay#7 0x557096511977 in __cxx_global_var_init.7 src/script/sigcache.cpp:67:24 dashpay#8 0x5570965119f8 in _GLOBAL__sub_I_sigcache.cpp src/script/sigcache.cpp dashpay#9 0x557097bba4ac in __libc_csu_init (src/bitcoind+0x18554ac) dashpay#10 0x7f214b1c2b27 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:266 dashpay#11 0x5570965347d9 in _start (src/bitcoind+0x1cf7d9) 0x557098d79200 is located 96 bytes inside of global variable 'events_hasher' defined in 'random.cpp:456:16' (0x557098d791a0) of size 104 registered at: #0 0x557096545dfd in __asan_register_globals compiler-rt/lib/asan/asan_globals.cpp:360:3 #1 0x557097817f8b in asan.module_ctor (src/bitcoind+0x14b2f8b) SUMMARY: AddressSanitizer: initialization-order-fiasco src/crypto/sha256.cpp:667:25 in CSHA256::Finalize(unsigned char*) ``` ACKs for top commit: promag: Tested ACK 1f9d5af, got MarcoFalke: ACK 1f9d5af 👔 Tree-SHA512: f24ac0a313df7549193bd7f4fcfdf9b72bdfc6a6ee31d0b08e6d0752e5108fbd532106b6c86377ae0641258c9adb4921872e5d9a0154c0284e03315e0777102c
UdjinM6
pushed a commit
to knst/dash
that referenced
this issue
Apr 25, 2023
… in Travis 1f9d5af tests: Add initialization order fiasco detection in Travis (practicalswift) Pull request description: Add initialization order fiasco detection in Travis :) Context: bitcoin#17670 (comment) This would have caught the `events_hasher` initialization order issue introduced in bitcoin#17573 and fixed in bitcoin#17670. Output in case of an initialization order fiasco: ``` ==7934==ERROR: AddressSanitizer: initialization-order-fiasco on address 0x557098d79200 at pc 0x55709796b9a3 bp 0x7ffde524dc30 sp 0x7ffde524dc28 READ of size 8 at 0x557098d79200 thread T0 #0 0x55709796b9a2 in CSHA256::Finalize(unsigned char*) src/crypto/sha256.cpp:667:25 #1 0x5570978150e9 in SeedEvents(CSHA512&) src/random.cpp:462:19 dashpay#2 0x5570978145e1 in SeedSlow(CSHA512&) src/random.cpp:482:5 dashpay#3 0x5570978149a3 in SeedStartup(CSHA512&, (anonymous namespace)::RNGState&) src/random.cpp:527:5 dashpay#4 0x55709781102d in ProcRand(unsigned char*, int, RNGLevel) src/random.cpp:571:9 dashpay#5 0x557097810d19 in GetRandBytes(unsigned char*, int) src/random.cpp:576:59 dashpay#6 0x557096c2f9d5 in (anonymous namespace)::CSignatureCache::CSignatureCache() src/script/sigcache.cpp:34:9 dashpay#7 0x557096511977 in __cxx_global_var_init.7 src/script/sigcache.cpp:67:24 dashpay#8 0x5570965119f8 in _GLOBAL__sub_I_sigcache.cpp src/script/sigcache.cpp dashpay#9 0x557097bba4ac in __libc_csu_init (src/bitcoind+0x18554ac) dashpay#10 0x7f214b1c2b27 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:266 dashpay#11 0x5570965347d9 in _start (src/bitcoind+0x1cf7d9) 0x557098d79200 is located 96 bytes inside of global variable 'events_hasher' defined in 'random.cpp:456:16' (0x557098d791a0) of size 104 registered at: #0 0x557096545dfd in __asan_register_globals compiler-rt/lib/asan/asan_globals.cpp:360:3 #1 0x557097817f8b in asan.module_ctor (src/bitcoind+0x14b2f8b) SUMMARY: AddressSanitizer: initialization-order-fiasco src/crypto/sha256.cpp:667:25 in CSHA256::Finalize(unsigned char*) ``` ACKs for top commit: promag: Tested ACK 1f9d5af, got MarcoFalke: ACK 1f9d5af 👔 Tree-SHA512: f24ac0a313df7549193bd7f4fcfdf9b72bdfc6a6ee31d0b08e6d0752e5108fbd532106b6c86377ae0641258c9adb4921872e5d9a0154c0284e03315e0777102c
vijaydasmp
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Jul 14, 2023
fa2e614 test: Fix off-by-one in mockscheduler test RPC (MarcoFalke) Pull request description: Fixes: ``` fuzz: scheduler.cpp:83: void CScheduler::MockForward(std::chrono::seconds): Assertion `delta_seconds.count() > 0 && delta_seconds < std::chrono::hours{1}' failed. ==1059066== ERROR: libFuzzer: deadly signal #0 0x558f75449c10 in __sanitizer_print_stack_trace (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5fec10) dashpay#1 0x558f753f32b8 in fuzzer::PrintStackTrace() fuzzer.o dashpay#2 0x558f753d68d3 in fuzzer::Fuzzer::CrashCallback() fuzzer.o dashpay#3 0x7f4a3cbbb3bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) dashpay#4 0x7f4a3c7ff18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) dashpay#5 0x7f4a3c7de858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) dashpay#6 0x7f4a3c7de728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) dashpay#7 0x7f4a3c7eff35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) dashpay#8 0x558f7588a913 in CScheduler::MockForward(std::chrono::duration<long, std::ratio<1l, 1l> >) scheduler.cpp:83:5 dashpay#9 0x558f75b0e5b1 in mockscheduler()::$_7::operator()(RPCHelpMan const&, JSONRPCRequest const&) const rpc/misc.cpp:435:30 dashpay#10 0x558f75b0e5b1 in std::_Function_handler<UniValue (RPCHelpMan const&, JSONRPCRequest const&), mockscheduler()::$_7>::_M_invoke(std::_Any_data const&, RPCHelpMan const&, JSONRPCRequest const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 dashpay#11 0x558f7587a141 in std::function<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#12 0x558f7587a141 in RPCHelpMan::HandleRequest(JSONRPCRequest const&) const rpc/util.cpp:565:26 dashpay#13 0x558f756c0086 in CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const ./rpc/server.h:110:91 dashpay#14 0x558f756c0086 in std::_Function_handler<bool (JSONRPCRequest const&, UniValue&, bool), CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)>::_M_invoke(std::_Any_data const&, JSONRPCRequest const&, UniValue&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 dashpay#15 0x558f756b8592 in std::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#16 0x558f756b8592 in ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) rpc/server.cpp:480:20 dashpay#17 0x558f756b8592 in ExecuteCommands(std::vector<CRPCCommand const*, std::allocator<CRPCCommand const*> > const&, JSONRPCRequest const&, UniValue&) rpc/server.cpp:444:13 dashpay#18 0x558f756b8017 in CRPCTable::execute(JSONRPCRequest const&) const rpc/server.cpp:464:13 dashpay#19 0x558f7552457a in (anonymous namespace)::RPCFuzzTestingSetup::CallRPC(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) test/fuzz/rpc.cpp:50:25 dashpay#20 0x558f7552457a in rpc_fuzz_target(Span<unsigned char const>) test/fuzz/rpc.cpp:354:28 dashpay#21 0x558f7544cf0f in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2 dashpay#22 0x558f75c05197 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#23 0x558f75c05197 in LLVMFuzzerTestOneInput test/fuzz/fuzz.cpp:74:5 dashpay#24 0x558f753d8073 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) fuzzer.o dashpay#25 0x558f753c1f72 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) fuzzer.o dashpay#26 0x558f753c7d6a in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) fuzzer.o dashpay#27 0x558f753f3a92 in main (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5a8a92) dashpay#28 0x7f4a3c7e00b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#29 0x558f7539cc9d in _start (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x551c9d) ACKs for top commit: practicalswift: cr ACK fa2e614 Tree-SHA512: cfa120265261f0ad019b46c426b915c1c007806b37aecb27016ce780a0ddea5e6fc9b09065fd40684b11183dcd3bf543558d7a655e604695021653540266baf7
vijaydasmp
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Jul 18, 2023
fa2e614 test: Fix off-by-one in mockscheduler test RPC (MarcoFalke) Pull request description: Fixes: ``` fuzz: scheduler.cpp:83: void CScheduler::MockForward(std::chrono::seconds): Assertion `delta_seconds.count() > 0 && delta_seconds < std::chrono::hours{1}' failed. ==1059066== ERROR: libFuzzer: deadly signal #0 0x558f75449c10 in __sanitizer_print_stack_trace (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5fec10) dashpay#1 0x558f753f32b8 in fuzzer::PrintStackTrace() fuzzer.o dashpay#2 0x558f753d68d3 in fuzzer::Fuzzer::CrashCallback() fuzzer.o dashpay#3 0x7f4a3cbbb3bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) dashpay#4 0x7f4a3c7ff18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) dashpay#5 0x7f4a3c7de858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) dashpay#6 0x7f4a3c7de728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) dashpay#7 0x7f4a3c7eff35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) dashpay#8 0x558f7588a913 in CScheduler::MockForward(std::chrono::duration<long, std::ratio<1l, 1l> >) scheduler.cpp:83:5 dashpay#9 0x558f75b0e5b1 in mockscheduler()::$_7::operator()(RPCHelpMan const&, JSONRPCRequest const&) const rpc/misc.cpp:435:30 dashpay#10 0x558f75b0e5b1 in std::_Function_handler<UniValue (RPCHelpMan const&, JSONRPCRequest const&), mockscheduler()::$_7>::_M_invoke(std::_Any_data const&, RPCHelpMan const&, JSONRPCRequest const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 dashpay#11 0x558f7587a141 in std::function<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#12 0x558f7587a141 in RPCHelpMan::HandleRequest(JSONRPCRequest const&) const rpc/util.cpp:565:26 dashpay#13 0x558f756c0086 in CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const ./rpc/server.h:110:91 dashpay#14 0x558f756c0086 in std::_Function_handler<bool (JSONRPCRequest const&, UniValue&, bool), CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)>::_M_invoke(std::_Any_data const&, JSONRPCRequest const&, UniValue&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 dashpay#15 0x558f756b8592 in std::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#16 0x558f756b8592 in ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) rpc/server.cpp:480:20 dashpay#17 0x558f756b8592 in ExecuteCommands(std::vector<CRPCCommand const*, std::allocator<CRPCCommand const*> > const&, JSONRPCRequest const&, UniValue&) rpc/server.cpp:444:13 dashpay#18 0x558f756b8017 in CRPCTable::execute(JSONRPCRequest const&) const rpc/server.cpp:464:13 dashpay#19 0x558f7552457a in (anonymous namespace)::RPCFuzzTestingSetup::CallRPC(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) test/fuzz/rpc.cpp:50:25 dashpay#20 0x558f7552457a in rpc_fuzz_target(Span<unsigned char const>) test/fuzz/rpc.cpp:354:28 dashpay#21 0x558f7544cf0f in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2 dashpay#22 0x558f75c05197 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#23 0x558f75c05197 in LLVMFuzzerTestOneInput test/fuzz/fuzz.cpp:74:5 dashpay#24 0x558f753d8073 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) fuzzer.o dashpay#25 0x558f753c1f72 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) fuzzer.o dashpay#26 0x558f753c7d6a in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) fuzzer.o dashpay#27 0x558f753f3a92 in main (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5a8a92) dashpay#28 0x7f4a3c7e00b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#29 0x558f7539cc9d in _start (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x551c9d) ACKs for top commit: practicalswift: cr ACK fa2e614 Tree-SHA512: cfa120265261f0ad019b46c426b915c1c007806b37aecb27016ce780a0ddea5e6fc9b09065fd40684b11183dcd3bf543558d7a655e604695021653540266baf7
PastaPastaPasta
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Jul 25, 2023
fa2e614 test: Fix off-by-one in mockscheduler test RPC (MarcoFalke) Pull request description: Fixes: ``` fuzz: scheduler.cpp:83: void CScheduler::MockForward(std::chrono::seconds): Assertion `delta_seconds.count() > 0 && delta_seconds < std::chrono::hours{1}' failed. ==1059066== ERROR: libFuzzer: deadly signal #0 0x558f75449c10 in __sanitizer_print_stack_trace (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5fec10) dashpay#1 0x558f753f32b8 in fuzzer::PrintStackTrace() fuzzer.o dashpay#2 0x558f753d68d3 in fuzzer::Fuzzer::CrashCallback() fuzzer.o dashpay#3 0x7f4a3cbbb3bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) dashpay#4 0x7f4a3c7ff18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) dashpay#5 0x7f4a3c7de858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) dashpay#6 0x7f4a3c7de728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) dashpay#7 0x7f4a3c7eff35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) dashpay#8 0x558f7588a913 in CScheduler::MockForward(std::chrono::duration<long, std::ratio<1l, 1l> >) scheduler.cpp:83:5 dashpay#9 0x558f75b0e5b1 in mockscheduler()::$_7::operator()(RPCHelpMan const&, JSONRPCRequest const&) const rpc/misc.cpp:435:30 dashpay#10 0x558f75b0e5b1 in std::_Function_handler<UniValue (RPCHelpMan const&, JSONRPCRequest const&), mockscheduler()::$_7>::_M_invoke(std::_Any_data const&, RPCHelpMan const&, JSONRPCRequest const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 dashpay#11 0x558f7587a141 in std::function<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#12 0x558f7587a141 in RPCHelpMan::HandleRequest(JSONRPCRequest const&) const rpc/util.cpp:565:26 dashpay#13 0x558f756c0086 in CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const ./rpc/server.h:110:91 dashpay#14 0x558f756c0086 in std::_Function_handler<bool (JSONRPCRequest const&, UniValue&, bool), CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)>::_M_invoke(std::_Any_data const&, JSONRPCRequest const&, UniValue&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 dashpay#15 0x558f756b8592 in std::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#16 0x558f756b8592 in ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) rpc/server.cpp:480:20 dashpay#17 0x558f756b8592 in ExecuteCommands(std::vector<CRPCCommand const*, std::allocator<CRPCCommand const*> > const&, JSONRPCRequest const&, UniValue&) rpc/server.cpp:444:13 dashpay#18 0x558f756b8017 in CRPCTable::execute(JSONRPCRequest const&) const rpc/server.cpp:464:13 dashpay#19 0x558f7552457a in (anonymous namespace)::RPCFuzzTestingSetup::CallRPC(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) test/fuzz/rpc.cpp:50:25 dashpay#20 0x558f7552457a in rpc_fuzz_target(Span<unsigned char const>) test/fuzz/rpc.cpp:354:28 dashpay#21 0x558f7544cf0f in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2 dashpay#22 0x558f75c05197 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#23 0x558f75c05197 in LLVMFuzzerTestOneInput test/fuzz/fuzz.cpp:74:5 dashpay#24 0x558f753d8073 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) fuzzer.o dashpay#25 0x558f753c1f72 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) fuzzer.o dashpay#26 0x558f753c7d6a in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) fuzzer.o dashpay#27 0x558f753f3a92 in main (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5a8a92) dashpay#28 0x7f4a3c7e00b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#29 0x558f7539cc9d in _start (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x551c9d) ACKs for top commit: practicalswift: cr ACK fa2e614 Tree-SHA512: cfa120265261f0ad019b46c426b915c1c007806b37aecb27016ce780a0ddea5e6fc9b09065fd40684b11183dcd3bf543558d7a655e604695021653540266baf7
vijaydasmp
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Aug 3, 2023
fa6c114 test: Add sanitizer suppressions for AMD EPYC CPUs (MarcoFalke) Pull request description: Currently the ci system only runs on intel cpus (and some arm devices), but it won't run on CPUs `Using the 'shani(1way,2way)' SHA256 implementation` (excerpt from debug log). For reference, google cloud CPUs (which is what Cirrus CI uses) print `Using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation` The traceback I got: ``` crypto/sha256_shani.cpp:87:18: runtime error: unsigned integer overflow: 0 - 1 cannot be represented in type 'size_t' (aka 'unsigned long') #0 0x55c0000e95ec in sha256_shani::Transform(unsigned int*, unsigned char const*, unsigned long) /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256_shani.cpp:87:18 dashpay#1 0x55bfffb926f8 in (anonymous namespace)::SelfTest() /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256.cpp:517:9 dashpay#2 0x55bfffb906ed in SHA256AutoDetect[abi:cxx11]() /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256.cpp:626:5 dashpay#3 0x55bfff87ab97 in BasicTestingSetup::BasicTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&) /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/util/setup_common.cpp:104:5 dashpay#4 0x55bffe885877 in main /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_main.cpp:52:27 dashpay#5 0x7f20c3bf60b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#6 0x55bffe7a5f6d in _start (/root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_bitcoin-qt+0x1d00f6d) SUMMARY: UndefinedBehaviorSanitizer: unsigned-integer-overflow crypto/sha256_shani.cpp:87:18 in ACKs for top commit: laanwj: Anyhow ACK fa6c114 Tree-SHA512: 968a1d28eedec58c337b1323862f583cb1bcd78c5f03396940b9ab53ded12f8c6652877909aba05ee5586532137418fd817ff979bd7bef6e07856094f9d7f9b1
vijaydasmp
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Aug 3, 2023
fa6c114 test: Add sanitizer suppressions for AMD EPYC CPUs (MarcoFalke) Pull request description: Currently the ci system only runs on intel cpus (and some arm devices), but it won't run on CPUs `Using the 'shani(1way,2way)' SHA256 implementation` (excerpt from debug log). For reference, google cloud CPUs (which is what Cirrus CI uses) print `Using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation` The traceback I got: ``` crypto/sha256_shani.cpp:87:18: runtime error: unsigned integer overflow: 0 - 1 cannot be represented in type 'size_t' (aka 'unsigned long') #0 0x55c0000e95ec in sha256_shani::Transform(unsigned int*, unsigned char const*, unsigned long) /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256_shani.cpp:87:18 dashpay#1 0x55bfffb926f8 in (anonymous namespace)::SelfTest() /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256.cpp:517:9 dashpay#2 0x55bfffb906ed in SHA256AutoDetect[abi:cxx11]() /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256.cpp:626:5 dashpay#3 0x55bfff87ab97 in BasicTestingSetup::BasicTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&) /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/util/setup_common.cpp:104:5 dashpay#4 0x55bffe885877 in main /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_main.cpp:52:27 dashpay#5 0x7f20c3bf60b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#6 0x55bffe7a5f6d in _start (/root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_bitcoin-qt+0x1d00f6d) SUMMARY: UndefinedBehaviorSanitizer: unsigned-integer-overflow crypto/sha256_shani.cpp:87:18 in ACKs for top commit: laanwj: Anyhow ACK fa6c114 Tree-SHA512: 968a1d28eedec58c337b1323862f583cb1bcd78c5f03396940b9ab53ded12f8c6652877909aba05ee5586532137418fd817ff979bd7bef6e07856094f9d7f9b1
vijaydasmp
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Aug 3, 2023
fa6c114 test: Add sanitizer suppressions for AMD EPYC CPUs (MarcoFalke) Pull request description: Currently the ci system only runs on intel cpus (and some arm devices), but it won't run on CPUs `Using the 'shani(1way,2way)' SHA256 implementation` (excerpt from debug log). For reference, google cloud CPUs (which is what Cirrus CI uses) print `Using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation` The traceback I got: ``` crypto/sha256_shani.cpp:87:18: runtime error: unsigned integer overflow: 0 - 1 cannot be represented in type 'size_t' (aka 'unsigned long') #0 0x55c0000e95ec in sha256_shani::Transform(unsigned int*, unsigned char const*, unsigned long) /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256_shani.cpp:87:18 dashpay#1 0x55bfffb926f8 in (anonymous namespace)::SelfTest() /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256.cpp:517:9 dashpay#2 0x55bfffb906ed in SHA256AutoDetect[abi:cxx11]() /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256.cpp:626:5 dashpay#3 0x55bfff87ab97 in BasicTestingSetup::BasicTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&) /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/util/setup_common.cpp:104:5 dashpay#4 0x55bffe885877 in main /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_main.cpp:52:27 dashpay#5 0x7f20c3bf60b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#6 0x55bffe7a5f6d in _start (/root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_bitcoin-qt+0x1d00f6d) SUMMARY: UndefinedBehaviorSanitizer: unsigned-integer-overflow crypto/sha256_shani.cpp:87:18 in ACKs for top commit: laanwj: Anyhow ACK fa6c114 Tree-SHA512: 968a1d28eedec58c337b1323862f583cb1bcd78c5f03396940b9ab53ded12f8c6652877909aba05ee5586532137418fd817ff979bd7bef6e07856094f9d7f9b1
vijaydasmp
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Aug 11, 2023
fa6c114 test: Add sanitizer suppressions for AMD EPYC CPUs (MarcoFalke) Pull request description: Currently the ci system only runs on intel cpus (and some arm devices), but it won't run on CPUs `Using the 'shani(1way,2way)' SHA256 implementation` (excerpt from debug log). For reference, google cloud CPUs (which is what Cirrus CI uses) print `Using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation` The traceback I got: ``` crypto/sha256_shani.cpp:87:18: runtime error: unsigned integer overflow: 0 - 1 cannot be represented in type 'size_t' (aka 'unsigned long') #0 0x55c0000e95ec in sha256_shani::Transform(unsigned int*, unsigned char const*, unsigned long) /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256_shani.cpp:87:18 dashpay#1 0x55bfffb926f8 in (anonymous namespace)::SelfTest() /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256.cpp:517:9 dashpay#2 0x55bfffb906ed in SHA256AutoDetect[abi:cxx11]() /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256.cpp:626:5 dashpay#3 0x55bfff87ab97 in BasicTestingSetup::BasicTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&) /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/util/setup_common.cpp:104:5 dashpay#4 0x55bffe885877 in main /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_main.cpp:52:27 dashpay#5 0x7f20c3bf60b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#6 0x55bffe7a5f6d in _start (/root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_bitcoin-qt+0x1d00f6d) SUMMARY: UndefinedBehaviorSanitizer: unsigned-integer-overflow crypto/sha256_shani.cpp:87:18 in ACKs for top commit: laanwj: Anyhow ACK fa6c114 Tree-SHA512: 968a1d28eedec58c337b1323862f583cb1bcd78c5f03396940b9ab53ded12f8c6652877909aba05ee5586532137418fd817ff979bd7bef6e07856094f9d7f9b1
vijaydasmp
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Aug 24, 2023
fa6c114 test: Add sanitizer suppressions for AMD EPYC CPUs (MarcoFalke) Pull request description: Currently the ci system only runs on intel cpus (and some arm devices), but it won't run on CPUs `Using the 'shani(1way,2way)' SHA256 implementation` (excerpt from debug log). For reference, google cloud CPUs (which is what Cirrus CI uses) print `Using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation` The traceback I got: ``` crypto/sha256_shani.cpp:87:18: runtime error: unsigned integer overflow: 0 - 1 cannot be represented in type 'size_t' (aka 'unsigned long') #0 0x55c0000e95ec in sha256_shani::Transform(unsigned int*, unsigned char const*, unsigned long) /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256_shani.cpp:87:18 dashpay#1 0x55bfffb926f8 in (anonymous namespace)::SelfTest() /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256.cpp:517:9 dashpay#2 0x55bfffb906ed in SHA256AutoDetect[abi:cxx11]() /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256.cpp:626:5 dashpay#3 0x55bfff87ab97 in BasicTestingSetup::BasicTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&) /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/util/setup_common.cpp:104:5 dashpay#4 0x55bffe885877 in main /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_main.cpp:52:27 dashpay#5 0x7f20c3bf60b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#6 0x55bffe7a5f6d in _start (/root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_bitcoin-qt+0x1d00f6d) SUMMARY: UndefinedBehaviorSanitizer: unsigned-integer-overflow crypto/sha256_shani.cpp:87:18 in ACKs for top commit: laanwj: Anyhow ACK fa6c114 Tree-SHA512: 968a1d28eedec58c337b1323862f583cb1bcd78c5f03396940b9ab53ded12f8c6652877909aba05ee5586532137418fd817ff979bd7bef6e07856094f9d7f9b1
PastaPastaPasta
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Aug 30, 2023
fa6c114 test: Add sanitizer suppressions for AMD EPYC CPUs (MarcoFalke) Pull request description: Currently the ci system only runs on intel cpus (and some arm devices), but it won't run on CPUs `Using the 'shani(1way,2way)' SHA256 implementation` (excerpt from debug log). For reference, google cloud CPUs (which is what Cirrus CI uses) print `Using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation` The traceback I got: ``` crypto/sha256_shani.cpp:87:18: runtime error: unsigned integer overflow: 0 - 1 cannot be represented in type 'size_t' (aka 'unsigned long') #0 0x55c0000e95ec in sha256_shani::Transform(unsigned int*, unsigned char const*, unsigned long) /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256_shani.cpp:87:18 dashpay#1 0x55bfffb926f8 in (anonymous namespace)::SelfTest() /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256.cpp:517:9 dashpay#2 0x55bfffb906ed in SHA256AutoDetect[abi:cxx11]() /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/crypto/sha256.cpp:626:5 dashpay#3 0x55bfff87ab97 in BasicTestingSetup::BasicTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&) /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/util/setup_common.cpp:104:5 dashpay#4 0x55bffe885877 in main /root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_main.cpp:52:27 dashpay#5 0x7f20c3bf60b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#6 0x55bffe7a5f6d in _start (/root/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/qt/test/test_bitcoin-qt+0x1d00f6d) SUMMARY: UndefinedBehaviorSanitizer: unsigned-integer-overflow crypto/sha256_shani.cpp:87:18 in ACKs for top commit: laanwj: Anyhow ACK fa6c114 Tree-SHA512: 968a1d28eedec58c337b1323862f583cb1bcd78c5f03396940b9ab53ded12f8c6652877909aba05ee5586532137418fd817ff979bd7bef6e07856094f9d7f9b1
knst
added a commit
to knst/dash
that referenced
this issue
Sep 28, 2023
…igher than Tip Example of new log: ``` 2023-09-28T17:35:50Z GetProjectedMNPayeesAtChainTip WARNING pindex is nullptr due to height=914160 chain height=914159 ``` instead assert call: ``` ... dashpay#6 0x00007ffff7a33b86 in __assert_fail (assertion=0x55555783afd2 "pindex", file=0x5555577f2ed8 "llmq/utils.cpp", line=730, function=0x5555577f2448 "bool llmq::utils::IsMNRewardReallocationActive(const CBlockIndex*)") at ./assert/assert.c:101 dashpay#7 0x0000555555ab7daf in llmq::utils::IsMNRewardReallocationActive (pindex=<optimized out>) at llmq/utils.cpp:730 dashpay#8 0x00005555559458ad in CDeterministicMNList::GetProjectedMNPayees (this=this@entry=0x7fffffffc690, pindex=0x0, nCount=<optimized out>, nCount@entry=2147483647) at evo/deterministicmns.cpp:231 dashpay#9 0x000055555594614f in CDeterministicMNList::GetProjectedMNPayeesAtChainTip (this=this@entry=0x7fffffffc690, nCount=nCount@entry=2147483647) at evo/deterministicmns.cpp:216 dashpay#10 0x00005555558c9f51 in MasternodeList::updateDIP3List (this=this@entry=0x55555908cfd0) at qt/masternodelist.cpp:194 dashpay#11 0x00005555558ca9a0 in MasternodeList::updateDIP3ListScheduled (this=0x55555908cfd0) at qt/masternodelist.cpp:157 dashpay#12 0x000055555684a60f in void doActivate<false>(QObject*, int, void**) () dashpay#13 0x00005555568525b1 in QTimer::timerEvent(QTimerEvent*) () dashpay#14 0x0000555556844ce5 in QObject::event(QEvent*) () dashpay#15 0x0000555556ac3252 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () dashpay#16 0x000055555681e6b8 in QCoreApplication::sendEvent(QObject*, QEvent*) () dashpay#17 0x000055555686de2a in QTimerInfoList::activateTimers() () dashpay#18 0x000055555686be84 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () dashpay#19 0x00005555569bf8a2 in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () dashpay#20 0x000055555681caf6 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () dashpay#21 0x0000555556825f8a in QCoreApplication::exec() () ... ```
knst
added a commit
to knst/dash
that referenced
this issue
Oct 26, 2023
…igher than Tip Example of new log: ``` 2023-09-28T17:35:50Z GetProjectedMNPayeesAtChainTip WARNING pindex is nullptr due to height=914160 chain height=914159 ``` instead assert call: ``` ... dashpay#6 0x00007ffff7a33b86 in __assert_fail (assertion=0x55555783afd2 "pindex", file=0x5555577f2ed8 "llmq/utils.cpp", line=730, function=0x5555577f2448 "bool llmq::utils::IsMNRewardReallocationActive(const CBlockIndex*)") at ./assert/assert.c:101 dashpay#7 0x0000555555ab7daf in llmq::utils::IsMNRewardReallocationActive (pindex=<optimized out>) at llmq/utils.cpp:730 dashpay#8 0x00005555559458ad in CDeterministicMNList::GetProjectedMNPayees (this=this@entry=0x7fffffffc690, pindex=0x0, nCount=<optimized out>, nCount@entry=2147483647) at evo/deterministicmns.cpp:231 dashpay#9 0x000055555594614f in CDeterministicMNList::GetProjectedMNPayeesAtChainTip (this=this@entry=0x7fffffffc690, nCount=nCount@entry=2147483647) at evo/deterministicmns.cpp:216 dashpay#10 0x00005555558c9f51 in MasternodeList::updateDIP3List (this=this@entry=0x55555908cfd0) at qt/masternodelist.cpp:194 dashpay#11 0x00005555558ca9a0 in MasternodeList::updateDIP3ListScheduled (this=0x55555908cfd0) at qt/masternodelist.cpp:157 dashpay#12 0x000055555684a60f in void doActivate<false>(QObject*, int, void**) () dashpay#13 0x00005555568525b1 in QTimer::timerEvent(QTimerEvent*) () dashpay#14 0x0000555556844ce5 in QObject::event(QEvent*) () dashpay#15 0x0000555556ac3252 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () dashpay#16 0x000055555681e6b8 in QCoreApplication::sendEvent(QObject*, QEvent*) () dashpay#17 0x000055555686de2a in QTimerInfoList::activateTimers() () dashpay#18 0x000055555686be84 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () dashpay#19 0x00005555569bf8a2 in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () dashpay#20 0x000055555681caf6 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () dashpay#21 0x0000555556825f8a in QCoreApplication::exec() () ... ```
PastaPastaPasta
pushed a commit
that referenced
this issue
Oct 28, 2023
…r then Tip (#5590) ## Issue being fixed or feature implemented fix: possible assert call if nHeight in CDeterministicMNListDiff is higher than Tip Example of new log: ``` 2023-09-28T17:35:50Z GetProjectedMNPayeesAtChainTip WARNING pindex is nullptr due to height=914160 chain height=914159 ``` instead assert call: ``` ... #6 0x00007ffff7a33b86 in __assert_fail (assertion=0x55555783afd2 "pindex", file=0x5555577f2ed8 "llmq/utils.cpp", line=730, function=0x5555577f2448 "bool llmq::utils::IsMNRewardReallocationActive(const CBlockIndex*)") at ./assert/assert.c:101 #7 0x0000555555ab7daf in llmq::utils::IsMNRewardReallocationActive (pindex=<optimized out>) at llmq/utils.cpp:730 #8 0x00005555559458ad in CDeterministicMNList::GetProjectedMNPayees (this=this@entry=0x7fffffffc690, pindex=0x0, nCount=<optimized out>, nCount@entry=2147483647) at evo/deterministicmns.cpp:231 #9 0x000055555594614f in CDeterministicMNList::GetProjectedMNPayeesAtChainTip (this=this@entry=0x7fffffffc690, nCount=nCount@entry=2147483647) at evo/deterministicmns.cpp:216 #10 0x00005555558c9f51 in MasternodeList::updateDIP3List (this=this@entry=0x55555908cfd0) at qt/masternodelist.cpp:194 #11 0x00005555558ca9a0 in MasternodeList::updateDIP3ListScheduled (this=0x55555908cfd0) at qt/masternodelist.cpp:157 #12 0x000055555684a60f in void doActivate<false>(QObject*, int, void**) () #13 0x00005555568525b1 in QTimer::timerEvent(QTimerEvent*) () #14 0x0000555556844ce5 in QObject::event(QEvent*) () #15 0x0000555556ac3252 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () #16 0x000055555681e6b8 in QCoreApplication::sendEvent(QObject*, QEvent*) () #17 0x000055555686de2a in QTimerInfoList::activateTimers() () #18 0x000055555686be84 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () #19 0x00005555569bf8a2 in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () #20 0x000055555681caf6 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () #21 0x0000555556825f8a in QCoreApplication::exec() () ... ``` ## What was done? ClientModel returns now a pair: MNList and CBlockIndex; so, we always know the which one has been used even if current chain is switched. ## How Has This Been Tested? Run on my localhost from `c034ff0c2606142ba3e8894bc74f693b87374e5c` - aborted with backtrace like above. With both of commit - no assert more. ## Breaking Changes N/A ## Checklist: - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [ ] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone --------- Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
knst
added a commit
to knst/dash
that referenced
this issue
Oct 30, 2023
…igher than Tip - cummulative from dashpay#5590 Example of new log: ``` 2023-09-28T17:35:50Z GetProjectedMNPayeesAtChainTip WARNING pindex is nullptr due to height=914160 chain height=914159 ``` instead assert call: ``` ... dashpay#6 0x00007ffff7a33b86 in __assert_fail (assertion=0x55555783afd2 "pindex", file=0x5555577f2ed8 "llmq/utils.cpp", line=730, function=0x5555577f2448 "bool llmq::utils::IsMNRewardReallocationActive(const CBlockIndex*)") at ./assert/assert.c:101 dashpay#7 0x0000555555ab7daf in llmq::utils::IsMNRewardReallocationActive (pindex=<optimized out>) at llmq/utils.cpp:730 dashpay#8 0x00005555559458ad in CDeterministicMNList::GetProjectedMNPayees (this=this@entry=0x7fffffffc690, pindex=0x0, nCount=<optimized out>, nCount@entry=2147483647) at evo/deterministicmns.cpp:231 dashpay#9 0x000055555594614f in CDeterministicMNList::GetProjectedMNPayeesAtChainTip (this=this@entry=0x7fffffffc690, nCount=nCount@entry=2147483647) at evo/deterministicmns.cpp:216 dashpay#10 0x00005555558c9f51 in MasternodeList::updateDIP3List (this=this@entry=0x55555908cfd0) at qt/masternodelist.cpp:194 dashpay#11 0x00005555558ca9a0 in MasternodeList::updateDIP3ListScheduled (this=0x55555908cfd0) at qt/masternodelist.cpp:157 dashpay#12 0x000055555684a60f in void doActivate<false>(QObject*, int, void**) () dashpay#13 0x00005555568525b1 in QTimer::timerEvent(QTimerEvent*) () dashpay#14 0x0000555556844ce5 in QObject::event(QEvent*) () dashpay#15 0x0000555556ac3252 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () dashpay#16 0x000055555681e6b8 in QCoreApplication::sendEvent(QObject*, QEvent*) () dashpay#17 0x000055555686de2a in QTimerInfoList::activateTimers() () dashpay#18 0x000055555686be84 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () dashpay#19 0x00005555569bf8a2 in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () dashpay#20 0x000055555681caf6 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () dashpay#21 0x0000555556825f8a in QCoreApplication::exec() () ... ``` fix: use g_chainman.m_blockman.LookupBlockIndex for any known block (even wrong tip) fix: handle GetProjectedMNPayees's failures in `MasternodeList::updateDIP3List()` fix: resulting vector in GetProjectedMNPayees grows to the weighted count, should reserve memory accordingly fix: avoid useless loop in GetProjectedMNPayees after mn_rr activation fix: pass proper CBlockIndex from ClientModel fix statusItem
PastaPastaPasta
pushed a commit
that referenced
this issue
Dec 5, 2023
…atures in coinbase (#5752) ## Issue being fixed or feature implemented Now that we have ChainLock sigs in coinbase `VerifyDB()` have to process them. It works most of the time because usually we simply read contributions from quorum db https://github.com/dashpay/dash/blob/develop/src/llmq/quorums.cpp#L385. However, sometimes these contributions aren't available so we try to re-build them https://github.com/dashpay/dash/blob/develop/src/llmq/quorums.cpp#L388. But by the time we call `VerifyDB()` bls worker threads aren't started yet, so we keep pushing jobs into worker's queue but it can't do anything and it halts everything. backtrace: ``` * frame #0: 0x00007fdd85a2873d libc.so.6`syscall at syscall.S:38 frame #1: 0x0000555c41152921 dashd_testnet`std::__atomic_futex_unsigned_base::_M_futex_wait_until(unsigned int*, unsigned int, bool, std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >) + 225 frame #2: 0x0000555c40e22bd2 dashd_testnet`CBLSWorker::BuildQuorumVerificationVector(Span<std::shared_ptr<std::vector<CBLSPublicKey, std::allocator<CBLSPublicKey> > > >, bool) at atomic_futex.h:102:36 frame #3: 0x0000555c40d35567 dashd_testnet`llmq::CQuorumManager::BuildQuorumContributions(std::unique_ptr<llmq::CFinalCommitment, std::default_delete<llmq::CFinalCommitment> > const&, std::shared_ptr<llmq::CQuorum> const&) const at quorums.cpp:419:65 frame #4: 0x0000555c40d3b9d1 dashd_testnet`llmq::CQuorumManager::BuildQuorumFromCommitment(Consensus::LLMQType, gsl::not_null<CBlockIndex const*>) const at quorums.cpp:388:37 frame #5: 0x0000555c40d3c415 dashd_testnet`llmq::CQuorumManager::GetQuorum(Consensus::LLMQType, gsl::not_null<CBlockIndex const*>) const at quorums.cpp:588:37 frame #6: 0x0000555c40d406a9 dashd_testnet`llmq::CQuorumManager::ScanQuorums(Consensus::LLMQType, CBlockIndex const*, unsigned long) const at quorums.cpp:545:64 frame #7: 0x0000555c40937629 dashd_testnet`llmq::CSigningManager::SelectQuorumForSigning(Consensus::LLMQParams const&, llmq::CQuorumManager const&, uint256 const&, int, int) at signing.cpp:1038:90 frame #8: 0x0000555c40937d34 dashd_testnet`llmq::CSigningManager::VerifyRecoveredSig(Consensus::LLMQType, llmq::CQuorumManager const&, int, uint256 const&, uint256 const&, CBLSSignature const&, int) at signing.cpp:1061:113 frame #9: 0x0000555c408e2d43 dashd_testnet`llmq::CChainLocksHandler::VerifyChainLock(llmq::CChainLockSig const&) const at chainlocks.cpp:559:53 frame #10: 0x0000555c40c8b09e dashd_testnet`CheckCbTxBestChainlock(CBlock const&, CBlockIndex const*, llmq::CChainLocksHandler const&, BlockValidationState&) at cbtx.cpp:368:47 frame #11: 0x0000555c40cf75db dashd_testnet`ProcessSpecialTxsInBlock(CBlock const&, CBlockIndex const*, CMNHFManager&, llmq::CQuorumBlockProcessor&, llmq::CChainLocksHandler const&, Consensus::Params const&, CCoinsViewCache const&, bool, bool, BlockValidationState&, std::optional<MNListUpdates>&) at specialtxman.cpp:202:60 frame #12: 0x0000555c40c00a47 dashd_testnet`CChainState::ConnectBlock(CBlock const&, BlockValidationState&, CBlockIndex*, CCoinsViewCache&, bool) at validation.cpp:2179:34 frame #13: 0x0000555c40c0e593 dashd_testnet`CVerifyDB::VerifyDB(CChainState&, CChainParams const&, CCoinsView&, CEvoDB&, int, int) at validation.cpp:4789:41 frame #14: 0x0000555c40851627 dashd_testnet`AppInitMain(std::variant<std::nullopt_t, std::reference_wrapper<NodeContext>, std::reference_wrapper<WalletContext>, std::reference_wrapper<CTxMemPool>, std::reference_wrapper<ChainstateManager>, std::reference_wrapper<CBlockPolicyEstimator>, std::reference_wrapper<LLMQContext> > const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*) at init.cpp:2098:50 frame #15: 0x0000555c4082fe11 dashd_testnet`AppInit(int, char**) at bitcoind.cpp:145:54 frame #16: 0x0000555c40823c64 dashd_testnet`main at bitcoind.cpp:173:20 frame #17: 0x00007fdd85934083 libc.so.6`__libc_start_main(main=(dashd_testnet`main at bitcoind.cpp:160:1), argc=3, argv=0x00007ffcb8ca5b88, init=<unavailable>, fini=<unavailable>, rtld_fini=<unavailable>, stack_end=0x00007ffcb8ca5b78) at libc-start.c:308:16 frame #18: 0x0000555c4082f27e dashd_testnet`_start + 46 ``` Fixes #5741 ## What was done? Start LLMQContext early. Alternative solution could be moving bls worker Start/Stop into llmq context ctor/dtor. ## How Has This Been Tested? I had a node with that issue. This patch fixed it. ## Breaking Changes Not sure, hopefully none. ## Checklist: - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [ ] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
ogabrielides
pushed a commit
to ogabrielides/dash
that referenced
this issue
Dec 5, 2023
…atures in coinbase (dashpay#5752) ## Issue being fixed or feature implemented Now that we have ChainLock sigs in coinbase `VerifyDB()` have to process them. It works most of the time because usually we simply read contributions from quorum db https://github.com/dashpay/dash/blob/develop/src/llmq/quorums.cpp#L385. However, sometimes these contributions aren't available so we try to re-build them https://github.com/dashpay/dash/blob/develop/src/llmq/quorums.cpp#L388. But by the time we call `VerifyDB()` bls worker threads aren't started yet, so we keep pushing jobs into worker's queue but it can't do anything and it halts everything. backtrace: ``` * frame #0: 0x00007fdd85a2873d libc.so.6`syscall at syscall.S:38 frame #1: 0x0000555c41152921 dashd_testnet`std::__atomic_futex_unsigned_base::_M_futex_wait_until(unsigned int*, unsigned int, bool, std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >) + 225 frame #2: 0x0000555c40e22bd2 dashd_testnet`CBLSWorker::BuildQuorumVerificationVector(Span<std::shared_ptr<std::vector<CBLSPublicKey, std::allocator<CBLSPublicKey> > > >, bool) at atomic_futex.h:102:36 frame #3: 0x0000555c40d35567 dashd_testnet`llmq::CQuorumManager::BuildQuorumContributions(std::unique_ptr<llmq::CFinalCommitment, std::default_delete<llmq::CFinalCommitment> > const&, std::shared_ptr<llmq::CQuorum> const&) const at quorums.cpp:419:65 frame #4: 0x0000555c40d3b9d1 dashd_testnet`llmq::CQuorumManager::BuildQuorumFromCommitment(Consensus::LLMQType, gsl::not_null<CBlockIndex const*>) const at quorums.cpp:388:37 frame dashpay#5: 0x0000555c40d3c415 dashd_testnet`llmq::CQuorumManager::GetQuorum(Consensus::LLMQType, gsl::not_null<CBlockIndex const*>) const at quorums.cpp:588:37 frame dashpay#6: 0x0000555c40d406a9 dashd_testnet`llmq::CQuorumManager::ScanQuorums(Consensus::LLMQType, CBlockIndex const*, unsigned long) const at quorums.cpp:545:64 frame dashpay#7: 0x0000555c40937629 dashd_testnet`llmq::CSigningManager::SelectQuorumForSigning(Consensus::LLMQParams const&, llmq::CQuorumManager const&, uint256 const&, int, int) at signing.cpp:1038:90 frame dashpay#8: 0x0000555c40937d34 dashd_testnet`llmq::CSigningManager::VerifyRecoveredSig(Consensus::LLMQType, llmq::CQuorumManager const&, int, uint256 const&, uint256 const&, CBLSSignature const&, int) at signing.cpp:1061:113 frame dashpay#9: 0x0000555c408e2d43 dashd_testnet`llmq::CChainLocksHandler::VerifyChainLock(llmq::CChainLockSig const&) const at chainlocks.cpp:559:53 frame dashpay#10: 0x0000555c40c8b09e dashd_testnet`CheckCbTxBestChainlock(CBlock const&, CBlockIndex const*, llmq::CChainLocksHandler const&, BlockValidationState&) at cbtx.cpp:368:47 frame dashpay#11: 0x0000555c40cf75db dashd_testnet`ProcessSpecialTxsInBlock(CBlock const&, CBlockIndex const*, CMNHFManager&, llmq::CQuorumBlockProcessor&, llmq::CChainLocksHandler const&, Consensus::Params const&, CCoinsViewCache const&, bool, bool, BlockValidationState&, std::optional<MNListUpdates>&) at specialtxman.cpp:202:60 frame dashpay#12: 0x0000555c40c00a47 dashd_testnet`CChainState::ConnectBlock(CBlock const&, BlockValidationState&, CBlockIndex*, CCoinsViewCache&, bool) at validation.cpp:2179:34 frame dashpay#13: 0x0000555c40c0e593 dashd_testnet`CVerifyDB::VerifyDB(CChainState&, CChainParams const&, CCoinsView&, CEvoDB&, int, int) at validation.cpp:4789:41 frame dashpay#14: 0x0000555c40851627 dashd_testnet`AppInitMain(std::variant<std::nullopt_t, std::reference_wrapper<NodeContext>, std::reference_wrapper<WalletContext>, std::reference_wrapper<CTxMemPool>, std::reference_wrapper<ChainstateManager>, std::reference_wrapper<CBlockPolicyEstimator>, std::reference_wrapper<LLMQContext> > const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*) at init.cpp:2098:50 frame dashpay#15: 0x0000555c4082fe11 dashd_testnet`AppInit(int, char**) at bitcoind.cpp:145:54 frame dashpay#16: 0x0000555c40823c64 dashd_testnet`main at bitcoind.cpp:173:20 frame dashpay#17: 0x00007fdd85934083 libc.so.6`__libc_start_main(main=(dashd_testnet`main at bitcoind.cpp:160:1), argc=3, argv=0x00007ffcb8ca5b88, init=<unavailable>, fini=<unavailable>, rtld_fini=<unavailable>, stack_end=0x00007ffcb8ca5b78) at libc-start.c:308:16 frame dashpay#18: 0x0000555c4082f27e dashd_testnet`_start + 46 ``` Fixes dashpay#5741 ## What was done? Start LLMQContext early. Alternative solution could be moving bls worker Start/Stop into llmq context ctor/dtor. ## How Has This Been Tested? I had a node with that issue. This patch fixed it. ## Breaking Changes Not sure, hopefully none. ## Checklist: - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [ ] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
PastaPastaPasta
pushed a commit
that referenced
this issue
Jan 14, 2024
…ferenceable iterator outside its valid range) fa09871 refactor: Avoid sign-compare compiler warning in util/asmap (MarcoFalke) Pull request description: Can be reproduced on current master with `D_GLIBCXX_DEBUG`: ``` /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/debug/safe_iterator.h:883: In function: __gnu_debug::_Safe_iterator<type-parameter-0-0, type-parameter-0-1, std::random_access_iterator_tag>::_Self __gnu_debug::operator+(const __gnu_debug::_Safe_iterator<type-parameter-0-0, type-parameter-0-1, std::random_access_iterator_tag>::_Self &, __gnu_debug::_Safe_iterator<type-parameter-0-0, type-parameter-0-1, std::random_access_iterator_tag>::difference_type) Error: attempt to advance a dereferenceable iterator 369 steps, which falls outside its valid range. Objects involved in the operation: iterator @ 0x0x7ffd3d613138 { type = std::__cxx1998::_Bit_const_iterator (constant iterator); state = dereferenceable; references sequence with type 'std::__debug::vector<bool, std::allocator<bool> >' @ 0x0x7ffd3d663590 } ==65050== ERROR: libFuzzer: deadly signal #0 0x559ab9787690 in __sanitizer_print_stack_trace (/bitcoin/src/test/fuzz/fuzz+0x5a1690) #1 0x559ab9733998 in fuzzer::PrintStackTrace() (/bitcoin/src/test/fuzz/fuzz+0x54d998) #2 0x559ab9718ae3 in fuzzer::Fuzzer::CrashCallback() (/bitcoin/src/test/fuzz/fuzz+0x532ae3) #3 0x7f70a0e723bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) #4 0x7f70a0b3418a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) #5 0x7f70a0b13858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) #6 0x7f70a0f21148 (/lib/x86_64-linux-gnu/libstdc++.so.6+0xa1148) #7 0x559ab9f60a96 in __gnu_debug::operator+(__gnu_debug::_Safe_iterator<std::__cxx1998::_Bit_const_iterator, std::__debug::vector<bool, std::allocator<bool> >, std::random_access_iterator_tag> const&, long) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/debug/safe_iterator.h:881:2 #8 0x559ab9f61062 in SanityCheckASMap(std::__debug::vector<bool, std::allocator<bool> > const&, int) util/asmap.cpp:159:21 #9 0x559ab9e4fdfa in SanityCheckASMap(std::__debug::vector<bool, std::allocator<bool> > const&) netaddress.cpp:1242:12 #10 0x559ab9793fcb in addrman_fuzz_target(Span<unsigned char const>) test/fuzz/addrman.cpp:43:14 #11 0x559ab978a03c in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2 #12 0x559aba2692c7 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 #13 0x559aba269132 in LLVMFuzzerTestOneInput test/fuzz/fuzz.cpp:63:5 #14 0x559ab971a1a1 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/bitcoin/src/test/fuzz/fuzz+0x5341a1) #15 0x559ab97198e5 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) (/bitcoin/src/test/fuzz/fuzz+0x5338e5) #16 0x559ab971bb87 in fuzzer::Fuzzer::MutateAndTestOne() (/bitcoin/src/test/fuzz/fuzz+0x535b87) #17 0x559ab971c885 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) (/bitcoin/src/test/fuzz/fuzz+0x536885) #18 0x559ab970b23e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/bitcoin/src/test/fuzz/fuzz+0x52523e) #19 0x559ab9734082 in main (/bitcoin/src/test/fuzz/fuzz+0x54e082) #20 0x7f70a0b150b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) #21 0x559ab96dffdd in _start (/bitcoin/src/test/fuzz/fuzz+0x4f9fdd) ACKs for top commit: sipa: utACK fa09871 vasild: ACK fa09871 Tree-SHA512: 802fda33bda40fe2521f1e3be075ceddc5fd9ba185bd494286e50019931dfd688da7a6513601138b1dc7bb8e80ae47c8572902406eb59f68990619ddb2656748
PastaPastaPasta
added a commit
that referenced
this issue
Jan 16, 2024
vijaydasmp
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Feb 12, 2024
8963b2c qt: Improve comments in WalletController::getOrCreateWallet() (Hennadii Stepanov) 5fcfee6 qt: Call setParent() in the parent's context (Hennadii Stepanov) 5659e73 qt: Add ObjectInvoke template function (Hennadii Stepanov) Pull request description: The `setParent(parent)` internally calls `QCoreApplication::sendEvent(parent, QChildEvent)` that implies running in the thread which created the parent object. That is not the case always, and an internal assertion fails in the debug mode. Steps to reproduce this issue on master (007e15d) on Linux Mint 20 (x86_64): ``` $ make -C depends DEBUG=1 $ CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure $ make $ QT_FATAL_WARNINGS=1 lldb src/qt/bitcoin-qt -- --regtest -debug=qt (lldb) target create "src/qt/bitcoin-qt" Current executable set to '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64). (lldb) settings set -- target.run-args "--regtest" "-debug=qt" (lldb) run Process 431562 launched: '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64) # load wallet via GUI Process 431562 stopped * thread dashpay#24, name = 'QThread', stop reason = signal SIGABRT frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 (lldb) bt * thread dashpay#24, name = 'QThread', stop reason = signal SIGABRT * frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 frame dashpay#1: 0x00007ffff7924859 libc.so.6`__GI_abort at abort.c:79:7 frame dashpay#2: 0x0000555556508ec4 bitcoin-qt`::qt_message_fatal((null)=<unavailable>, context=<unavailable>, message=<unavailable>) at qlogging.cpp:1690:15 frame dashpay#3: 0x00005555565099cf bitcoin-qt`QMessageLogger::fatal(this=<unavailable>, msg=<unavailable>) const at qlogging.cpp:796:21 frame dashpay#4: 0x000055555650479d bitcoin-qt`qt_assert_x(where=<unavailable>, what=<unavailable>, file=<unavailable>, line=<unavailable>) at qglobal.cpp:3088:46 frame dashpay#5: 0x0000555556685733 bitcoin-qt`QCoreApplicationPrivate::checkReceiverThread(receiver=0x0000555557b27510) at qcoreapplication.cpp:557:5 frame dashpay#6: 0x00005555567ced86 bitcoin-qt`QApplication::notify(this=0x00007fffffffd4a0, receiver=0x0000555557b27510, e=0x00007fff9a7f8ce0) at qapplication.cpp:2956:27 frame dashpay#7: 0x0000555556685d31 bitcoin-qt`QCoreApplication::notifyInternal2(receiver=0x0000555557b27510, event=0x00007fff9a7f8ce0) at qcoreapplication.cpp:1024:24 frame dashpay#8: 0x00005555566c9224 bitcoin-qt`QObjectPrivate::setParent_helper(QObject*) [inlined] QCoreApplication::sendEvent(event=<unavailable>, receiver=<unavailable>) at qcoreapplication.h:233:59 frame dashpay#9: 0x00005555566c9210 bitcoin-qt`QObjectPrivate::setParent_helper(this=0x00007fff85855260, o=0x0000555557b27510) at qobject.cpp:2036 frame dashpay#10: 0x00005555566c9b41 bitcoin-qt`QObject::setParent(this=<unavailable>, parent=<unavailable>) at qobject.cpp:1980:24 frame dashpay#11: 0x0000555555710be8 bitcoin-qt`WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wallet, std::default_delete<interfaces::Wallet> >) + 2534 ... ``` Fixes bitcoin#18835. ACKs for top commit: ryanofsky: Code review ACK 8963b2c. No changes since last review, just rebase because of conflict on some adjacent lines jonasschnelli: utACK 8963b2c Tree-SHA512: fef615904168717df3d8a0bd85eccc3eef990cc3e66c9fa280c8ef08ea009a7cb5a2a4f868ed0be3c0fe5bf683e8465850b5958deb896fdadd22d296186c9586
vijaydasmp
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Feb 13, 2024
8963b2c qt: Improve comments in WalletController::getOrCreateWallet() (Hennadii Stepanov) 5fcfee6 qt: Call setParent() in the parent's context (Hennadii Stepanov) 5659e73 qt: Add ObjectInvoke template function (Hennadii Stepanov) Pull request description: The `setParent(parent)` internally calls `QCoreApplication::sendEvent(parent, QChildEvent)` that implies running in the thread which created the parent object. That is not the case always, and an internal assertion fails in the debug mode. Steps to reproduce this issue on master (007e15d) on Linux Mint 20 (x86_64): ``` $ make -C depends DEBUG=1 $ CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure $ make $ QT_FATAL_WARNINGS=1 lldb src/qt/bitcoin-qt -- --regtest -debug=qt (lldb) target create "src/qt/bitcoin-qt" Current executable set to '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64). (lldb) settings set -- target.run-args "--regtest" "-debug=qt" (lldb) run Process 431562 launched: '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64) # load wallet via GUI Process 431562 stopped * thread dashpay#24, name = 'QThread', stop reason = signal SIGABRT frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 (lldb) bt * thread dashpay#24, name = 'QThread', stop reason = signal SIGABRT * frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 frame dashpay#1: 0x00007ffff7924859 libc.so.6`__GI_abort at abort.c:79:7 frame dashpay#2: 0x0000555556508ec4 bitcoin-qt`::qt_message_fatal((null)=<unavailable>, context=<unavailable>, message=<unavailable>) at qlogging.cpp:1690:15 frame dashpay#3: 0x00005555565099cf bitcoin-qt`QMessageLogger::fatal(this=<unavailable>, msg=<unavailable>) const at qlogging.cpp:796:21 frame dashpay#4: 0x000055555650479d bitcoin-qt`qt_assert_x(where=<unavailable>, what=<unavailable>, file=<unavailable>, line=<unavailable>) at qglobal.cpp:3088:46 frame dashpay#5: 0x0000555556685733 bitcoin-qt`QCoreApplicationPrivate::checkReceiverThread(receiver=0x0000555557b27510) at qcoreapplication.cpp:557:5 frame dashpay#6: 0x00005555567ced86 bitcoin-qt`QApplication::notify(this=0x00007fffffffd4a0, receiver=0x0000555557b27510, e=0x00007fff9a7f8ce0) at qapplication.cpp:2956:27 frame dashpay#7: 0x0000555556685d31 bitcoin-qt`QCoreApplication::notifyInternal2(receiver=0x0000555557b27510, event=0x00007fff9a7f8ce0) at qcoreapplication.cpp:1024:24 frame dashpay#8: 0x00005555566c9224 bitcoin-qt`QObjectPrivate::setParent_helper(QObject*) [inlined] QCoreApplication::sendEvent(event=<unavailable>, receiver=<unavailable>) at qcoreapplication.h:233:59 frame dashpay#9: 0x00005555566c9210 bitcoin-qt`QObjectPrivate::setParent_helper(this=0x00007fff85855260, o=0x0000555557b27510) at qobject.cpp:2036 frame dashpay#10: 0x00005555566c9b41 bitcoin-qt`QObject::setParent(this=<unavailable>, parent=<unavailable>) at qobject.cpp:1980:24 frame dashpay#11: 0x0000555555710be8 bitcoin-qt`WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wallet, std::default_delete<interfaces::Wallet> >) + 2534 ... ``` Fixes bitcoin#18835. ACKs for top commit: ryanofsky: Code review ACK 8963b2c. No changes since last review, just rebase because of conflict on some adjacent lines jonasschnelli: utACK 8963b2c Tree-SHA512: fef615904168717df3d8a0bd85eccc3eef990cc3e66c9fa280c8ef08ea009a7cb5a2a4f868ed0be3c0fe5bf683e8465850b5958deb896fdadd22d296186c9586
vijaydasmp
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Feb 16, 2024
8963b2c qt: Improve comments in WalletController::getOrCreateWallet() (Hennadii Stepanov) 5fcfee6 qt: Call setParent() in the parent's context (Hennadii Stepanov) 5659e73 qt: Add ObjectInvoke template function (Hennadii Stepanov) Pull request description: The `setParent(parent)` internally calls `QCoreApplication::sendEvent(parent, QChildEvent)` that implies running in the thread which created the parent object. That is not the case always, and an internal assertion fails in the debug mode. Steps to reproduce this issue on master (007e15d) on Linux Mint 20 (x86_64): ``` $ make -C depends DEBUG=1 $ CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure $ make $ QT_FATAL_WARNINGS=1 lldb src/qt/bitcoin-qt -- --regtest -debug=qt (lldb) target create "src/qt/bitcoin-qt" Current executable set to '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64). (lldb) settings set -- target.run-args "--regtest" "-debug=qt" (lldb) run Process 431562 launched: '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64) # load wallet via GUI Process 431562 stopped * thread dashpay#24, name = 'QThread', stop reason = signal SIGABRT frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 (lldb) bt * thread dashpay#24, name = 'QThread', stop reason = signal SIGABRT * frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 frame dashpay#1: 0x00007ffff7924859 libc.so.6`__GI_abort at abort.c:79:7 frame dashpay#2: 0x0000555556508ec4 bitcoin-qt`::qt_message_fatal((null)=<unavailable>, context=<unavailable>, message=<unavailable>) at qlogging.cpp:1690:15 frame dashpay#3: 0x00005555565099cf bitcoin-qt`QMessageLogger::fatal(this=<unavailable>, msg=<unavailable>) const at qlogging.cpp:796:21 frame dashpay#4: 0x000055555650479d bitcoin-qt`qt_assert_x(where=<unavailable>, what=<unavailable>, file=<unavailable>, line=<unavailable>) at qglobal.cpp:3088:46 frame dashpay#5: 0x0000555556685733 bitcoin-qt`QCoreApplicationPrivate::checkReceiverThread(receiver=0x0000555557b27510) at qcoreapplication.cpp:557:5 frame dashpay#6: 0x00005555567ced86 bitcoin-qt`QApplication::notify(this=0x00007fffffffd4a0, receiver=0x0000555557b27510, e=0x00007fff9a7f8ce0) at qapplication.cpp:2956:27 frame dashpay#7: 0x0000555556685d31 bitcoin-qt`QCoreApplication::notifyInternal2(receiver=0x0000555557b27510, event=0x00007fff9a7f8ce0) at qcoreapplication.cpp:1024:24 frame dashpay#8: 0x00005555566c9224 bitcoin-qt`QObjectPrivate::setParent_helper(QObject*) [inlined] QCoreApplication::sendEvent(event=<unavailable>, receiver=<unavailable>) at qcoreapplication.h:233:59 frame dashpay#9: 0x00005555566c9210 bitcoin-qt`QObjectPrivate::setParent_helper(this=0x00007fff85855260, o=0x0000555557b27510) at qobject.cpp:2036 frame dashpay#10: 0x00005555566c9b41 bitcoin-qt`QObject::setParent(this=<unavailable>, parent=<unavailable>) at qobject.cpp:1980:24 frame dashpay#11: 0x0000555555710be8 bitcoin-qt`WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wallet, std::default_delete<interfaces::Wallet> >) + 2534 ... ``` Fixes bitcoin#18835. ACKs for top commit: ryanofsky: Code review ACK 8963b2c. No changes since last review, just rebase because of conflict on some adjacent lines jonasschnelli: utACK 8963b2c Tree-SHA512: fef615904168717df3d8a0bd85eccc3eef990cc3e66c9fa280c8ef08ea009a7cb5a2a4f868ed0be3c0fe5bf683e8465850b5958deb896fdadd22d296186c9586
vijaydasmp
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Feb 16, 2024
8963b2c qt: Improve comments in WalletController::getOrCreateWallet() (Hennadii Stepanov) 5fcfee6 qt: Call setParent() in the parent's context (Hennadii Stepanov) 5659e73 qt: Add ObjectInvoke template function (Hennadii Stepanov) Pull request description: The `setParent(parent)` internally calls `QCoreApplication::sendEvent(parent, QChildEvent)` that implies running in the thread which created the parent object. That is not the case always, and an internal assertion fails in the debug mode. Steps to reproduce this issue on master (007e15d) on Linux Mint 20 (x86_64): ``` $ make -C depends DEBUG=1 $ CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure $ make $ QT_FATAL_WARNINGS=1 lldb src/qt/bitcoin-qt -- --regtest -debug=qt (lldb) target create "src/qt/bitcoin-qt" Current executable set to '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64). (lldb) settings set -- target.run-args "--regtest" "-debug=qt" (lldb) run Process 431562 launched: '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64) # load wallet via GUI Process 431562 stopped * thread dashpay#24, name = 'QThread', stop reason = signal SIGABRT frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 (lldb) bt * thread dashpay#24, name = 'QThread', stop reason = signal SIGABRT * frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 frame dashpay#1: 0x00007ffff7924859 libc.so.6`__GI_abort at abort.c:79:7 frame dashpay#2: 0x0000555556508ec4 bitcoin-qt`::qt_message_fatal((null)=<unavailable>, context=<unavailable>, message=<unavailable>) at qlogging.cpp:1690:15 frame dashpay#3: 0x00005555565099cf bitcoin-qt`QMessageLogger::fatal(this=<unavailable>, msg=<unavailable>) const at qlogging.cpp:796:21 frame dashpay#4: 0x000055555650479d bitcoin-qt`qt_assert_x(where=<unavailable>, what=<unavailable>, file=<unavailable>, line=<unavailable>) at qglobal.cpp:3088:46 frame dashpay#5: 0x0000555556685733 bitcoin-qt`QCoreApplicationPrivate::checkReceiverThread(receiver=0x0000555557b27510) at qcoreapplication.cpp:557:5 frame dashpay#6: 0x00005555567ced86 bitcoin-qt`QApplication::notify(this=0x00007fffffffd4a0, receiver=0x0000555557b27510, e=0x00007fff9a7f8ce0) at qapplication.cpp:2956:27 frame dashpay#7: 0x0000555556685d31 bitcoin-qt`QCoreApplication::notifyInternal2(receiver=0x0000555557b27510, event=0x00007fff9a7f8ce0) at qcoreapplication.cpp:1024:24 frame dashpay#8: 0x00005555566c9224 bitcoin-qt`QObjectPrivate::setParent_helper(QObject*) [inlined] QCoreApplication::sendEvent(event=<unavailable>, receiver=<unavailable>) at qcoreapplication.h:233:59 frame dashpay#9: 0x00005555566c9210 bitcoin-qt`QObjectPrivate::setParent_helper(this=0x00007fff85855260, o=0x0000555557b27510) at qobject.cpp:2036 frame dashpay#10: 0x00005555566c9b41 bitcoin-qt`QObject::setParent(this=<unavailable>, parent=<unavailable>) at qobject.cpp:1980:24 frame dashpay#11: 0x0000555555710be8 bitcoin-qt`WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wallet, std::default_delete<interfaces::Wallet> >) + 2534 ... ``` Fixes bitcoin#18835. ACKs for top commit: ryanofsky: Code review ACK 8963b2c. No changes since last review, just rebase because of conflict on some adjacent lines jonasschnelli: utACK 8963b2c Tree-SHA512: fef615904168717df3d8a0bd85eccc3eef990cc3e66c9fa280c8ef08ea009a7cb5a2a4f868ed0be3c0fe5bf683e8465850b5958deb896fdadd22d296186c9586
vijaydasmp
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Feb 19, 2024
8963b2c qt: Improve comments in WalletController::getOrCreateWallet() (Hennadii Stepanov) 5fcfee6 qt: Call setParent() in the parent's context (Hennadii Stepanov) 5659e73 qt: Add ObjectInvoke template function (Hennadii Stepanov) Pull request description: The `setParent(parent)` internally calls `QCoreApplication::sendEvent(parent, QChildEvent)` that implies running in the thread which created the parent object. That is not the case always, and an internal assertion fails in the debug mode. Steps to reproduce this issue on master (007e15d) on Linux Mint 20 (x86_64): ``` $ make -C depends DEBUG=1 $ CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure $ make $ QT_FATAL_WARNINGS=1 lldb src/qt/bitcoin-qt -- --regtest -debug=qt (lldb) target create "src/qt/bitcoin-qt" Current executable set to '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64). (lldb) settings set -- target.run-args "--regtest" "-debug=qt" (lldb) run Process 431562 launched: '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64) # load wallet via GUI Process 431562 stopped * thread dashpay#24, name = 'QThread', stop reason = signal SIGABRT frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 (lldb) bt * thread dashpay#24, name = 'QThread', stop reason = signal SIGABRT * frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 frame dashpay#1: 0x00007ffff7924859 libc.so.6`__GI_abort at abort.c:79:7 frame dashpay#2: 0x0000555556508ec4 bitcoin-qt`::qt_message_fatal((null)=<unavailable>, context=<unavailable>, message=<unavailable>) at qlogging.cpp:1690:15 frame dashpay#3: 0x00005555565099cf bitcoin-qt`QMessageLogger::fatal(this=<unavailable>, msg=<unavailable>) const at qlogging.cpp:796:21 frame dashpay#4: 0x000055555650479d bitcoin-qt`qt_assert_x(where=<unavailable>, what=<unavailable>, file=<unavailable>, line=<unavailable>) at qglobal.cpp:3088:46 frame dashpay#5: 0x0000555556685733 bitcoin-qt`QCoreApplicationPrivate::checkReceiverThread(receiver=0x0000555557b27510) at qcoreapplication.cpp:557:5 frame dashpay#6: 0x00005555567ced86 bitcoin-qt`QApplication::notify(this=0x00007fffffffd4a0, receiver=0x0000555557b27510, e=0x00007fff9a7f8ce0) at qapplication.cpp:2956:27 frame dashpay#7: 0x0000555556685d31 bitcoin-qt`QCoreApplication::notifyInternal2(receiver=0x0000555557b27510, event=0x00007fff9a7f8ce0) at qcoreapplication.cpp:1024:24 frame dashpay#8: 0x00005555566c9224 bitcoin-qt`QObjectPrivate::setParent_helper(QObject*) [inlined] QCoreApplication::sendEvent(event=<unavailable>, receiver=<unavailable>) at qcoreapplication.h:233:59 frame dashpay#9: 0x00005555566c9210 bitcoin-qt`QObjectPrivate::setParent_helper(this=0x00007fff85855260, o=0x0000555557b27510) at qobject.cpp:2036 frame dashpay#10: 0x00005555566c9b41 bitcoin-qt`QObject::setParent(this=<unavailable>, parent=<unavailable>) at qobject.cpp:1980:24 frame dashpay#11: 0x0000555555710be8 bitcoin-qt`WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wallet, std::default_delete<interfaces::Wallet> >) + 2534 ... ``` Fixes bitcoin#18835. ACKs for top commit: ryanofsky: Code review ACK 8963b2c. No changes since last review, just rebase because of conflict on some adjacent lines jonasschnelli: utACK 8963b2c Tree-SHA512: fef615904168717df3d8a0bd85eccc3eef990cc3e66c9fa280c8ef08ea009a7cb5a2a4f868ed0be3c0fe5bf683e8465850b5958deb896fdadd22d296186c9586
PastaPastaPasta
pushed a commit
to vijaydasmp/dash
that referenced
this issue
Feb 21, 2024
8963b2c qt: Improve comments in WalletController::getOrCreateWallet() (Hennadii Stepanov) 5fcfee6 qt: Call setParent() in the parent's context (Hennadii Stepanov) 5659e73 qt: Add ObjectInvoke template function (Hennadii Stepanov) Pull request description: The `setParent(parent)` internally calls `QCoreApplication::sendEvent(parent, QChildEvent)` that implies running in the thread which created the parent object. That is not the case always, and an internal assertion fails in the debug mode. Steps to reproduce this issue on master (007e15d) on Linux Mint 20 (x86_64): ``` $ make -C depends DEBUG=1 $ CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure $ make $ QT_FATAL_WARNINGS=1 lldb src/qt/bitcoin-qt -- --regtest -debug=qt (lldb) target create "src/qt/bitcoin-qt" Current executable set to '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64). (lldb) settings set -- target.run-args "--regtest" "-debug=qt" (lldb) run Process 431562 launched: '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64) # load wallet via GUI Process 431562 stopped * thread dashpay#24, name = 'QThread', stop reason = signal SIGABRT frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 (lldb) bt * thread dashpay#24, name = 'QThread', stop reason = signal SIGABRT * frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 frame dashpay#1: 0x00007ffff7924859 libc.so.6`__GI_abort at abort.c:79:7 frame dashpay#2: 0x0000555556508ec4 bitcoin-qt`::qt_message_fatal((null)=<unavailable>, context=<unavailable>, message=<unavailable>) at qlogging.cpp:1690:15 frame dashpay#3: 0x00005555565099cf bitcoin-qt`QMessageLogger::fatal(this=<unavailable>, msg=<unavailable>) const at qlogging.cpp:796:21 frame dashpay#4: 0x000055555650479d bitcoin-qt`qt_assert_x(where=<unavailable>, what=<unavailable>, file=<unavailable>, line=<unavailable>) at qglobal.cpp:3088:46 frame dashpay#5: 0x0000555556685733 bitcoin-qt`QCoreApplicationPrivate::checkReceiverThread(receiver=0x0000555557b27510) at qcoreapplication.cpp:557:5 frame dashpay#6: 0x00005555567ced86 bitcoin-qt`QApplication::notify(this=0x00007fffffffd4a0, receiver=0x0000555557b27510, e=0x00007fff9a7f8ce0) at qapplication.cpp:2956:27 frame dashpay#7: 0x0000555556685d31 bitcoin-qt`QCoreApplication::notifyInternal2(receiver=0x0000555557b27510, event=0x00007fff9a7f8ce0) at qcoreapplication.cpp:1024:24 frame dashpay#8: 0x00005555566c9224 bitcoin-qt`QObjectPrivate::setParent_helper(QObject*) [inlined] QCoreApplication::sendEvent(event=<unavailable>, receiver=<unavailable>) at qcoreapplication.h:233:59 frame dashpay#9: 0x00005555566c9210 bitcoin-qt`QObjectPrivate::setParent_helper(this=0x00007fff85855260, o=0x0000555557b27510) at qobject.cpp:2036 frame dashpay#10: 0x00005555566c9b41 bitcoin-qt`QObject::setParent(this=<unavailable>, parent=<unavailable>) at qobject.cpp:1980:24 frame dashpay#11: 0x0000555555710be8 bitcoin-qt`WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wallet, std::default_delete<interfaces::Wallet> >) + 2534 ... ``` Fixes bitcoin#18835. ACKs for top commit: ryanofsky: Code review ACK 8963b2c. No changes since last review, just rebase because of conflict on some adjacent lines jonasschnelli: utACK 8963b2c Tree-SHA512: fef615904168717df3d8a0bd85eccc3eef990cc3e66c9fa280c8ef08ea009a7cb5a2a4f868ed0be3c0fe5bf683e8465850b5958deb896fdadd22d296186c9586
PastaPastaPasta
added a commit
that referenced
this issue
May 24, 2024
…o 5.15.11 - fix crash at Kubuntu 24.04 b85fc45 Merge bitcoin#28769: build: Update `qt` package up to 5.15.11 (fanquake) Pull request description: ## Issue being fixed or feature implemented It fixes crash of qt app on Kubuntu 24.04 ``` *** buffer overflow detected ***: terminated #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #3 0x00007ffff764526e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #4 0x00007ffff76288ff in __GI_abort () at ./stdlib/abort.c:79 #5 0x00007ffff76297b6 in __libc_message_impl (fmt=fmt@entry=0x7ffff77ce765 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:132 #6 0x00007ffff7736c19 in __GI___fortify_fail (msg=msg@entry=0x7ffff77ce74c "buffer overflow detected") at ./debug/fortify_fail.c:24 #7 0x00007ffff77365d4 in __GI___chk_fail () at ./debug/chk_fail.c:28 #8 0x00007ffff7737a67 in __readlink_chk (path=<optimized out>, buf=<optimized out>, len=<optimized out>, buflen=<optimized out>) at ./debug/readlink_chk.c:31 #9 0x0000555556988ab3 in qt_readlink(char const*) () #10 0x0000555556a1f18b in QLockFilePrivate::processNameByPid(long long) () #11 0x0000555556a1aa7b in QLockFilePrivate::lockFileContents() const () #12 0x0000555556a1eccf in QLockFilePrivate::tryLock_sys() () #13 0x0000555556a1bf01 in QLockFile::tryLock(int) () #14 0x0000555556a1c094 in QLockFile::tryLock(int) () #15 0x0000555556a1c094 in QLockFile::tryLock(int) () #16 0x00005555568d8dd3 in QConfFileSettingsPrivate::syncConfFile(QConfFile*) () #17 0x00005555568d9753 in QConfFileSettingsPrivate::sync() () #18 0x00005555568c8ef5 in QSettings::~QSettings() () #19 0x0000555555721f82 in Intro::showIfNeeded (did_show_intro=<optimized out>, prune_MiB=@0x7fffffffd2f0: 0) at qt/intro.cpp:275 #20 0x00005555556ddab6 in GuiMain (argc=3, argv=0x7fffffffd828) at qt/bitcoin.cpp:629 #21 0x00007ffff762a1ca in __libc_start_call_main (main=main@entry=0x5555556d7f00 <main(int, char**)>, argc=argc@entry=3, argv=argv@entry=0x7fffffffd828) at ../sysdeps/nptl/libc_start_call_main.h:58 #22 0x00007ffff762a28b in __libc_start_main_impl (main=0x5555556d7f00 <main(int, char**)>, argc=3, argv=0x7fffffffd828, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffd818) at ../csu/libc-start.c:360 #23 0x00005555556d7e35 in _start () ``` Every usage of `QSettings` cause this crash on one of my PC, but not other. `-resetguisettings` doesn't help. gcc/clang - same crash. Removing data doesn't help. ## What was done? Bump QT to the newer version. See also related PR: #6011 ## How Has This Been Tested? Build & Run ## Breaking Changes N/A ## Checklist: - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [ ] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone Top commit has no ACKs. Tree-SHA512: 3a9024a860c11aa7a48bfb36b3f29772feb6ff458ecbc0faffe774af08e6c7db5754048b0db2bf8713faf4cba861794b2855931416b8cd77389b31f1e47b8aad
PastaPastaPasta
added a commit
that referenced
this issue
Jun 27, 2024
…fic code, merge bitcoin#21866 (goodbye to a global chainstate) 0213fbe merge bitcoin#21866: Farewell, global Chainstate! (Kittywhiskers Van Gogh) e3687f7 test, bench: remove globals vCoins and testWallet from test and bench (Kittywhiskers Van Gogh) 0f4184c refactor: drop usage of chainstate globals in spork logic (Kittywhiskers Van Gogh) 208b1c0 refactor: drop usage of chainstate globals in masternode logic (Kittywhiskers Van Gogh) 303c6bb refactor: drop usage of chainstate globals in llmq logic (Kittywhiskers Van Gogh) fa20718 refactor: drop usage of chainstate globals in asset locks logic (Kittywhiskers Van Gogh) 21cc12c refactor: drop usage of chainstate globals in governance logic (Kittywhiskers Van Gogh) a475f5f refactor: drop usage of chainstate globals in coinjoin logic (Kittywhiskers Van Gogh) ed56dbd refactor: don't use globals to access members we can directly access (Kittywhiskers Van Gogh) c48c0e7 refactor: stop using `::ChainstateActive()` in `GetBlockHash` (Kittywhiskers Van Gogh) 6abf7f8 refactor: stop using `::Chain`{`state`}`Active()` in `GetUTXO*` (Kittywhiskers Van Gogh) f6f7df3 rpc: don't use GetUTXOCoin in CDeterministicMN::ToJson() (Kittywhiskers Van Gogh) Pull request description: ``` Thank you, I'll say goodbye soon Though its the end of these globals, don't blame yourself now And if its true, I will surround you and give life to a chainstate That's our own ``` ## Additional Information * In `CDeterministicMN::ToJson()`, `collateralAddress` is extracted by finding the `scriptPubKey` of a transaction output for a masternode, originally this used `GetUTXOCoin` but doesn't work for spent tranasction outputs (as they're _not_ UTXOs), so in [dash#5607](#5607), a fallback was introduced that looks through the general transaction set if going through the UTXO set yielded nothing. `GetUTXOCoin` accesses the active chainstate to get ahold of the UTXO set, this was done through globals. The removal of chainstate globals meant that whoever was calling `GetUTXOCoin` should have access to the chainstate handy. This is trivial in RPC code where `ToJson()` is used ([source](https://github.com/dashpay/dash/blob/5baa5222258f5cf2be0a3ce0f335dfd2fee931bc/src/rpc/evo.cpp#L1286)) through `Ensure`(`Any`)`Chainman`. Not the case in Qt code ([source](https://github.com/dashpay/dash/blob/5baa5222258f5cf2be0a3ce0f335dfd2fee931bc/src/qt/masternodelist.cpp#L369)), which is supposed to be given restricted access to information by the interface. As the fallback seems to be capable of fetching UTXOs and spent outputs, we can remove the `GetUTXOCoin` method and make the fallback the only method. * In `develop`, as of this writing, `CChainState` members `FlushStateToDisk` and {`Enforce`, `Invalidate`, `MarkConflicting`}`Block` were accessing their internals through the global, despite having direct access to them. As the globals they were calling are going to be bid farewell, they needed to be changed to access its members instead. The reason for going the roundabout way is unknown. * `CDSNotificationInterface` takes in a `ChainstateManager` (instead of the `CChainState` it actually requires) as at the time of interface initialization ([source](https://github.com/dashpay/dash/blob/5baa5222258f5cf2be0a3ce0f335dfd2fee931bc/src/init.cpp#L1915-L1918)), the active chainstate hasn't been loaded in yet as that happens further down ([source](https://github.com/dashpay/dash/blob/5baa5222258f5cf2be0a3ce0f335dfd2fee931bc/src/init.cpp#L1988-L1991)). As `CDSNotificationInterface::InitializeCurrentBlockTip()` is called well after it is initialized, we can resolve to the active chainstate in there. * As `GetCreditPoolDiffForBlock` requires access to `ChainstateManager` as `GetCreditPoolDiffForBlock` > `ProcessLockUnlockTransaction` > `CheckAssetLockUnlockTx` > `CheckAssetUnlockTx` > `ChainstateManager::m_blockman.LookupBlockIndex()` and `BlockAssembler` only has `CChainState`, it had to be reworked around `ChainstateManager`. ~~`CChainState` is passed as a direct argument while `ChainstateManager` can be fetched from `NodeContext`. Unlike `CTxMemPool`, which can be passed custom instances ([source](https://github.com/dashpay/dash/blob/5baa5222258f5cf2be0a3ce0f335dfd2fee931bc/src/rpc/mining.cpp#L381-L382), [source](https://github.com/dashpay/dash/blob/5baa5222258f5cf2be0a3ce0f335dfd2fee931bc/src/test/util/setup_common.cpp#L391-L392)), `CChainState`'s argument value is taken from `NodeContext::chainstate.ActiveChainstate()` and since we're now accepting `ChainstateManager` wholesale, we can dispense with accepting `CChainState` as an argument.~~ ~~Changes to that effect have been made.~~ AssumeUTXO introduces the need to be able to use different `CChainState`s, so this underlying assumption no longer holds true, the above described changes have been reverted. Asset locks code has been refactored to use `BlockManager` directly (which does come with the downside of needing to hold `cs_main` for longer than strictly necessary, this is why only asset locks uses `BlockManager` directly while other cases still benefit from having `ChainstateManager` as a whole). * `CMNHFManager::ConnectManagers` will be taking in a `ChainstateManager` pointer due to the `GetSignalsStage` > `GetForBlock` > `ProcessBlock` > `extractSignals` > `CheckMNHFTx` > `ChainstateManager::m_blockman.LookupBlockIndex()` chain. * The use of a bespoke `NodeContext` in `coinselector_tests` breaks tests if any interface call relies on a chainstate as `testNode` doesn't initialize one. For the most part, this was masked by `WalletTestingSetup` populating the chainstate globals from its own `NodeContext` even if the tests themselves preferred to use their own stripped down `testNode`. Though, removing the chainstate globals meant that they can no longer rely on `WalletTestingSetup`'s `NodeContext` to mask the barebones `testNode` global being used in the test (specifically, `addCoins` > `listMNCollaterials` > `ChainActive()` worked because `ChainActive()` accessed `WalletTestingSetup`'s `NodeContext` but when `ChainActive()` was gone and replaced with `NodeContext::chainman.ActiveChain()`, it uses `testNode`'s `ChainstateManager`, which doesn't exist, which causes it to crash). To remedy this, a5595b1 and 5e54aa9 from [bitcoin#23288](bitcoin#23288) were adapted for the limited purpose of eliminating `testNode` and using `WalletTestingSetup`'s `NodeContext` instead. This comes with the unfortunate effect of skipping a lot of the refactoring, cleanups and optimizations done before and adapting the ones after them non-trivial. It is therefore best recommended that the commit be reverted and changes implemented step-by-step in a pull request at some point in the future. For now, it's kept around here for the sake of this pull request, which, if merged, should prevent more chainstate globals use from leaking into the codebase. <details> <summary>Pre-fix crash stacktrace: </summary> ``` dash@71aecd6afb45:/src/dash$ lldb-16 ./src/test/test_dash (lldb) target create "./src/test/test_dash" Current executable set to '/src/dash/src/test/test_dash' (x86_64). (lldb) r -t coinselector_tests Process 395006 launched: '/src/dash/src/test/test_dash' (x86_64) Running 4 test cases... node/interfaces.cpp:711 chainman: Assertion `m_node.chainman' failed. Process 395006 stopped * thread #1, name = 'd-test', stop reason = signal SIGABRT frame #0: 0x00007ffff7a7300b libc.so.6`__GI_raise(sig=<unavailable>) at raise.c:51:1 (lldb) bt * thread #1, name = 'd-test', stop reason = signal SIGABRT * frame #0: 0x00007ffff7a7300b libc.so.6`__GI_raise(sig=<unavailable>) at raise.c:51:1 frame #1: 0x00007ffff7a52859 libc.so.6`__GI_abort at abort.c:79:7 frame #2: 0x00005555563cba33 test_dash`assertion_fail(file="node/interfaces.cpp", line=711, func="chainman", assertion="m_node.chainman") at check.cpp:13:5 frame #3: 0x0000555555fb47aa test_dash`node::(anonymous namespace)::ChainImpl::listMNCollaterials(std::vector<std::pair<std::shared_ptr<CTransaction const> const&, unsigned int>, std::allocator<std::pair<std::shared_ptr<CTransaction const> const&, unsigned int>>> const&) [inlined] std::unique_ptr<ChainstateManager, std::default_delete<ChainstateManager>>& inline_assertion_check<true, std::unique_ptr<ChainstateManager, std::default_delete<ChainstateManager>>&>(val=nullptr, file=<unavailable>, line=711, func=<unavailable>, assertion=<unavailable>) at check.h:62:13 frame #4: 0x0000555555fb4781 test_dash`node::(anonymous namespace)::ChainImpl::listMNCollaterials(std::vector<std::pair<std::shared_ptr<CTransaction const> const&, unsigned int>, std::allocator<std::pair<std::shared_ptr<CTransaction const> const&, unsigned int>>> const&) [inlined] node::(anonymous namespace)::ChainImpl::chainman(this=0x000055555723e830)at interfaces.cpp:711:45 frame #5: 0x0000555555fb477d test_dash`node::(anonymous namespace)::ChainImpl::listMNCollaterials(std::vector<std::pair<std::shared_ptr<CTransaction const> const&, unsigned int>, std::allocator<std::pair<std::shared_ptr<CTransaction const> const&, unsigned int>>> const&) [inlined] node::(anonymous namespace)::ChainImpl::listMNCollaterials(this=<unavailable>)::'lambda'()::operator()() const at interfaces.cpp:788:34 frame #6: 0x0000555555fb474f test_dash`node::(anonymous namespace)::ChainImpl::listMNCollaterials(this=0x000055555723e830, outputs=size=0) at interfaces.cpp:788:34 frame #7: 0x00005555565bcd07 test_dash`CWallet::AddToWallet(this=0x00005555571701e0, tx=<unavailable>, confirm=<unavailable>, update_wtx=<unavailable>, fFlushOnClose=<unavailable>) at wallet.cpp:886:46 frame #8: 0x0000555555bed3ef test_dash`coinselector_tests::add_coin(wallet=0x00005555571701e0, nValue=0x00007fffffffc7c0, nAge=144, fIsFromMe=false, nInput=0, spendable=<unavailable>) at coinselector_tests.cpp:77:29 frame #9: 0x0000555555bead3e test_dash`coinselector_tests::bnb_search_test::test_method() [inlined] coinselector_tests::add_coin(nValue=0x00007fffffffc7c0, nAge=144, fIsFromMe=false, nInput=0, spendable=false) at coinselector_tests.cpp:88:5 frame #10: 0x0000555555bead20 test_dash`coinselector_tests::bnb_search_test::test_method(this=0x00007fffffffcad0) at coinselector_tests.cpp:278:5 frame #11: 0x0000555555be6607 test_dash`coinselector_tests::bnb_search_test_invoker() at coinselector_tests.cpp:138:1 ``` </details> ## Breaking Changes * Backporting `coinselector_tests` changes are now much more annoying. * The following RPCs, `protx list`, `protx listdiff`, `protx info` will no longer report `collateralAddress` if the transaction index has been disabled (`txindex=0`). ## Checklist: - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)** - [x] I have added or updated relevant unit/integration/functional/e2e tests - [x] I have made corresponding changes to the documentation **(note: N/A)** - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ ACKs for top commit: UdjinM6: utACK 0213fbe knst: utACK 0213fbe PastaPastaPasta: utACK 0213fbe Tree-SHA512: 839f3f5b2af018520f330c4f4727622471d6225640c98853f28c3d88c4b6c728091b5e0c35b320e82979e5cd1357902fa1212afa4b6977967f05c636a25cc3b0
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hey @darkcoinproject, would it be possible for you to add automatic updates of the DarkCoin-Wallet software? I would like to always be on the bleeding edge without having to visit your website each time to grab the latest
darkcoin-qt
binary. Thank you so much for developing this, works great on openSUSE!The text was updated successfully, but these errors were encountered: