19:00:30 #startmeeting 19:00:30 Meeting started Thu Sep 6 19:00:30 2018 UTC. The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:00:30 Useful Commands: #action #agreed #help #info #idea #link #topic. 19:00:39 Hi 19:00:57 hi 19:01:00 hi 19:01:08 #bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr btcdrak sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircu 19:01:11 it codeshark michagogo marcofalke paveljanik NicolasDorier jl2012 achow101 meshcollider jnewbery maaku fanquake promag provoostenator 19:01:42 PSA: v0.17.0rc3 has been tagged 19:01:56 topics? 19:02:00 \o/ 19:02:44 hi 19:03:03 Seems things have been kind of quiet. 19:03:21 yes, quiet week 19:03:55 hi 19:04:00 hi 19:04:08 phantomcircuit (your ping got cut, perhaps you'd like to talk about your poll() work, if you're around) 19:04:08 Thoughts on merging #12775 ? Do we want it enabled in .travis.yml by default? 19:04:11 https://github.com/bitcoin/bitcoin/issues/12775 | Integration of property based testing into Bitcoin Core by Christewart · Pull Request #12775 · bitcoin/bitcoin · GitHub 19:04:29 Chris_Stewart_5: yeah that one should be merged... 19:04:40 Hello 19:04:44 sorry, RAPIDCHECK=1 in DEP_OPTS 19:05:19 Chris_Stewart_5: and it makes sense to have it enabled for at least one travis build if it's merged, after all, otherwise it'll probably get under-tested 19:05:31 i'm working on implementing poll on *nix systems, the first step is to cleanup ThreadSocketHandler to separate the select() logic from the rest of the logic 19:05:41 oh topic 19:05:50 #topic poll() (phantoncircuit) 19:06:02 wumpus: I'll try to take care of that in the next 2 days 19:06:18 i've started that in #14147 (which is as far as im going to go in that particular pr) 19:06:19 https://github.com/bitcoin/bitcoin/issues/14147 | net: Refactor ThreadSocketHandler by pstratem · Pull Request #14147 · bitcoin/bitcoin · GitHub 19:06:19 Chris_Stewart_5: I mean it'd be perfectly valid to say you don't want to hold up this PR for that, and do it later 19:06:25 Chris_Stewart_5: just be clear :) 19:07:00 next step after that is going to be to separate the socket handling logic from the select() logic 19:07:03 phantomcircuit: good 19:07:11 phantomcircuit: my understanding is that your refactors are driven by a more complete set of commits that go all the way to actually enabling poll, you just haven't PRed the ret, right? 19:07:28 gmaxwell, right 19:08:21 so enabling poll turns out to be more work than was expected, I was told at some point it'd basically be a five-line patch, or is this because you want to do it properly? :) 19:09:08 it seems we're pretty close on track for the 0.17 release schedule 19:09:11 he's doing it more properly. 19:10:17 ISTM at least the current PR is a perfectly fine change even considered independantly of poll(). 19:10:29 doing it more property, there's a smaller patchset possible but that does things like iterate over every fd for every cnode looking for it's own fd 19:10:46 which is O(n^2) worst case for n = vNodes.size() 19:10:53 so probably dont want to do that 19:10:58 ok, yes, that would be good to avoid, we don't want to worsen performance 19:11:21 right, thanks for the explanation, it's common for people to underestimate how much work something is anyhow :) 19:11:52 I think I made the 5 line comment before, but it was based on an actual ~5 line patch that matt was previously using. :P 19:12:07 and indeed the current patchset is specifically selected to make sense even without poll() (but that's certainly why im doing it) 19:13:37 should we add 14147 to high priority for review? I suppose it's blocking further work for you 19:13:42 poll() works more like epoll than select, specifically there's no equivalent for FD_ISSET, so either you need to keep some sort of mapping or iterate over them 19:14:11 i believe matts patchset just iterated which is trivial but certainly not what we want to do 19:14:25 indeed 19:14:35 it was just aproof of concept then 19:14:36 makes sense 19:14:44 wumpus, im building off that pr for the rest of the poll() logic assuming it'll eventually be fine 19:15:14 there's 7 commits to that pr and 100 loc changed but mostly that's just moving things 19:15:18 I mean iterating is essentially fine, really 19:15:18 It's a nearly trivial review in any case. It's just moving things around. 19:15:27 its not like we're handling 10k connections 19:15:36 ?w=1 eliminates 90% of the diff. :) 19:15:40 (and less error-prone than tracking things with CNodes) 19:15:48 cause we've had errors in the past with CNode deletion ordering.... 19:15:57 or, if not errors, shitloads of complication that made review hard 19:16:32 I agree that iterating is fine for a few hundred connections, but I think we'd prefer to avoid it unless we really do get mired in review. 19:16:38 anyhow, let's review phantomcircuit 's work 19:16:44 wumpus: yea, fair 19:16:47 I don't see the point of discussing this now 19:16:52 yep 19:17:39 if it's really so hard to review (there's nothing what people have said that would suggest that) then of course we can look for another solution 19:17:46 any other topics? 19:17:48 +1 19:18:23 sipa: wumpus: Where did we ever land in replacing the openssl RNG? 19:18:35 #topic replacing the openssl RNG 19:18:44 good question, I think that kind of stranded at some point 19:18:47 gmaxwell: i don't feel like spending much work on it 19:18:54 It would be nice if we could finally be rid of the dependency in 0.18. 19:19:08 but we should probably write some requirements for what it needs to be replaced with 19:19:10 ok so someone would need to pick up sipa 's old work probably 19:19:43 I think in part because we reasonably wanted to break some of it off into a library, and then that sounded like too much work. :) 19:19:56 yes 19:20:00 Is there an old PR or something 19:20:03 I don't care about that part anymore 19:20:21 Or a gist 19:20:27 suggested topic: Tokyo CoreDev topic ideas 19:20:32 I'd be happy to do something, but I also really don't feel like making a library right now. (or rather, I'd prefer to spend that time working on something else) 19:20:36 just put it in its own subdirectory under src, someone that wants it as library can do the work for that 19:21:07 if not, there's no need to do build system work etc 19:21:09 meshcollider: #10299 19:21:11 https://github.com/bitcoin/bitcoin/issues/10299 | Remove OpenSSL by sipa · Pull Request #10299 · bitcoin/bitcoin · GitHub 19:21:21 provoostenator: thanks 19:21:30 (in particular, librarizing it is hard because a library ought to be reentrant and probably C callable ... which are things that don't matter much for our own use) 19:21:38 I know all too well how frustrating making libraries for c++ is 19:21:57 why would it be C++? 19:22:02 lol... 19:22:06 CoreDev topic ideas: hardware wallet support, faster wallet bootstrap (i.e. sync in background) 19:22:17 yesl et's start piling up other requirements as well 19:22:20 ok, another topic? 19:22:28 luke-jr: So one of the things we could do for it would be rewrite in C, but thats something that people don't feel like doing. 19:22:29 Probably continue the coin selection fun? 19:22:42 let's rewrite it in rust ! 19:23:01 wumpus suggested topic: Tokyo CoreDev topic ideas 19:23:14 hi. 19:23:20 #topic Tokyo CoreDev topic ideas (provoostenator) 19:23:23 CoreDev topics: descriptors and extensions to them 19:23:36 already on there 19:23:39 rust all your problems 19:23:47 what would you guys like to hjear from other people, and/or from yourselves 19:23:53 kanzure has reached out to some folks, and i plan to as well to solicit topic ideas. also feel free to share them here as you are already doing :) 19:23:55 jtimon: I have C/C++ burnout 19:24:22 oh no that's terminal 19:24:38 wumpus: well, you write python too :p 19:24:47 jtimon: python is still somewhat cute 19:25:01 * jonasschnelli can't be in Tokyo :/ 19:25:11 kanzure: moneyball: what are the current topics, if any? 19:25:21 I'd like to see kallewoof's progress on input grouping get done. 19:25:23 wumpus: thankfully carbon doesn't rust 19:25:37 sipa: heh! 19:26:25 achow101: PSBT, hardware wallet stuff, output descriptors, input grouping, schnorr signatures BIP stuff, forward blocks, client-side filtering, lattice-based digital signatures, coin selection, #13869 19:26:26 https://github.com/bitcoin/bitcoin/issues/13869 | Filename and command line encoding issue on Windows · Issue #13869 · bitcoin/bitcoin · GitHub 19:26:36 Maybe people could think about rhavar's bustapay... I think it might be reasonable to support it in the bitcoin core wallet. 19:26:52 lattice-based digital signatures?!?! 19:26:53 who would be a good candidate to fly the flag of bustapay 19:27:04 gmaxwell: it's a meshcollider thing 19:27:17 here is what kanzure has collected so far, from about 10 people: 19:27:17 * partially signed bitcoin transactions 19:27:17 * hardware wallet support 19:27:17 * script validation 19:27:17 * input grouping 19:27:17 * output descriptors 19:27:17 * Schnorr signatures BIP 19:27:18 * k-of-n threshold signatures using Schnorr 19:27:18 * forward blocks 19:27:19 * hardware wallet support in Bitcoin Core 19:27:19 * status of client-side filtering and neutrino 19:27:20 * client side filtering 19:27:40 please don't paste long lists in IRC 19:27:50 Heh I don't think it's worth discussing lattice sigs at CoreDev 19:27:50 oh, sorry 19:27:57 That's just what I'm working on 19:28:00 kanzure: re bustapay, me? I was part of the meeting that came up with the basis for that 19:28:04 okay it is you 19:28:21 done 19:29:00 maybe offtopic for now, but how is bustapay different from p2ep? 19:29:02 nah pasting 12 lines which are relevant topics isn't that bad, but yes, never do that with error messages / logs pelase :) 19:29:13 "forward blocks" 19:29:15 ? 19:29:20 BlueMatt, maaku's thing 19:29:22 IIRC 19:29:30 BlueMatt: time travel exploit 19:29:46 jnewbery: it's basically the same thing, but actually implemented 19:30:02 jnewbery: actually implementable and not woo. 19:30:26 moneyball and i will be heckling each of you for more topic suggestions soon, thanks for the input 19:30:28 it cuts out some of the complexity as a tradeoff for a possible and very small (IMO) privacy risk 19:30:48 ah, right, the exploit-timeward-to-change-blocktime-and-fork-to-lock-it-in thing....I feel like thats something that needs more broad bitcoin-dev or whatever discussion, its not something to be discussed a technical planning meeting 19:30:50 do you need even more topics? seems a decent list 19:31:07 this list is tiny compared to last few times; it'll grow. 19:31:07 dandelion, depending on who's there, should be discussed 19:31:08 none trivial 19:31:13 kallewoof: has been working on a "signet" branch I'm currently reviewing and testing that allows the creation of signed blocks testchains ala elements, not sure if that could be a topic, but I would be very happy to see something like that get into master at some point 19:31:14 BlueMatt, ACK 19:31:29 agree with BlueMatt as well 19:31:50 jtimon: added 19:31:52 BlueMatt: added 19:31:55 agree with BlueMatt as well 19:32:03 agree with BlueMatt as well 19:32:06 wait, hmmm 19:32:15 don't do that you'll break the universe 19:32:42 try typing 'google' into google 19:33:18 Or ‘recursion’ 19:33:20 Did you mean recursion? 19:33:32 BlueMatt: it was an it crowd joke 19:33:56 Something that might be worth putting in the meeting minutes: multiple PR's are suffering from 500 server error for multiple days. Apparantly Github is aware of the problem. 19:34:15 * BlueMatt emailed support and got back a "we're looking into it, its visible on a few projects" 19:34:31 do we have so many PRs and issues that we broke github? 19:34:39 github is falling apart, so soon after ms took it over 19:34:54 nah, it was falling apart before 19:34:57 I think they switched the server hosting to windows 95 19:35:05 haha 19:35:38 if it helps I'll send a mail too 19:35:38 at least not ME 19:35:50 haah then it would alrady be gone 19:35:57 other topics? 19:36:10 WinCE. 19:36:20 How did everyone get a bionic gitian environment working? 19:36:28 MS haven't actually taken over yet have they 19:36:32 michagogo: I ended up installing from the iso by hand 19:36:36 https://i.imgur.com/zh4F55R.png 19:36:40 deep magic voodoo rituals 19:36:44 michagogo: and patching gitian to work with it 19:36:52 #topic gitian build on bionic 19:36:58 sipa: lol 19:37:07 Works 19:37:10 with LXC it's easy, just the standard steps 19:37:32 both lxc and docker work 19:37:50 but according to luke-jr kvm is broken again as apparently the new vmbuilder doesn't work? 19:37:58 (I haven't tried yet) 19:38:02 wumpus: make-base-vm —lxc —suite bionic seemed to work for me (finished without error), but the result seems broken 19:38:17 define "broken"? 19:38:30 michagogo: latest gitian? 19:38:36 Yep 19:38:42 (On a xenial host) 19:39:21 these additional steps are what I had to do for gitian building on debian 9.5 with LXC: https://gist.github.com/laanwj/c62e101bfd68718f0686926dfd10666b 19:40:22 (e.g. I needed a new lxc version, as well as a new version of debootstrap as it was lacking the bionic script) 19:41:07 if it built the image then I think that part went right, but you might have an too-old version of LXC that cannot handle bionic 19:41:31 I don't remember what the minimum version is that works, jonasschnelli might 19:41:40 * jonasschnelli looking 19:42:04 stable-2.1 19:42:19 yea 2.1.5 or something? 19:42:32 * luke-jr wonders why bionic needs special LXC support 19:43:02 I think its 2.1.1 19:43:15 jup. 2.1.1. is min 19:43:24 thanks! 19:44:21 you need at least 2.1.x 19:44:47 michagogo: which lxc version did you try with? 19:46:22 wumpus: whatever’s in xenial-updates 19:46:42 michagogo: do `lxc-start --version` 19:49:29 hi :| 19:50:44 Package: lxc1 (2.0.8-0ubuntu1~16.04.2) 19:50:48 so, too old. 19:50:56 promag: hi 19:51:28 other topics? 19:52:31 #endmeeting