< bitcoin-git> [bitcoin] MarcoFalke opened pull request #12408: wallet: Change output type globals to members (master...Mf1802-walletChangeTypeMember) https://github.com/bitcoin/bitcoin/pull/12408
< bitcoin-git> [bitcoin] MarcoFalke opened pull request #12409: rpc: Reject deprecated reserveChangeKey in fundrawtransaction (master...Mf1802-rpcFundRawDeprecatedOption) https://github.com/bitcoin/bitcoin/pull/12409
< bitcoin-git> [bitcoin] Willtech opened pull request #12410: [Docs] Updated examples in CONTRIBUTING.md (master...CONTRIBUTING.md) https://github.com/bitcoin/bitcoin/pull/12410
< murrayn> i've got all the $DataDir\blocks\*.dat files, is the fastest way to get back up running to use --reindex-chainstate ?
< murrayn> Because it's taking forever, and no CPU load. WTF is it doing?
< gmaxwell> network has been clearing a lot of 1s/vbyte txn...
< provoostenator> #12406 "chainstate\160320.ldb: Data error (cyclic redundancy check)" and such strangeness...
< gribble> https://github.com/bitcoin/bitcoin/issues/12406 | QT Core wallet crash when starting with "-txindex" · Issue #12406 · bitcoin/bitcoin · GitHub
< wumpus> usually that's some kind of i/o corruption, detected by leveldb as it CRCs everything
< wumpus> you could ask the user to send the ldb to see if something can be learnt from the kind of corruption (e.g. was a block overwritten, or a bit toggled, etc)
< provoostenator> you mean chainstate/*.ldb? Where should they upload that?
< wumpus> it's why I did #11674
< gribble> https://github.com/bitcoin/bitcoin/issues/11674 | leveldb: Add filename to corruption errors by laanwj · Pull Request #11674 · bitcoin/bitcoin · GitHub
< wumpus> not all the ldbs, just the one that is corrupted
< wumpus> I don't know where people upload files nowadays, honestly
< provoostenator> How would he know which one is corrupted? Is there a command to find out?
< wumpus> it's in the error message
< wumpus> 2018-02-10 10:07:17 IO error: f:\BitCoinData\chainstate\160320.ldb: Data error (cyclic redundancy check).
< provoostenator> Ah, ok, I'll ask. Github shold be able to handle 2MB
< provoostenator> (or less if it's the last one)
< provoostenator> Shouldn't Windows create a wallets directory if no wallet.dat is found?
< wumpus> no, it creates a wallets directory for a new datadir
< provoostenator> Ok, I'll try that.
< wumpus> creating it when wallet.dat is not found is problematic because the user might have a wallets with other names around
< wumpus> the only time we know it's safe to use wallets/ is for a new data dir
< provoostenator> I'll do a couple of IBD's to see if more high energy particles from the universe hit that VM
< provoostenator> That makes sense
< provoostenator> Would be nice though if it worked on an _empty_ data dir as well as a new one, so the user can create bitcoin.conf before the first launch.
< wumpus> they can make wallets directory themselves if they want
< wumpus> and move the wallets, if any, there
< wumpus> the data directory is not empty if a bitcoin.conf is there, it'd have to have some specialized, twisted definition of 'empty'
< provoostenator> Yeah, I just realized that I was trying to turn the idea in a todo. Probably too convoluted. And there's the walletdir option now too.
< provoostenator> *that as I was
< sipa> murrayn: it's verifying all transactions in history
< bitcoin-git> [bitcoin] jameshilliard opened pull request #12412: Enable spectre mitigations when supported by compiler. (master...spectre-mitigation) https://github.com/bitcoin/bitcoin/pull/12412
< Lightsword> hmm, so apparently retpolineplt linker is causes breakage test_bitcoin: key.cpp:324: void ECC_Start(): Assertion `secp256k1_context_sign == nullptr' failed.
< BlueMatt> fun!
< luke-jr> Lightsword: no problems with GCC's..
< * luke-jr> wonders how to deal with Bech32 for libblkmaker; add it to libbase58? rename libbase58?
< Lightsword> luke-jr, seems to be failing under GCC’s https://travis-ci.org/bitcoin/bitcoin/jobs/340156264
< luke-jr> Lightsword: Travis doesn't even have GCC w/ retpoline support..
< Lightsword> weird “checking whether the linker accepts -Wl,-z,retpolineplt... yes”
< Lightsword> maybe I did the test wrong?
< luke-jr> Why does the linker need to do anything?
< luke-jr> I'm talking about GCC
< luke-jr> retpolineplt seems to be some LLVM thing
< Lightsword> hmm, not sure, I kinda just copied the autoconf stuff from openssh
< * luke-jr> ponders if a linker-side implementation could turn everything into retpolines without compiler involvement, and also doing it for assembly at the same time
< sipa> it looks like it can be done by the linker
< sipa> but it basically introduces a stub function between every caller and callee
< Lightsword> “For dynamic executables, you must compile *all* libraries with -mretpoline and additionally link the dynamic executable and all shared libraries with LLD and pass -z retpolineplt (or use similar functionality from some other linker).”
< Lightsword> “For kernels or other freestanding or fully static executables, the compiler switch -mretpoline is sufficient to fully mitigate this particular attack.“
< Lightsword> do we build fully statically or still do some dynamic linking that would need -retpolineplt?
< sipa> ping cfields
< sasha_> hello, i am having an issue with bitcoin core
< sasha_> i started synchronizing the block but sent bitcoin to the wallet before it was done
< sasha_> since it has to synchronize before i can use my bitcoin, i want to move it to omniwallet
< sasha_> however, it wont let me dump my private key
< luke-jr> Lightsword: that's LLVM; GCC doesn't use the same options at all
< Lightsword> so travis is using LLVM’s linker?
< Lightsword> but GCC compiler?
< Lightsword> “checking if the linker (/usr/bin/ld) is GNU ld... yes”
< ProfMac> Is there an archive of the discussion when the version 2 block was defined, and the blockheight was included?
< sipa> bip34
< ProfMac> thanks.
< luke-jr> Lightsword: no idea what Travis is doing.. GNU ld doesn't support retpolineplt though..
< luke-jr> I'm reading that without -O2, the compiler options don't do the job, so maybe my test is inconclusive
< ProfMac> Do I understand correctly that the ExtraNonce in a block is located in the coinbase vin?
< sipa> yes
< ProfMac> thank you.
< luke-jr> well, it's not a special field… it *can* be anywhere
< sipa> right
< luke-jr> some pools use the generation transaction's lock time for example
< sipa> it's just conventionally what is used to add variance to a block
< ProfMac> I just had the idea that it was an extra field in the block header, but then I was looking at this code snippet.
< ProfMac> pblock->vtx[0].vin[0].scriptSig = (CScript() << nHeight << CBigNum(nExtraNonce)) + COINBASE_FLAGS;
< sipa> no
< sipa> anything can be used to add variance to a block
< sipa> including just changing the order of transactions or so
< sipa> extranonce is not a protocol level things
< ProfMac> ok. Thanks.
< sipa> just a conventional way to add variance