IRC meeting summary for 2018-07-12

Overview


Topics discussed during this weekly meeting included an announcement of a poll to help find widely-acceptable times for future weekly meetings, whether or not to move back the planned feature freeze date for Bitcoin Core 0.17, whether or not to produce a 0.16.2 maintenance release (and when to do it), status of upgrading the deterministic build environment to a new version of Ubuntu, and the status of a PR related to what coins (inputs) the wallet automatically chooses to spend.

The usual first topic of high priority pull requests for review was skipped. Wladimir var der Laan said, “I’ve intentionally skipped high priority for review this time. [It] seems pretty clear [that we] just need to get the features for 0.17 in ASAP.”

Meeting time poll

Background: as mentioned last meeting, the project is trying to determine the best times to hold weekly meetings.

Discussion (log): Cory Fields said, “Remember to vote on meeting time. If you didn’t get a mail about it, now’s the time to tell me! [The poll closes] this time next week.”

Conclusion: if you’re a regular contributor, check your email for a poll about it or contact Fields.

Move feature freeze date?

Background: Bitcoin Core attempts to release a new major version every six months. The first step of the release process is freezing the current feature set so that the focus can shift to maturing, testing, and documenting the upcoming release.

Discussion (log): Wladimir van der Laan introduced the topic, “So the current feature freeze is July 16th, which is in a few days […] my question is, should we delay it, [or] are there important things that [we] would otherwise miss but [which] are almost ready?”

Several meeting participants listed things they’d like to get in that they’re worried won’t be complete before the freeze:

Conclusion: the feature freeze date was moved back one week to Monday, July 23rd.

0.16.2

Background: Bitcoin Core occasionally produces maintenance releases that backport bug fixes and minor improvements to existing versions of Bitcoin Core. The most recent of these was Bitcoin Core 0.16.1, released about a month ago.

Discussion (log): the topic was suggested before the meeting. Wladimir van der Laan said, “It’d make sense to do a 0.16.2 release soon so it’s not too short before 0.17. [Is there] anything that really needs to make it in besides what is already backported in #13644?” No one in the meeting suggested any further backports.

There was some discussion about release timing. Luke Dashjr suggested 0.16.2 could be released shortly before 0.17.0’s first Release Candidates (RCs) started to be build. Other meeting participants argued for keeping them apart, with Cory Fields saying, “But that way if a backport goes bad, potentially both new versions end up busted. I’d rather stagger [the releases] a bit, generally speaking.”

Conclusion: Van der Laan said, “Make sure you review [#13644].” After that, the project will produce 0.16.2 RC1. If there are no bug reports for RC1 within about a week of its release, 0.16.2 final will be tagged.

Gitian build to 18.04 Ubuntu Bionic

Background: Gitian is the system Bitcoin Core uses to allow multiple people compiling the same code to create identical executable programs, a process called deterministic building. This allows each of those builders to cryptographically attest to the program being the result of the peer-reviewed source code. To produce identical programs, everyone needs to use exactly the same build software, including the same operating system run in a virtual environment. Currently that operating system is an old version of Ubuntu; for the next release, the plan is to use the most recent long-term-support (LTS) version of Ubuntu, 18.04 (codenamed Bionic Beaver).

Discussion (log): Wladimir van der Laan started the discussion, “note that we must upgrade, otherwise the Qt build will fail (or [we] would have to downgrade Qt again, which is a mess).”

Cory Fields, who has been working on a significant update to the build system toolchain said, “I was in denial that I would have toolchain stuff done in time for 0.17. Sadly it’s not happening. [I] just started having a look at the current PRs.”

Andrew Chow mentioned that he’s worked on a Docker-based build system, and other people mentioned various other systems.

As a sub-topic, Fields mentioned that, “at some point we’re going to have to use Gitian (or similar) to build all-deterministic toolchains. The work isn’t done for all toolchains yet, but I do have something working that gets us a native one. I’m proposing that we go ahead and build that one so that it can later be used to build the rest […] as with that done deterministically, we wouldn’t have to rely on a distro toolchain at all for 0.18.”

Conclusion: work will continue on ensuring that the project’s updated Gitian configuration is ready by the time the release candidates are ready to be built. Fields will “try to get enough together to PR something” related to his initial all-deterministic-toolchains work.

Status of PR #12257: coin selection destination groups

Not a tagged topic, but a separate discussion started after the previous topic.

Background: a focus of a significant amount of work in the past six months has been Bitcoin Core’s coin selection—how its wallet decides which inputs to spend in a particular transaction. PR #12257 adds an option to Bitcoin Core’s wallet that causes it to spend every output received to the same address whenever any of those outputs would be spent. This prevents two outputs to the same address from being spent in separate transactions, which is a common way the wallet reduces privacy. The downside is that it may make transactions larger than the smallest they need to be.

Discussion (log): Gregory Maxwell asked, “I guess [the author of PR #12257, Kalle Alm,] isn’t here (timezone [conflict]) but I wondered what was the status of #12257?”

Pieter Wuille replied, “I held off on [reviewing] it, expecting other more invasive changes to coin selection to go in first, but if that isn’t happening for 0.17, maybe we can do destination groups first.”

Andrew Chow suggested simulating its behavior along with his single-random-draw coin selection code as described in a previous meeting.

Conclusion: Maxwell said, “I’d forgotten about [PR #12257], sounds like some of the rest of us did too […] Consider yourselves reminded.”

Mini-topics

  • Unicorns: several meeting participants noted that GitHub pages are failing to load again, as mentioned in at least six previous meetings (1, 2, 3, 4, 5, 6), and are instead displaying an illustration of an angry unicorn. This prevents reviews on Bitcoin Core PRs, or at least slows them down while reviewers attempt workarounds.

Participants

IRC nick Name/Nym
wumpus Wladimir van der Laan
luke-jr Luke Dashjr
cfields Cory Fields
sipa Pieter Wuille
gmaxwell Gregory Maxwell
achow101 Andrew Chow
jonasschnelli Jonas Schnelli
instagibbs Gregory Sanders
meshcollider Samuel Dobson
BlueMatt Matt Corallo
kanzure Bryan Bishop
MarcoFalke Marco Falke
ken2812221 Chun Kuan Lee
jamesob James O’Beirne
jnewbery John Newbery
nmnkgl Gleb Naumenko

Disclaimer

This summary was compiled without input from any of the participants in the discussion, so any errors are the fault of the summary author and not the discussion participants. In particular, quotes taken from the discussion had their capitalization, punctuation, and spelling modified to produce consistent sentences. Bracketed words and fragments, as well as background narratives and exposition, were added by the author of this summary and may have accidentally changed the meaning of some sentences. If you believe any quote was taken out of context, please open an issue and we will correct the mistake.