BIND 10 Team Call

2013-08-27 @14:30 UTC
Room 910


  • Shane
  • Michal
  • Stephen
  • Kambe
  • Fujiwara
  • Mukund
  • Aharen
  • Paul
  • Jeremy

Sprint Status
We will probably run out of tickets...
ACTION: Mukund will add more tickets to the sprint.

Shared Memory Simplification Effort

Mukund expressed concerns over the complexity of the shared memory model.

Michal has also expressed similar concerns, along with a constructive proposal for some simplification:

Lets dig into this issue.

Michal's concerns were about the memory manager.

Mukund's concerns were about offset_ptr and multi-process model. Concerns come from use of offset_ptr. More complicated for programmers, but also bugs introduced are difficult to debug. Very little information available!
We should have given multithreaded implementation more thought. Problems in BIND 9 do not necessarily exist in BIND 10, which is more clean and modular.
These issues are inherent with the use of offset_ptr.

Stephen proposes that this needs to be written down.

If we agree to this then we need to modify tickets before next sprint planning.
So we should start updating tickets for this. Michal will do this.

More specific Boost dependencies

  • lots of different builder failures (different places in code) due to boost incompatibilities
  • some boost upgrades, some boost headers patching
  • maybe some configure checks should report incompatibility earlier?
  • how can we document all these more specific dependencies, per platform, per compiler. patch(es) needed, etc?
  • This is not simple for the admin installing BIND10, and problems exist on even popular, common platforms.
  • difficult as now some package collections don't have the correct boost versions and some patch(es) to boost required too.

New minimum version of boost to fix problem with offset_ptr code with new versions of gcc when inlining is turned on.
Maybe suggest turning off inlining ... configure flag? May cause issues.

We can't fix with gcc 4.4.

Newer boost introduces issues too.

Complain / send error reports to boost header package maintainers.

1.48 is lowest that will work right now. Docs currently say " At least Boost version 1.35 is required."

Specific docs for some specific systems are probably wrong now (related to this).
Update wikipages based on what is working on builders currently (g++ versions and boost versions and any boost patches?)

ASIO dependency

  • asio in source tree may need updates, bug fixes and improvements (like Windows) upstream
  • we now install 306 new headers totalling around 2.4MB. (This is done for third-party hooks code: IOAddress uses the asio headers and hooks code needs to access IOAddresses.)
  • most of these aren't patched or maintained for BIND10.
  • our policy was to use third party dependencies, but we didn't want to depend on run-time boost library requirements
  • propose to depend on asio headers dependency (and not boost libs) and remove from our source tree. Work with asio upstream about our fixes.
  • by the way, asio headers are installed with standard boost headers installation! See include/boost/asio/

Stephen suggests building BIND 10 against Boost::ASIO
Michal mentions that we have our own library so we don't expose ASIO, so if something needs that it is a bug that needs to be fixed

Mukund: any custom code or patches that we need for ASIO?

See about using ASIO versus Boost.ASIO.

We didn't want to run-time depend on boost libraries because a package install of BIND10 currently can used on system without Boost. (That is it was built on different system with just the boost extracted headers.)

ACTION: Shane to make ticket against building against Boost::ASIO
ACTION: Shane to make ticket about exposing asio headers from DHCP stuff
ACTION: Mukund will compile BIND 10 against system installed asio on Fedora 19

Specific builds for BIND 10

                          Space-separated list of components to enable | "all"
                          | "reallyall"
  --enable-dhcp           Build and install the DHCP components
  --enable-libdhcp        Build and install the dhcp libraries
  --enable-auth           Build and install the authoritative DNS server
  --enable-dns            Build and install the DNS components
                          Build and install the experimental resolver
  --enable-statistics     Build and install stats components
./configure --enable-experimental-resolver
./configure --enable-dhcp
./configure --enable-auth
./configure --enable-components="auth xfrin xfrout zonemgr"
Extra Components:

(jreed just briefly introduced; he will send email soon and ask for code review.)

Over at 15:51 UTC

Last modified 5 years ago Last modified on Aug 28, 2013, 12:32:41 PM