< gmaxwell> Patches to AFL that let you target specific parts of code, e.g. to fuzz test a patch: https://github.com/aflgo/aflgo
< ossifrage> FYI the twitching "Reindexing blocks on disk..." did not damp out as I made progress, now it is at 76% and twitching between 7 and 30 weeks
< bitcoin-git> [bitcoin] Gazer022 opened pull request #11384: Merge pull request #1 from bitcoin/master (master...master) https://github.com/bitcoin/bitcoin/pull/11384
< bitcoin-git> [bitcoin] Gazer022 closed pull request #11384: Merge pull request #1 from bitcoin/master (master...master) https://github.com/bitcoin/bitcoin/pull/11384
< bitcoin-git> [bitcoin] sipa pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/49f3d57eeb66...6c4fecfaf7be
< bitcoin-git> bitcoin/master 2a07f87 Dan Raviv: Refactor: Modernize disallowed copy constructors/assignment...
< bitcoin-git> bitcoin/master 6c4fecf Pieter Wuille: Merge #11351: Refactor: Modernize disallowed copy constructors/assignment...
< bitcoin-git> [bitcoin] sipa closed pull request #11351: Refactor: Modernize disallowed copy constructors/assignment (master...refactor/modernize-no-copy) https://github.com/bitcoin/bitcoin/pull/11351
< bitcoin-git> [bitcoin] sipa opened pull request #11385: Remove some unused functions and methods (master...201709_misc_cleanups) https://github.com/bitcoin/bitcoin/pull/11385
< sipa> question: how to deal with existing tests that use getnewaddress/sendtoaddress? they often don't work without modification, as spends from segwit outputs don't work before segwit activates (in block 432 on regtest)
< sipa> 1) force all tests to stick with legacy addresses
< sipa> 2) make getnewaddress etc fall back to legacy addresses before segwit activation (but that's not something you want on mainnet, as it could lead to accidentally creating a legacy address if you're too fast
< sipa> 3) have an cmdline argument to make segwit activate from genesis in regtest (which would be on by default, excepr for tests that actually test the transition)
< sipa> 4) use -prematurewitness liberally, for cases where it's only wallet logic that is being tested (not validation/consensus)
< sipa> 5) adapt all tests to mine enough blocks up front (but that's a lot of changes... getbalance calls everywhere)
< jl2012> sipa: I think 3) is the best, as it could also show all existing tests pass with the segwit getnewaddress
< bitcoin-git> [bitcoin] MarcoFalke closed pull request #11343: added `-walletallowsymboliclink` (default false) (0.15...wallet-allow-symbolic-link) https://github.com/bitcoin/bitcoin/pull/11343
< meshcollider> I agree, 2 is quite nice in theory but I think 3 is best practically
< MarcoFalke> 5 is an ugly workaround, lets not do that.
< gmaxwell> 5 is strictly worse than 3. I like 3. technically we could make mainnet activate segwit at the same time as p2sh, which would also result in regtest being born-segwit... but it would break transistion tests.
< gmaxwell> I don't really think we need transition tests anymore, but they're probably also incidentally testing other useful things so probably not great to just drop them.
< bitcoin-git> [bitcoin] laanwj pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/6c4fecfaf7be...390771be6276
< bitcoin-git> bitcoin/master 6951a1c MeshCollider: Remove extremely outdated share/certs dir
< bitcoin-git> bitcoin/master 390771b Wladimir J. van der Laan: Merge #11380: Remove outdated share/certs/ directory...
< bitcoin-git> [bitcoin] laanwj closed pull request #11380: Remove outdated share/certs/ directory (master...201709_remove_old_certs) https://github.com/bitcoin/bitcoin/pull/11380
< bitcoin-git> [bitcoin] laanwj pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/390771be6276...94c9015bca86
< bitcoin-git> bitcoin/master 46c9043 Pieter Wuille: Remove some unused functions and methods...
< bitcoin-git> bitcoin/master 94c9015 Wladimir J. van der Laan: Merge #11385: Remove some unused functions and methods...
< bitcoin-git> [bitcoin] laanwj closed pull request #11385: Remove some unused functions and methods (master...201709_misc_cleanups) https://github.com/bitcoin/bitcoin/pull/11385
< wumpus> it's kind of sad that we never merged #9937 and no one followed up on it
< gribble> https://github.com/bitcoin/bitcoin/issues/9937 | rpc: Prevent `dumpwallet` from overwriting files by laanwj · Pull Request #9937 · bitcoin/bitcoin · GitHub
< wumpus> thinking about it, I don't really think "The change as written now allows to test the existence of any file." is a concern that should have prevented it from being merged, it's much better than being able to overwrite every file
< bitcoin-git> [bitcoin] laanwj reopened pull request #9937: rpc: Prevent `dumpwallet` from overwriting files (master...2017_03_walletdump_nooverwrite) https://github.com/bitcoin/bitcoin/pull/9937
< morcos> sipa: i'm in favor of 3 or even just dumping transition tests entirely. i know sdaftuar was looking at these for his attempts to have segwit active earlier, we should get his opinion
< sdaftuar> sipa: i agree with 3) as the best idea for now.
< sdaftuar> gmaxwell: sipa: i was experimenting with moving segwit activation back to p2sh activation for mainnet, to see how much code simplification we could get
< sdaftuar> it ended up being a lot messier than i thought and i got a little stuck on that project--
< sdaftuar> moving SCRIPT_VERIFY_WITNESS enforcement back is a straightforward change, but the rules around witness commitments in the coinbase are not really changeable, as far as i can tell
< sdaftuar> the simplest example -- pre-segwit, someone mines a block with a witness commitment that commits to the transactions all not having a witness -- doesn't validate, because checking the commitment
< sdaftuar> requires checking the witness nonce, which is not present
< sdaftuar> never mind if there are blocks which have an incorrect commitment (pre-activation) -- i assume those exist too
< sdaftuar> so i was left wondering if it was worth splitting segwit activation into two parts -- one where witness commitments are only checked at some height, but SCRIPT_VERIFY_WITNESS is enforced eg from genesis
< sdaftuar> and my instinct was that was only complicating things, and not simplifying
< sdaftuar> but i'd be interested in others' opinions
< jnewbery> sdaftuar: I think it's still worthwhile, even if you need to split SCRIPT_VERIFY_WITNESS enforcement from witness commitment verification. We could then change SCRIPT_VERIFY_WITNES activation height on regtest to 0 and remove all the transition tests (except one test for verifying that witness commitment verification is not enforced before witness commitment verification height)
< jnewbery> sipa: (3) is best for now. It'd be nice to eventually dump most transition tests if possible
< instagibbs> how would people feel about removing mempoolreplacement arg? There's no tests, and I have yet to hear a reason to not allow it.(or people setting it to off)
< jonasschnelli> wumpus: Oh. I completely forgot #9937. We should have merged it, yes.
< gribble> https://github.com/bitcoin/bitcoin/issues/9937 | rpc: Prevent `dumpwallet` from overwriting files by laanwj · Pull Request #9937 · bitcoin/bitcoin · GitHub
< Sentineo> /window 3
< jnewbery> luke-jr: I'm looking at #11383 (nice work btw!). I don't understand the comment about it requiring #10615. It looks like they're basically orthogonal (except a bit of overlap in the RPC console). I think it'll probably aid review if you separate them out so there's no cross-dependency.
< gribble> https://github.com/bitcoin/bitcoin/issues/11383 | Basic Multiwallet GUI support by luke-jr · Pull Request #11383 · bitcoin/bitcoin · GitHub
< gribble> https://github.com/bitcoin/bitcoin/issues/10615 | RPC: Allow rpcauth configs to specify a 4th parameter naming a specific wallet (multiwallet RPC support) by luke-jr · Pull Request #10615 · bitcoin/bitcoin · GitHub
< luke-jr> jnewbery: 10615 has the commit resolving the wallet for RPC earlier, so GUI can assign it
< jnewbery> luke-jr : That's only used for the RPC console. If I just cherry-pick all the commits apart from that, then it works fine without 10615. There are still several outstanding concerns in 10615, so I think it makes sense to separate the two PRs and allow them to be reviewed separately
< luke-jr> jnewbery: it should be used by WalletModel too (although maybe it isn't yet)
< luke-jr> (pretty sure it is tho)
< achow101> .... wow. I managed to get bitcoin 0.1.0 to start syncing off of Core 0.15.99
< sipa> achow101: i assume you needed to patch 0.1.0 a bit?
< achow101> sipa: I patched Core to speak 0.1.0
< achow101> and apparently bitcoin.org's docs are wrong
< sipa> fix them!
< achow101> I will
< morcos> sipa: ok done
< achow101> are coinbase transactions supposed to have witnesses?
< achow101> I'm seeing coinbase transactions with witness fields of 32 bytes of 0's
< achow101> *1 stack item of 32 bytes of 0's
< sipa> achow101: yes
< sipa> achow101: they're a field intended for extensibility
< achow101> sipa: oh, ok. I don't see that in the BIPs though..
< achow101> oh, nvm. found it in bip 141
< sipa> it's called 'witness reserved value' in the bip
< thomas__> Hey guys, new here. Does someone have to work on windows and has a good workflow set up ?
< sipa> a good workflow for what?
< thomas__> to dev
< thomas__> I'll be rebuilding a lot this weekend to see how things work, if someone has a way to make it less painful I'd like to hear from him ^^
< achow101> thomas__: use linux and read the Bitcoin Core docs
< thomas__> damit, everyone has the same answer. I have an ubuntu set up on my computer, but I also have to do stuff on windows. I don't see myself switching 3 times a day between both.
< achow101> thomas__: then use a VM
< achow101> developing things is infintely easier to do in a *nix environment than windows
< sipa> how well does bash-on-windows work these days?
< achow101> sipa: pretty well, but AFAIK, no gui support
< thomas__> the wsl works if you keep all your file on the linux side
< achow101> i.e. can't run bitcoin-qt
< thomas__> I'm cross compiling right now, I'll know after that
< achow101> thomas__: I suppose you could use wsl and cross compile. note that cross compiling with ubuntu 15.10+ (wsl uses ubuntu 16.04) is a bit flaky
< thomas__> Apparently mine uses: Description: Ubuntu 14.04.5 LTS
< thomas__> So should be ok then
< bitcoin-git> [bitcoin] runn1ng opened pull request #11386: RPC: Consistently use UniValue.pushKV instead of push_back(Pair()) (master...univalue_bikeshed) https://github.com/bitcoin/bitcoin/pull/11386
< achow101> with old versions of bitcoin (e.g. 0.1.0), what happens if they receive blocks out of order?
< sipa> achow101: stored as orphans in memory until the parent is fetched
< sipa> at some point we limited the size of the orphan block pool, which resulted in the same blocks being fetched over and over again
< sipa> until headers-sync in 0.10
< esotericnonsense> thomas__: if you haven't spent much time working in VM's I'd really recommend it. on modern hardware it's a treat.
< thomas__> A few years ago a lot of people were bitching about it and so I never took the time to really try
< * esotericnonsense> is pleased to see virgl slowly working its way into kvm
< jonasschnelli> Should we tolerate lost GUI window positions in 0.16 (the window will recenter in 0.16 when merging #11335)
< gribble> https://github.com/bitcoin/bitcoin/issues/11335 | Replace save|restoreWindowGeometry with Qt functions by MeshCollider · Pull Request #11335 · bitcoin/bitcoin · GitHub
< * luke-jr> ponders if BIP editor should be enabled to fix spelling/grammar without going through the author
< ossifrage> That is really annoying chrome decided to eat up all the memory, but the oom killer took out bitcoin (while doing a reindex) and somehow the progress went from 99ish% to 85%, that is quite a bit of rollback
< esotericnonsense> ossifrage: how long does the entire reindex take? if it's the same mechanism as during IBD then with a high dbcache value it's just every N minutes/hours (don't remember the figure)
< esotericnonsense> (sorry, that's a flush happening every N minutes/hours)
< gmaxwell> ossifrage: it'll rollback to the last flush. In the future we'll hopefully switch to more incremental flushing which will roll back less far in the event of a crash during initial sync.
< ossifrage> gmaxwell, I had a 4G dbcache which was part of the reason the oom killer picked on bitcoin
< esotericnonsense> static const unsigned int DATABASE_FLUSH_INTERVAL = 24 * 60 * 60;
< esotericnonsense> O_o
< gmaxwell> I wish linux mem handling had a "shrink now or you're gonna get killed" signal.
< gmaxwell> esotericnonsense: that means it'll force a flush once a day if it hasn't been triggered by the cache filling.
< gmaxwell> during IBD cache filling triggers the flushes.
< ossifrage> esotericnonsense, I am generating the full tx index (txindex=1) and it is taking a very long time [I'm not sure when I started it, the debug.log got truncated]
< ossifrage> >24 hours ago
< gmaxwell> >24 hours with a 4gb dbcache. damn txindex.
< esotericnonsense> think my laptop was sub 24hours when I did it and it's not super-fast or anything. though that was syncing over LAN rather than reindex.
< esotericnonsense> (with txindex on).
< esotericnonsense> is that on a HDD?
< ossifrage> gmaxwell, it doesn't seem to be IO or CPU bound, but I am using spinning rust, it seemed wasteful to eat up a large % of my ssd on bitcoin
< esotericnonsense> ah yeah.
< gmaxwell> ossifrage: with a large dbcache it doesn't matter if you're on a SSD or rust when txindex is not in use, alas...
< ossifrage> If I turn txindex off, do I have to start over again when I turn it back on?
< ossifrage> The last log entry was 96% with a 2446MB dbcache and it rolled back to 84% (my memory of almost done was faulty)
< bitcoin-git> [bitcoin] sipa pushed 3 new commits to master: https://github.com/bitcoin/bitcoin/compare/94c9015bca86...877678710800
< bitcoin-git> bitcoin/master 6059182 Marko Bencun: add m_added_nodes to connman options
< bitcoin-git> bitcoin/master 35e5c22 Marko Bencun: remove unused IsArgSet check...
< bitcoin-git> bitcoin/master 8776787 Pieter Wuille: Merge #11301: add m_added_nodes to connman options...
< bitcoin-git> [bitcoin] sipa closed pull request #11301: add m_added_nodes to connman options (master...addnode) https://github.com/bitcoin/bitcoin/pull/11301
< esotericnonsense> ossifrage: if you have enough log, you can go back and find the time when dbcache reset, that will be the last flush probably at 84%.
< bitcoin-git> [bitcoin] sipa pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/877678710800...c6223b3daab0
< bitcoin-git> bitcoin/master 22fd04b Gregory Maxwell: Remove nBlockMaxSize from miner opt struct as it is no longer used.
< bitcoin-git> bitcoin/master c6223b3 Pieter Wuille: Merge #11362: Remove nBlockMaxSize from miner opt struct as it is no longer used....
< bitcoin-git> [bitcoin] sipa closed pull request #11362: Remove nBlockMaxSize from miner opt struct as it is no longer used. (master...2017_09_rm_nBlockMaxSize) https://github.com/bitcoin/bitcoin/pull/11362
< bitcoin-git> [bitcoin] theuni opened pull request #11387: net: remove more CConnman globals (master...more-connman-params) https://github.com/bitcoin/bitcoin/pull/11387
< bitcoin-git> [bitcoin] sipa pushed 3 new commits to master: https://github.com/bitcoin/bitcoin/compare/c6223b3daab0...aeed345c9bad
< bitcoin-git> bitcoin/master e912118 Johnson Lau: [Refactor] Combine scriptPubKey and amount as CTxOut in CScriptCheck
< bitcoin-git> bitcoin/master 3a131b7 Johnson Lau: Rename out to m_tx_out in CScriptCheck
< bitcoin-git> bitcoin/master aeed345 Pieter Wuille: Merge #10953: [Refactor] Combine scriptPubKey and amount as CTxOut in CScriptCheck...
< bitcoin-git> [bitcoin] sipa closed pull request #10953: [Refactor] Combine scriptPubKey and amount as CTxOut in CScriptCheck (master...combine_script_amount) https://github.com/bitcoin/bitcoin/pull/10953