12018-07-31T00:02:10 *** Krellan has quit IRC
22018-07-31T00:06:55 *** masonicboom has joined #bitcoin-core-dev
32018-07-31T00:12:01 *** masonicboom has quit IRC
42018-07-31T00:14:35 *** Chris_Stewart_5 has joined #bitcoin-core-dev
52018-07-31T00:16:39 *** wraithm has quit IRC
62018-07-31T00:17:26 *** wraithm has joined #bitcoin-core-dev
72018-07-31T00:17:52 *** AaronvanW has quit IRC
82018-07-31T00:20:15 *** Krellan has joined #bitcoin-core-dev
92018-07-31T00:28:17 *** AaronvanW has joined #bitcoin-core-dev
102018-07-31T00:30:39 *** IGHOR has quit IRC
112018-07-31T00:31:27 *** IGHOR has joined #bitcoin-core-dev
122018-07-31T00:33:22 *** AaronvanW has quit IRC
132018-07-31T00:34:05 *** Chris_Stewart_5 has quit IRC
142018-07-31T00:50:26 *** Orion3k has quit IRC
152018-07-31T01:01:51 *** masonicboom has joined #bitcoin-core-dev
162018-07-31T01:06:09 *** Krellan has quit IRC
172018-07-31T01:06:35 *** masonicboom has quit IRC
182018-07-31T01:25:08 *** Krellan has joined #bitcoin-core-dev
192018-07-31T01:27:34 *** Orion3k has joined #bitcoin-core-dev
202018-07-31T01:29:20 *** AaronvanW has joined #bitcoin-core-dev
212018-07-31T01:33:53 *** AaronvanW has quit IRC
222018-07-31T02:01:49 *** masonicboom has joined #bitcoin-core-dev
232018-07-31T02:06:18 *** masonicboom has quit IRC
242018-07-31T02:28:03 *** tryphe has quit IRC
252018-07-31T02:28:28 *** tryphe has joined #bitcoin-core-dev
262018-07-31T02:42:39 *** michaelsdunn1 has quit IRC
272018-07-31T03:26:44 *** promag has joined #bitcoin-core-dev
282018-07-31T03:30:01 *** AaronvanW has joined #bitcoin-core-dev
292018-07-31T03:31:12 *** promag has quit IRC
302018-07-31T03:34:36 *** AaronvanW has quit IRC
312018-07-31T03:37:18 *** Krellan has quit IRC
322018-07-31T03:51:05 *** masonicboom has joined #bitcoin-core-dev
332018-07-31T03:55:45 *** masonicboom has quit IRC
342018-07-31T04:04:44 *** Victorsueca has quit IRC
352018-07-31T04:05:53 *** Victorsueca has joined #bitcoin-core-dev
362018-07-31T04:08:01 *** MarcoFalke has quit IRC
372018-07-31T04:08:33 *** Orion3k has quit IRC
382018-07-31T04:08:33 *** luke-jr has quit IRC
392018-07-31T04:12:17 *** BCBot has quit IRC
402018-07-31T04:12:53 *** MarcoFalke has joined #bitcoin-core-dev
412018-07-31T04:13:27 *** luke-jr has joined #bitcoin-core-dev
422018-07-31T04:17:13 *** masonicboom has joined #bitcoin-core-dev
432018-07-31T04:21:39 *** Orion3k has joined #bitcoin-core-dev
442018-07-31T04:23:57 *** Squidicuz has quit IRC
452018-07-31T04:25:29 *** dcousens has quit IRC
462018-07-31T04:26:24 *** promag has joined #bitcoin-core-dev
472018-07-31T04:31:24 *** promag has quit IRC
482018-07-31T04:39:29 *** kerfle has quit IRC
492018-07-31T04:52:04 *** ryanofsky_ has quit IRC
502018-07-31T04:52:27 *** ryanofsky has joined #bitcoin-core-dev
512018-07-31T05:04:40 *** dcousens has joined #bitcoin-core-dev
522018-07-31T05:08:12 *** promag has joined #bitcoin-core-dev
532018-07-31T05:12:08 *** ChanServ sets mode: +o sipa
542018-07-31T05:12:16 *** sipa sets mode: -n
552018-07-31T05:12:21 *** sipa sets mode: -o sipa
562018-07-31T05:12:34 *** promag has quit IRC
572018-07-31T05:30:45 *** AaronvanW has joined #bitcoin-core-dev
582018-07-31T05:35:57 *** AaronvanW has quit IRC
592018-07-31T05:43:51 *** booyah has joined #bitcoin-core-dev
602018-07-31T05:50:20 <bitcoin-git> [bitcoin] practicalswift opened pull request #13815: build: Add linter to make sure the return value of Parse[...](...) is checked (master...check-return-values-from-parse) https://github.com/bitcoin/bitcoin/pull/13815
612018-07-31T06:13:42 <kallewoof> So confused. Why would the `allowhighfees` argument refuse to become an integer despite client.cpp listing it as 'to be converted'? self.nodes[2].sendrawtransaction(hexstring=rawTxSigned['hex'], allowhighfees=Decimal("0.00007000"))
622018-07-31T06:14:32 <kallewoof> Actually, wrong line, it was this one: assert_raises_rpc_error(-26, "absurdly-high-fee", self.nodes[2].sendrawtransaction, rawTxSigned['hex'], Decimal("0.00001000"))
632018-07-31T06:18:10 *** Emcy has quit IRC
642018-07-31T06:26:32 <luke-jr> kallewoof: client.cpp is entirely irrelevant for this
652018-07-31T06:26:59 <kallewoof> luke-jr: It determines if argument should be converted or kept as a string, right?
662018-07-31T06:27:30 <luke-jr> kallewoof: for bitcoin-cli, which isn't tested by assert_raises_rpc_error
672018-07-31T06:27:49 * kallewoof blinks
682018-07-31T06:28:55 <kallewoof> So how does it know whether to format arguments or keep as strings?
692018-07-31T06:29:03 <sipa> kallewoof: it doesn't
702018-07-31T06:29:15 <sipa> JSON-RPC on the wire is JSON
712018-07-31T06:29:17 <sipa> not strings
722018-07-31T06:29:53 <sipa> if you use Decinal in python, it is sent as a JSON number
732018-07-31T06:30:29 <sipa> bitcoin-cli needs to know what arguments to treat as string literals and which ones not
742018-07-31T06:30:59 <kallewoof> I'm confused. THis works: self.nodes[2].sendrawtransaction(hexstring=rawTxSigned['hex'], allowhighfees=0.00007000)
752018-07-31T06:30:59 <kallewoof> And this doesn't: self.nodes[2].sendrawtransaction(hexstring=rawTxSigned['hex'], allowhighfees=Decimal("0.00007000"))
762018-07-31T06:31:10 *** promag has joined #bitcoin-core-dev
772018-07-31T06:31:55 <sipa> oh, i must be wrong then
782018-07-31T06:32:00 <kallewoof> Unless Decimal() gives something that univalue does not consider to be isNum().. but if I write() it, it gives me [ "0.00007000" ] (with quotes)
792018-07-31T06:32:14 <sipa> this has nothing to do with univalue
802018-07-31T06:32:32 <kallewoof> Wait, it does, because the error is when ! isBool() and ! isNum()
812018-07-31T06:32:36 <sipa> JSON has 4 data types; numbers, strings, arrays, objects
822018-07-31T06:33:09 <sipa> the *python* code is converting what you pass to the sendrawtransaction function into those 4 types
832018-07-31T06:33:32 <sipa> isNum failing on the bitcoind side just means you're not sending a JSON number
842018-07-31T06:33:33 <kallewoof> My code goes if isBool() {..} else if isNum() {..} else throw jsonrpcerror...
852018-07-31T06:33:48 <sipa> so it's presumably sending a JSON string
862018-07-31T06:33:58 <sipa> oh, bools too; sorry, 5
872018-07-31T06:34:02 <kallewoof> Right -- I thought Decimal() gave a JSON number. Guess not.
882018-07-31T06:34:09 <sipa> i guess not :)
892018-07-31T06:35:45 *** promag has quit IRC
902018-07-31T06:37:21 *** ken2812221 has quit IRC
912018-07-31T06:38:29 <luke-jr> probably should be made to
922018-07-31T06:46:43 <kallewoof> I'm honestly pretty sure it is, and I'm screwing something up, but rounding errors are no biggie in this case so I'm going with the native variant.
932018-07-31T06:48:16 *** Emcy has joined #bitcoin-core-dev
942018-07-31T07:01:06 *** ken2812221 has joined #bitcoin-core-dev
952018-07-31T07:02:42 *** elkalamar has quit IRC
962018-07-31T07:06:14 *** elkalamar has joined #bitcoin-core-dev
972018-07-31T07:15:28 *** Guest43893 has joined #bitcoin-core-dev
982018-07-31T07:18:22 *** elkalamar has quit IRC
992018-07-31T07:25:33 *** SopaXorzTaker has joined #bitcoin-core-dev
1002018-07-31T07:29:12 *** elkalamar has joined #bitcoin-core-dev
1012018-07-31T07:30:31 *** Guest43893 has quit IRC
1022018-07-31T07:38:04 *** timothy has joined #bitcoin-core-dev
1032018-07-31T07:41:08 *** masonicboom has quit IRC
1042018-07-31T07:45:37 *** go1111111 has quit IRC
1052018-07-31T07:56:24 *** promag has joined #bitcoin-core-dev
1062018-07-31T07:58:55 *** go1111111 has joined #bitcoin-core-dev
1072018-07-31T08:00:55 *** elkalamar has quit IRC
1082018-07-31T08:01:00 *** promag has quit IRC
1092018-07-31T08:40:00 *** no_input_found has quit IRC
1102018-07-31T08:40:46 *** no_input_found has joined #bitcoin-core-dev
1112018-07-31T08:42:27 *** elkalamar has joined #bitcoin-core-dev
1122018-07-31T08:44:40 *** elkalamar has quit IRC
1132018-07-31T08:48:01 *** StopAndDecrypt has quit IRC
1142018-07-31T08:50:52 *** StopAndDecrypt has joined #bitcoin-core-dev
1152018-07-31T09:03:19 *** face has quit IRC
1162018-07-31T09:08:04 *** elkalamar has joined #bitcoin-core-dev
1172018-07-31T09:13:51 *** elkalamar has quit IRC
1182018-07-31T09:26:21 *** AaronvanW has joined #bitcoin-core-dev
1192018-07-31T09:38:08 *** Aaronvan_ has joined #bitcoin-core-dev
1202018-07-31T09:41:35 *** AaronvanW has quit IRC
1212018-07-31T09:46:28 *** fanquake has joined #bitcoin-core-dev
1222018-07-31T09:46:48 <fanquake> wumpus: heh, I saw that "loss" as well. Got emailed twice for some reason
1232018-07-31T09:48:58 <wumpus> fanquake: well I didn't see my comment so I posted another one, then suddenly they both appeared
1242018-07-31T09:49:21 <fanquake> wumpus GH playing tricks on you
1252018-07-31T09:51:24 <fanquake> Also please don't merge 13809 yet, few things to be fixed up first, to avoid lots of followups
1262018-07-31T10:02:59 <wumpus> OK, please comment that there so anyone else won't merge it either
1272018-07-31T10:54:57 <mryandao> typically most linux distribution follow XDG specification for looking up config files, would this be preferable in Core? I know there was a previous closed issue which mentioned this, but we could keep the datadir cache separate in ~/.bitcoin as is
1282018-07-31T10:55:39 <mryandao> the upside of this is that daemon configuration can be easier to backup for users who just scoop the entire XDG_BASE_DIR
1292018-07-31T11:05:11 *** Chris_Stewart_5 has joined #bitcoin-core-dev
1302018-07-31T11:08:07 <harding> mryandao: do you think there's lots of people who backup just .config/ and not their whole home directories? The stuff in my .config represents perhaps a few hours of tweaking over years, but the stuff in the rest of my home directory represents many hours of work each day over the same number of years.
1312018-07-31T11:08:58 <mryandao> harding: personally, i only backup my .config directory since my homedir would have accumulated a bunch of unwanted stuff in new installations.
1322018-07-31T11:10:49 <mryandao> especially when it comes to hidden directories in home :/
1332018-07-31T11:15:47 <harding> mryandao: ok. I guess I have a different backup philosophy than you do. I use cheap external HDs, and so I just grab everything indiscriminately. I think there probably is an advantage to fully separating stuff we really want users to backup (e..g bitcoin.conf and wallets) from stuff that's just nice to backup (e.g. old blocks), but I personally don't think that's enough of an advantage to make them have to go looking around
1342018-07-31T11:15:47 <harding> various places in their home directory for different Bitcoin-related resources.
1352018-07-31T11:23:06 *** arubi_ has joined #bitcoin-core-dev
1362018-07-31T11:25:33 *** arubi has quit IRC
1372018-07-31T11:31:59 <fanquake> wumpus I was looking at the wrong things before. Feel free to ignore my nit on 13809 and merge it.
1382018-07-31T11:37:02 *** Victorsueca has quit IRC
1392018-07-31T11:38:12 *** Victorsueca has joined #bitcoin-core-dev
1402018-07-31T11:38:35 *** promag has joined #bitcoin-core-dev
1412018-07-31T11:43:08 *** promag has quit IRC
1422018-07-31T11:47:20 *** Soligor has quit IRC
1432018-07-31T11:56:05 *** Chris_Stewart_5 has quit IRC
1442018-07-31T11:59:01 *** d9b4bef9 has quit IRC
1452018-07-31T12:00:08 *** d9b4bef9 has joined #bitcoin-core-dev
1462018-07-31T12:00:35 *** farmerwampum has joined #bitcoin-core-dev
1472018-07-31T12:14:49 *** Soligor has joined #bitcoin-core-dev
1482018-07-31T13:00:58 *** elkalamar has joined #bitcoin-core-dev
1492018-07-31T13:05:17 *** fanquake has quit IRC
1502018-07-31T13:14:57 <bitcoin-git> [bitcoin] scravy opened pull request #13816: travis: build and run tests on os: osx (master...run-functional-tests-on-macos) https://github.com/bitcoin/bitcoin/pull/13816
1512018-07-31T13:22:20 *** Chris_Stewart_5 has joined #bitcoin-core-dev
1522018-07-31T13:32:43 *** promag has joined #bitcoin-core-dev
1532018-07-31T13:40:27 *** sturles has quit IRC
1542018-07-31T13:46:46 *** JackH has joined #bitcoin-core-dev
1552018-07-31T13:50:15 *** Amuza has joined #bitcoin-core-dev
1562018-07-31T14:16:46 *** nodweber has joined #bitcoin-core-dev
1572018-07-31T14:21:03 *** Victorsueca has quit IRC
1582018-07-31T14:22:12 *** Victorsueca has joined #bitcoin-core-dev
1592018-07-31T14:23:49 <bitcoin-git> [bitcoin] Sjors opened pull request #13818: More intuitive GUI settings behavior when -proxy is set (master...2018/07/gui-proxy) https://github.com/bitcoin/bitcoin/pull/13818
1602018-07-31T14:35:12 *** Amuza has quit IRC
1612018-07-31T14:36:17 *** michaelsdunn1 has joined #bitcoin-core-dev
1622018-07-31T15:05:26 <bitcoin-git> [bitcoin] chipstar opened pull request #13820: Replace Bitcoin to XPChain (master...replace-botcoin-to-xpchain) https://github.com/bitcoin/bitcoin/pull/13820
1632018-07-31T15:06:38 <gmaxwell> sipa: ^ plz close
1642018-07-31T15:07:10 <gmaxwell> actually, he PRed from his master, so you could also helpfully remove his repository too... :-/
1652018-07-31T15:08:01 <bitcoin-git> [bitcoin] chipstar closed pull request #13820: Replace Bitcoin to XPChain (master...replace-botcoin-to-xpchain) https://github.com/bitcoin/bitcoin/pull/13820
1662018-07-31T15:14:09 *** Victorsueca has quit IRC
1672018-07-31T15:15:32 *** Victorsueca has joined #bitcoin-core-dev
1682018-07-31T15:39:40 *** esotericnonsense has joined #bitcoin-core-dev
1692018-07-31T15:48:36 *** esotericnonsense has quit IRC
1702018-07-31T15:50:15 *** satwo has quit IRC
1712018-07-31T15:50:35 *** esotericnonsense has joined #bitcoin-core-dev
1722018-07-31T15:52:14 *** esotericnonsens_ has joined #bitcoin-core-dev
1732018-07-31T15:52:47 *** esotericnonsense has quit IRC
1742018-07-31T15:52:58 *** esotericnonsens_ is now known as esotericnonsense
1752018-07-31T15:57:06 *** Dizzle has joined #bitcoin-core-dev
1762018-07-31T15:57:16 *** promag has quit IRC
1772018-07-31T15:57:47 <bitcoin-git> [bitcoin] MarcoFalke pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/8ce55df70d31...77168f766f15
1782018-07-31T15:57:48 <bitcoin-git> bitcoin/master fa0e1e2 MarcoFalke: contrib: Remove debian and rpm subfolders
1792018-07-31T15:57:48 <bitcoin-git> bitcoin/master 77168f7 MarcoFalke: Merge #13809: contrib: Remove debian and rpm subfolder...
1802018-07-31T15:59:01 <bitcoin-git> [bitcoin] MarcoFalke closed pull request #13809: contrib: Remove debian and rpm subfolder (master...Mf1808-debianContrib) https://github.com/bitcoin/bitcoin/pull/13809
1812018-07-31T16:06:57 *** bsm117532 has joined #bitcoin-core-dev
1822018-07-31T16:19:30 <bitcoin-git> [bitcoin] MarcoFalke pushed 3 new commits to master: https://github.com/bitcoin/bitcoin/compare/77168f766f15...230652cafc51
1832018-07-31T16:19:31 <bitcoin-git> bitcoin/master 04ce0d8 Pieter Wuille: Report when unknown config file options are ignored
1842018-07-31T16:19:31 <bitcoin-git> bitcoin/master 247d574 Pieter Wuille: Ignore unknown config file options for now
1852018-07-31T16:19:32 <bitcoin-git> bitcoin/master 230652c MarcoFalke: Merge #13799: Ignore unknown config file options; warn instead of error...
1862018-07-31T16:20:29 <bitcoin-git> [bitcoin] MarcoFalke closed pull request #13799: Ignore unknown config file options; warn instead of error (master...201807_warnunknown) https://github.com/bitcoin/bitcoin/pull/13799
1872018-07-31T16:31:31 *** masonicboom has joined #bitcoin-core-dev
1882018-07-31T16:37:54 *** csknk has joined #bitcoin-core-dev
1892018-07-31T16:51:25 <bitcoin-git> [bitcoin] MarcoFalke opened pull request #13821: qa: Re-enable test for unknown arg in conf file (master...Mf1808-qaConfWarn) https://github.com/bitcoin/bitcoin/pull/13821
1902018-07-31T16:55:29 *** no_input_found has quit IRC
1912018-07-31T16:56:25 *** no_input_found has joined #bitcoin-core-dev
1922018-07-31T16:56:39 *** arubi_ is now known as arubi
1932018-07-31T16:58:30 *** csknk has quit IRC
1942018-07-31T17:07:28 *** Aaronvan_ is now known as AaronvanW
1952018-07-31T17:11:21 <bitcoin-git> [bitcoin] MarcoFalke closed pull request #13821: qa: Re-enable test for unknown arg in conf file (master...Mf1808-qaConfWarn) https://github.com/bitcoin/bitcoin/pull/13821
1962018-07-31T17:20:27 *** rex4539 has quit IRC
1972018-07-31T17:38:33 *** sturles has joined #bitcoin-core-dev
1982018-07-31T17:56:18 *** SopaXorzTaker has quit IRC
1992018-07-31T17:56:43 *** SopaXorzTaker has joined #bitcoin-core-dev
2002018-07-31T18:04:28 *** keymone has quit IRC
2012018-07-31T18:11:15 *** keymone has joined #bitcoin-core-dev
2022018-07-31T18:32:59 <bitcoin-git> [bitcoin] achow101 opened pull request #13822: bench: Make CoinSelection output groups pass eligibility filter (master...fix-out-groups-bench) https://github.com/bitcoin/bitcoin/pull/13822
2032018-07-31T18:48:19 <bitcoin-git> [bitcoin] laanwj pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/230652cafc51...7d3623794a10
2042018-07-31T18:48:20 <bitcoin-git> bitcoin/master 2fb0066 practicalswift: net: Add missing verification of IPv6 address in CNetAddr::GetIn6Addr(...)
2052018-07-31T18:48:20 <bitcoin-git> bitcoin/master 7d36237 Wladimir J. van der Laan: Merge #13776: net: Add missing verification of IPv6 address in CNetAddr::GetIn6Addr(...)...
2062018-07-31T18:49:14 <bitcoin-git> [bitcoin] laanwj closed pull request #13776: net: Add missing verification of IPv6 address in CNetAddr::GetIn6Addr(...) (master...call-IsIPv6-in-GetIn6Addr) https://github.com/bitcoin/bitcoin/pull/13776
2072018-07-31T19:06:27 *** Orion3k has quit IRC
2082018-07-31T19:19:34 <ossifrage> This is a curious error: " dropped: non-selectable socket"
2092018-07-31T19:20:06 <ossifrage> They seem to happen in runs over several minutes
2102018-07-31T19:22:16 *** Orion3k has joined #bitcoin-core-dev
2112018-07-31T19:23:53 <bitcoin-git> [bitcoin] MarcoFalke opened pull request #13823: qa: quote path in authproxy for external multiwallets (master...Mf1808-qaAuthProxyQuotePath) https://github.com/bitcoin/bitcoin/pull/13823
2122018-07-31T19:27:16 <bitcoin-git> [bitcoin] MarcoFalke pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/7d3623794a10...0fb9c87815d1
2132018-07-31T19:27:17 <bitcoin-git> bitcoin/master 494634a Andrew Chow: bench: Make CoinSelection output groups pass eligibility filter...
2142018-07-31T19:27:17 <bitcoin-git> bitcoin/master 0fb9c87 MarcoFalke: Merge #13822: bench: Make CoinSelection output groups pass eligibility filter...
2152018-07-31T19:27:41 <ossifrage> I didn't think bitcoin would be using select(), I thought it would be using epoll() and friends?
2162018-07-31T19:28:21 <bitcoin-git> [bitcoin] MarcoFalke closed pull request #13822: bench: Make CoinSelection output groups pass eligibility filter (master...fix-out-groups-bench) https://github.com/bitcoin/bitcoin/pull/13822
2172018-07-31T19:34:49 *** promag has joined #bitcoin-core-dev
2182018-07-31T19:41:23 <ossifrage> it looks like bitcoin-qt is using up 800 FDs for open files (chainstate, txindex, etc...)
2192018-07-31T19:43:15 <ossifrage> 509 for txindex and 288 for chainstate
2202018-07-31T19:43:54 <sipa> ossifrage: longer term we'll probably switch to libevent
2212018-07-31T19:44:07 <sipa> which uses the most efficient polling mechanism on every platfor.
2222018-07-31T19:46:31 <ossifrage> sipa, any suggestions on reducing the number of FDs used by txindex?
2232018-07-31T19:49:39 <sipa> ossifrage: don't use txindex
2242018-07-31T19:49:41 <sipa> :)
2252018-07-31T19:50:52 <ossifrage> I wonder how painful of a project it would be to make the move to libevent?
2262018-07-31T19:51:22 <Dizzle> We're already using it for RPC and some other networking, right?
2272018-07-31T19:54:43 <ossifrage> Hmm, I wonder what bounds the number of FDs used by the txindex ldb files
2282018-07-31T19:57:41 <sipa> leveldb has a max open fileslimit
2292018-07-31T19:58:47 <sipa> how many connwctions do you have?
2302018-07-31T20:01:26 <ossifrage> sipa, 160
2312018-07-31T20:01:56 <ossifrage> (right now, but it looks like has been having troubles with new connections for a while due to the number of ldb files open)
2322018-07-31T20:02:28 <sipa> bitcoind tries to raise its max fd limit at startup
2332018-07-31T20:03:42 <ossifrage> sipa, the problem is with the FD_SET size which is 1024 :-(
2342018-07-31T20:03:56 <sipa> yes
2352018-07-31T20:04:25 <ossifrage> it looks like ldb is using 1000 fds (as per comment)
2362018-07-31T20:06:00 <ossifrage> I think I'll try rebuilding with the default set to 500 or so (I wonder if that is global or per database)
2372018-07-31T20:06:37 <ossifrage> However, I suspect it will take another month of runtime to accumulate that many open ldb files to test...
2382018-07-31T20:06:54 *** SopaXorzTaker has quit IRC
2392018-07-31T20:07:09 <sipa> ossifrage: no, it's a runtime testing
2402018-07-31T20:07:13 *** Krellan has joined #bitcoin-core-dev
2412018-07-31T20:25:43 <jimpo> Is there an option for shared (read/write) locks w/o C++ 14?
2422018-07-31T20:26:57 <jimpo> looks like sigcache uses boost::shared_lock. is that acceptable or discouraged?
2432018-07-31T20:27:46 <sipa> i think as long as we don't have c++14, boost::shared_lock looks like a good solution
2442018-07-31T20:28:22 <gmaxwell> Is there really no read/write lock before C++14?! Posix has had them for like 20 years!
2452018-07-31T20:28:56 *** JackH has quit IRC
2462018-07-31T20:29:39 <gmaxwell> BlueMatt: See above FD_SET stuff. Is there any way I could bribe you to PR the patch that changes the net to use poll on Linux?
2472018-07-31T20:29:59 <gmaxwell> We have 1001 windows specific things in the codebase, having a linux+bsd specific thing wouldn't be the end of the world.
2482018-07-31T20:30:21 <gmaxwell> And we've delayed doing the simple thing for eons, in favor of a grand change that has been slow in coming.
2492018-07-31T20:30:47 <gmaxwell> IIRC the patchs that you and patrick had done were like a dozen lines of code, and except for the fact that they added platform IFdefs, were totally clean.
2502018-07-31T20:30:58 <sipa> gmaxwell: before c++11, c++ didn't have any form of threading or synchronization primitives at all :)
2512018-07-31T20:31:17 <gmaxwell> sipa: I know but why the heck didn't C++11 catch up with basic features from decades ago? :(
2522018-07-31T20:31:36 <sipa> gmaxwell: my guess is that c++11 was already an enormous change
2532018-07-31T20:32:09 <gmaxwell> aside, <3 RW locks
2542018-07-31T20:32:18 <sipa> yes!
2552018-07-31T20:36:18 <sipa> the c++14 shared mutex doesn't support upgradable locking
2562018-07-31T20:37:06 <gmaxwell> I can see why upgradability would be useful for us, but I don't recall ever using it in my own code.
2572018-07-31T20:37:21 <gmaxwell> (maybe posix rw locks aren't even upgradable?)
2582018-07-31T20:37:52 <sipa> ah!
2592018-07-31T20:37:55 <sipa> https://stackoverflow.com/questions/34993983/upgrading-read-lock-to-write-lock-without-releasing-the-first-in-c11
2602018-07-31T20:38:09 <sipa> you can implement upgradable locks on top of shared and exclusive locks
2612018-07-31T20:38:42 <gmaxwell> for us I think the big win for rw locks is that we can make all the things that just need readonly access to the blockchain not block each other...
2622018-07-31T20:38:56 <gmaxwell> info-rpcs, wallet, P2P get* messages...
2632018-07-31T20:39:17 <gmaxwell> and that doesn't need an upgradable lock.
2642018-07-31T20:39:43 <sipa> upgradable locks would be nice in that they let us lock/unlock exclusive access during block validation
2652018-07-31T20:39:50 <gmaxwell> block processing could in theory use one, e.g. take a read lock to decide if the incoming block is already known to us, then promote to write if it isn't... but thats rare, might as well take the write lock.
2662018-07-31T20:40:00 <sipa> at times when the chainstate is consistent but not done
2672018-07-31T20:40:10 <gmaxwell> okay thats a point.
2682018-07-31T20:40:38 <sipa> basically you just need to upgrade when flushing the per-block utxo cache to the chainstate cache
2692018-07-31T20:41:48 <gmaxwell> I'm always a little warry about peppering the code with a lot of fine locking, since they're slow (potentially very slow if contended)
2702018-07-31T20:42:10 <gmaxwell> (and it's hard to tell that it's slow)
2712018-07-31T20:43:13 <sipa> uncontended locks are really fast (at least on linux)
2722018-07-31T20:44:08 <gmaxwell> It's all relative. I think they're always as slow as a cache line bounce, so equal to probably thousands of multiplies.
2732018-07-31T20:44:50 <sipa> the number i had in my mind was 100 cpu cycles for an uncontended loc
2742018-07-31T20:44:58 <sipa> but i can't remember actually ever validating that number
2752018-07-31T20:45:04 <gmaxwell> hm. okay so an order of magnitude between our beliefs.
2762018-07-31T20:45:33 <gmaxwell> I don't see how 100 is physically possible though.
2772018-07-31T20:45:50 <gmaxwell> not without doing some kind of transactional crazyness that can rollback the cpu on conflicts.
2782018-07-31T20:46:52 <sipa> http://ithare.com/infographics-operation-costs-in-cpu-clock-cycles/
2792018-07-31T20:47:35 <sipa> i think an uncontended lock is a few compare-and-swaps
2802018-07-31T20:48:29 <gmaxwell> so per that a few hundred cycles, seems fast to me, though thinking more about it, I guess it no longer strikes me as physically impossible to take a lock in 100 cycles IF you are the same core that last had the lock.
2812018-07-31T20:51:44 <gmaxwell> If you aren't then I don't think it's physically possible, another core could take the lock at the same time, and at 100 cycles, it's potentially outside of your lightcone. (13 cm)
2822018-07-31T20:53:09 <sipa> just wrote a small c++11 benchmark that creates a single thread which grabs a mutex, and increments a variable, and releases again
2832018-07-31T20:53:21 <sipa> 14 ns per iteration
2842018-07-31T20:53:38 <sipa> agreed, "always on the same thread" is a stronger condition than just "uncontended"
2852018-07-31T20:55:54 <gmaxwell> makes sense. yea, 14ns is just not physically possible if it has to consult with a far away core. but I guess it doesn't in common cases.
2862018-07-31T20:57:33 <sipa> now trying the same with 2 simultaneous threads
2872018-07-31T20:58:22 <sipa> just 100 ns per iteration?
2882018-07-31T20:58:23 <sipa> wtf
2892018-07-31T20:58:36 <sipa> i was expected several orders of magnitudes more
2902018-07-31T20:58:43 <gmaxwell> well, hyperthreading? :)
2912018-07-31T20:59:00 <gmaxwell> use taskset to force it into different sockets. :P
2922018-07-31T21:01:52 *** masonicboom has quit IRC
2932018-07-31T21:05:29 <bitcoin-git> [bitcoin] MarcoFalke opened pull request #13824: doc: Remove outdated net comment (master...Mf1808-docNetCritSec) https://github.com/bitcoin/bitcoin/pull/13824
2942018-07-31T21:09:44 *** booyah has quit IRC
2952018-07-31T21:09:52 *** Chris_Stewart_5 has quit IRC
2962018-07-31T21:13:34 *** masonicboom has joined #bitcoin-core-dev
2972018-07-31T21:25:29 *** goatpig has joined #bitcoin-core-dev
2982018-07-31T21:25:47 *** AaronvanW has quit IRC
2992018-07-31T21:26:23 *** AaronvanW has joined #bitcoin-core-dev
3002018-07-31T21:45:17 *** Amuza has joined #bitcoin-core-dev
3012018-07-31T21:51:45 *** rex4539 has joined #bitcoin-core-dev
3022018-07-31T21:54:09 <bitcoin-git> [bitcoin] jnewbery opened pull request #13825: [wallet] [Do not merge until v0.18] Kill accounts (master...kill_accounts) https://github.com/bitcoin/bitcoin/pull/13825
3032018-07-31T21:54:41 *** Amuza has quit IRC
3042018-07-31T21:59:58 *** arubi has quit IRC
3052018-07-31T22:00:31 *** arubi has joined #bitcoin-core-dev
3062018-07-31T22:09:30 *** no_input_found has quit IRC
3072018-07-31T22:09:50 *** no_input_found has joined #bitcoin-core-dev
3082018-07-31T22:20:51 *** michaelsdunn1 has quit IRC
3092018-07-31T22:21:24 *** Orion3k has quit IRC
3102018-07-31T22:33:59 *** Orion3k has joined #bitcoin-core-dev
3112018-07-31T22:47:57 *** Krellan has quit IRC
3122018-07-31T22:49:27 *** Chris_Stewart_5 has joined #bitcoin-core-dev
3132018-07-31T23:07:07 *** JackH has joined #bitcoin-core-dev
3142018-07-31T23:09:25 *** jtimon has joined #bitcoin-core-dev
3152018-07-31T23:12:16 *** JackH has quit IRC
3162018-07-31T23:21:37 *** Emcy has quit IRC
3172018-07-31T23:22:28 *** Emcy has joined #bitcoin-core-dev
3182018-07-31T23:29:10 *** Chris_Stewart_5 has quit IRC
3192018-07-31T23:30:35 *** Dizzle has quit IRC
3202018-07-31T23:35:21 *** timothy has quit IRC
3212018-07-31T23:54:10 *** Victorsueca has quit IRC
3222018-07-31T23:55:27 *** Victorsueca has joined #bitcoin-core-dev
3232018-07-31T23:58:46 *** masonicboom has quit IRC