ISC Open Source Projects issueshttps://gitlab.isc.org/groups/isc-projects/-/issues2021-09-07T15:31:04Zhttps://gitlab.isc.org/isc-projects/stork/-/issues/268Detect incompatible Postgresql version2021-09-07T15:31:04ZThomas MarkwalderDetect incompatible Postgresql versionDuring initial environment setup I inadvertently pointed Stork to Postgresql 9.5. This apparently caused a SQL syntax error in the migrations code. IIRC it had something to with "AS", syntax error at or near "AS". I did not save the ...During initial environment setup I inadvertently pointed Stork to Postgresql 9.5. This apparently caused a SQL syntax error in the migrations code. IIRC it had something to with "AS", syntax error at or near "AS". I did not save the exact message. Upon pointing Stork to Postgresql 11 everything was fine.
It should be possible to detect the Postgresql version in the init db or migration logic and bail if it is too old. Barring that we might consider a more helpful failure message if possible.https://gitlab.isc.org/isc-projects/bind9/-/issues/1818Follow-up from "WIP: Convert documentation from docbook to sphinx-doc syntax"2021-10-05T12:13:46ZOndřej SurýFollow-up from "WIP: Convert documentation from docbook to sphinx-doc syntax"The following discussion from !1761 should be addressed:
- [ ] @each started a [discussion](https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/1761#note_63240): (+1 comment)
> - I notice `make doc` doesn't generate PDFs, I...The following discussion from !1761 should be addressed:
- [ ] @each started a [discussion](https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/1761#note_63240): (+1 comment)
> - I notice `make doc` doesn't generate PDFs, I had to `make pdf` explicitly.
> - `make all` apparently includes a `make doc` step, now, which seems unnecessary to me.
> - Running `make all` in a clean directory always seems to fail while building doc the first time, though it always seems to succeed on the second attempt. I haven't had time to dig in to what's causing this.
> - Is the directory name `_build` a requirement of sphinx? It's an admittedly minor quibble, but I wish the HTML still appeared in doc/arm, or at most one level down instead of two.
> - Why do we have both `_build/html` and `_build/dirhtml`?
> - `make clean` and `make docclean` both fail to clean up generated documentation.
> - The files in doc/arm/man appear to be generated from RST source, but are checked into git, whereas elsewhere you seem to have removed all the generated documentation; what's the purpose of having these checked in?
> - Chapter numbering is very weird - what used to be section 3.4 on plugins is now a very short chapter by itself, and many the sections of chapter 4 seem to have been split out into separate chapters too. The result is what used to be 8 chapters and 4 appendices is now 19 chapters. The appendices are no longer at the end.
> - (Not a regression, but it's also really weird to have the advanced DNS features turn up in the ARM before the basic configuration directions. We should reorder the chapters.)
>
> Looking over the generated PDF's for the ARM and the release notes:
> - The ISC logo has become kind of tiny now.
> - Many of the grammars in the ARM display weirdly. They're enclosed in boxes but they spill out past the margins, and there are XML tags in them. The ones in the named.conf man page in chapter 19 are fine, but in the earlier parts of the ARM they're broken. I'm guessing this is a bug in the rst-zoneopt.pl and/or rst-grammars.pl scripts.
> - Tables that fill a whole page look weird (see pages 50, 60 and 125 for examples). I don't think this is a regression, though.
> - Odd formatting in a table on page 61 as well.
> - Option definitions should probably have a line break after the option name. (See page 77 for examples of what I mean - the first line of the text describing the option flows right after the option name, and it looks to me like it should start on the line below.)
> - The table defining rrset-order values is positioned incorrectly on page 93.
> - Tables spill over the right margins on pages 127 and 135.
> - Table appears to incorrectly contain another table on page 132.
> - Table formatting error on page 137.
>
> Looking over the generated HTML:
> - The formatting here is generally very nice!
> - The same problem also applies here with grammars - XML tags are visible.
> - RFC references in chapter 17 are formatted oddly, with author names showing up as "VixieP" and "AndrewsM", commas missing.https://gitlab.isc.org/isc-projects/kea/-/issues/1221cross compiling Kea for raspbian2020-07-23T20:38:34ZFrancis Dupontcross compiling Kea for raspbiankea1.7.10Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/bind9/-/issues/1817named-checkzone: [-s (full|relative)] missing from usage.2020-05-15T12:29:10ZMark Andrewsnamed-checkzone: [-s (full|relative)] missing from usage.June 2020 (9.11.20, 9.11.20-S1, 9.16.4, 9.17.2)Mark AndrewsMark Andrewshttps://gitlab.isc.org/isc-projects/bind9/-/issues/1816include transport used in dig response (udp/tcp)2020-12-16T21:06:24ZAnand Buddhdevinclude transport used in dig response (udp/tcp)### Summary
BIND does not return a minimal response to an ANY query with the `minimal-any` option enabled.
### BIND version used
```
BIND 9.16.2 (Stable Release) <id:b310dc7>
running on Linux x86_64 3.10.0-957.21.3.el7.x86_64 #1 SMP T...### Summary
BIND does not return a minimal response to an ANY query with the `minimal-any` option enabled.
### BIND version used
```
BIND 9.16.2 (Stable Release) <id:b310dc7>
running on Linux x86_64 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019
built by make with '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc/named' '--disable-static' '--with-pic' '--without-python' '--with-libtool' '--without-lmdb' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,-z,relro ' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
compiled by GCC 4.8.5 20150623 (Red Hat 4.8.5-39)
compiled with OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 2017
linked to OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 2017
compiled with libxml2 version: 2.9.1
linked to libxml2 version: 20901
compiled with json-c version: 0.11
linked to json-c version: 0.11
compiled with zlib version: 1.2.7
linked to zlib version: 1.2.7
threads support is enabled
default paths:
named configuration: /etc/named/named.conf
rndc configuration: /etc/named/rndc.conf
DNSSEC root key: /etc/named/bind.keys
nsupdate session key: /var/run/named/session.key
named PID file: /var/run/named/named.pid
named lock file: /var/run/named/named.lock
```
### Steps to reproduce
1. Set up a BIND server with at least one zone (master, slave, doesn't matter)
2. Set `minimal-any` to `yes` in named.conf
3. Start the name server
4. Query this name server for zone/ANY over UDP
### What is the current *bug* behavior?
BIND returns all the records at the queried name
### What is the expected *correct* behavior?
I expect BIND to return only one RRset
### Relevant configuration files
n/a
### Relevant logs and/or screenshots
n/a
### Possible fixes
n/aNovember 2020 (9.11.25, 9.11.25-S1, 9.16.9, 9.16.9-S1, 9.17.7)https://gitlab.isc.org/isc-projects/bind9/-/issues/1815TLS/DoT configuration parsing2021-02-03T18:37:19ZWitold KrecickiTLS/DoT configuration parsingFebruary 2021 (9.11.28, 9.11.28-S1, 9.16.12, 9.16.12-S1, 9.17.10)https://gitlab.isc.org/isc-projects/bind9/-/issues/1814isc_rwlocks tuning - get rid of {down,up}grades, adaptivity2021-10-05T12:13:21ZWitold Krecickiisc_rwlocks tuning - get rid of {down,up}grades, adaptivityOndřej SurýOndřej Surýhttps://gitlab.isc.org/isc-projects/stork/-/issues/267Enhance search expressions2020-05-29T04:20:30ZMarcin SiodelskiEnhance search expressionsWe currently allow including key=val expressions in search. We think that we might better migrate to something more sophisticated. One particular use case that we already have is to search for all global host reservations. For that we'd ...We currently allow including key=val expressions in search. We think that we might better migrate to something more sophisticated. One particular use case that we already have is to search for all global host reservations. For that we'd like to be able to say:
```
is:global
```
We may also migrate from key=val to key:val.0.8Michal NowikowskiMichal Nowikowskihttps://gitlab.isc.org/isc-projects/kea/-/issues/1220NetworkState class should be Kea MT safe.2021-06-28T09:51:01ZFrancis DupontNetworkState class should be Kea MT safe.Kea MT safe means MT safe when Kea MT mode is true (vs. general MT safety).Kea MT safe means MT safe when Kea MT mode is true (vs. general MT safety).kea2.1-backlogRazvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/issues/1219make the HA hook multi-threading safe2020-05-21T16:12:18ZFrancis Dupontmake the HA hook multi-threading safeCurrently it is a design ticket to find remaining problems, for instance the HA hook disables packet processing but with MT there are more than one way to do this (and the feature by itself can be required to be MT safe).
Note this tick...Currently it is a design ticket to find remaining problems, for instance the HA hook disables packet processing but with MT there are more than one way to do this (and the feature by itself can be required to be MT safe).
Note this ticket can provide some indications for #1147 i.e. not try to avoid races when they are unconditionally impossible.kea1.7.8Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/stork/-/issues/266Doc update: need to mention postgresql-crypto, update man pages2020-08-12T16:46:29ZTomek MrugalskiDoc update: need to mention postgresql-crypto, update man pagesThis is a follow-up to 0.6.0 sanity checks and @marcin comments:
- [x] postgresql-crypto needed on Fedora, postgresql12-contrib on RHEL/CentOS: https://gitlab.isc.org/isc-projects/stork/-/issues/227#note_122038
- [x] agent man page impr...This is a follow-up to 0.6.0 sanity checks and @marcin comments:
- [x] postgresql-crypto needed on Fedora, postgresql12-contrib on RHEL/CentOS: https://gitlab.isc.org/isc-projects/stork/-/issues/227#note_122038
- [x] agent man page improvement: https://gitlab.isc.org/isc-projects/stork/-/issues/227#note_122053
- [x] bring server man page up to date: https://gitlab.isc.org/isc-projects/stork/-/issues/227#note_122056
- [x] `su - postgres` missing in the docs (reported by Wlodek, see stork call 2020-05-05 notes, line 50)0.10Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/265-v, --version: agent, server should report version2020-06-12T17:45:50ZTomek Mrugalski-v, --version: agent, server should report versionThis is a ticket for addressing the 0.6.0 sanity checks issue raised by @marcin here: https://gitlab.isc.org/isc-projects/stork/-/issues/227#note_122037
The idea is obvious: we need a way to identify agent and server version. We need a ...This is a ticket for addressing the 0.6.0 sanity checks issue raised by @marcin here: https://gitlab.isc.org/isc-projects/stork/-/issues/227#note_122037
The idea is obvious: we need a way to identify agent and server version. We need a `-v` and `--version` command line switches for this.0.9Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/bind9/-/issues/1813Align the sizes of isc_rwlock_t between isc_rwlock and pthread_rwlock)2021-10-05T12:12:44ZOndřej SurýAlign the sizes of isc_rwlock_t between isc_rwlock and pthread_rwlock)Currently, the size of the isc_rwlock_t structure changes between isc_rwlock and pthread_rwlock, we need to either:
* make the structure opaque
* align the sizes of the structures, so it doesn't change the sizes that use isc_rwlock_t di...Currently, the size of the isc_rwlock_t structure changes between isc_rwlock and pthread_rwlock, we need to either:
* make the structure opaque
* align the sizes of the structures, so it doesn't change the sizes that use isc_rwlock_t directly.BIND 9.17 Backburnerhttps://gitlab.isc.org/isc-projects/kea/-/issues/1218huge difference of performance gain when memfile is configured with persist f...2022-11-02T15:10:18ZWlodzimierz Wencelhuge difference of performance gain when memfile is configured with persist falseI've executed two tests, multi threading + memfile with persist false (there is no writing to the file).
And results are surprising, revealing possible inefficiency.
results:
* multi threading v6 memfile persist true: 36k leases/s
* mul...I've executed two tests, multi threading + memfile with persist false (there is no writing to the file).
And results are surprising, revealing possible inefficiency.
results:
* multi threading v6 memfile persist true: 36k leases/s
* multi threading v6 memfile persist false: 47k leases/s
* gain: 30%
* multi threading v4 memfile persist true: 20k leases/s
* multi threading v4 memfile persist false: 37k leases/s
* gain: 85%
Please investigate if there is an inefficiency in a way Kea saves v4 leases to the file.backloghttps://gitlab.isc.org/isc-projects/bind9/-/issues/1812Unexpected output from named-checkconf2020-06-18T08:39:09ZPeter DaviesUnexpected output from named-checkconfUnexpected output from named-checkconf:
When run "named-checkconf -p " appends extra test to server lines in static-stub zones
input:
zone "10.in-addr.arpa" { type static-stub; server-addresses { 199.81.216.126; 204.135.12.254; }; };
e...Unexpected output from named-checkconf:
When run "named-checkconf -p " appends extra test to server lines in static-stub zones
input:
zone "10.in-addr.arpa" { type static-stub; server-addresses { 199.81.216.126; 204.135.12.254; }; };
expected output:
zone "10.in-addr.arpa" {
type static-stub;
server-addresses {
199.81.216.126;
204.135.12.254;
};
};
received output:
zone "10.in-addr.arpa" {
type static-stub;
server-addresses {
199.81.216.126 dscp 4294950590;
204.135.12.254 dscp 4294950590;
};
This behaviour appears to start at release 9.11.6
see RT [#16328](https://support.isc.org/Ticket/Display.html?id=16328)June 2020 (9.11.20, 9.11.20-S1, 9.16.4, 9.17.2)https://gitlab.isc.org/isc-projects/kea/-/issues/1217host cache invalid read after free reported by valgrind and tsan - not MT rel...2020-05-06T18:07:10ZRazvan Becheriuhost cache invalid read after free reported by valgrind and tsan - not MT relatedread after heap free
I believe this is related to the fact that we keep a reference of an iterator while deleting (invalidating) it.
valgrind:
```
--9629-- REDIR: 0x81a0720 (libc.so.6:__strnlen_avx2) redirected to 0x4c32c90 (strnlen)
p...read after heap free
I believe this is related to the fact that we keep a reference of an iterator while deleting (invalidating) it.
valgrind:
```
--9629-- REDIR: 0x81a0720 (libc.so.6:__strnlen_avx2) redirected to 0x4c32c90 (strnlen)
profiling:/home/razvan/isc/git/kea-work/ext/gtest/libgtest_a-gtest-all.gcda:Version mismatch - expected A75* got A74*
==9629==
==9629== HEAP SUMMARY:
==9629== in use at exit: 0 bytes in 0 blocks
==9629== total heap usage: 9,420 allocs, 9,420 frees, 845,980 bytes allocated
==9629==
==9629== All heap blocks were freed -- no leaks are possible
==9629==
==9629== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
==9629==
==9629== 1 errors in context 1 of 1:
==9629== Invalid read of size 8
==9629== at 0x1F3253: hash_value<isc::dhcp::Host> (shared_ptr.hpp:1153)
==9629== by 0x1F3253: operator() (extensions.hpp:262)
==9629== by 0x1F3253: find<boost::shared_ptr<isc::dhcp::Host>, boost::hash<boost::shared_ptr<isc::dhcp::Host> >, std::equal_to<boost::shared_ptr<isc::dhcp::Host> > > (hashed_index.hpp:1527)
==9629== by 0x1F3253: find<boost::shared_ptr<isc::dhcp::Host>, boost::hash<boost::shared_ptr<isc::dhcp::Host> >, std::equal_to<boost::shared_ptr<isc::dhcp::Host> > > (hashed_index.hpp:482)
==9629== by 0x1F3253: find<boost::shared_ptr<isc::dhcp::Host> > (hashed_index.hpp:471)
==9629== by 0x1F3253: isc::host_cache::HostCacheImpl::remove(boost::shared_ptr<isc::dhcp::Host> const&) (host_cache_impl.cc:458)
==9629== by 0x1F3623: isc::host_cache::HostCacheImpl::del6[abi:cxx11](unsigned int const&, isc::asiolink::IOAddress const&) (host_cache_impl.cc:397)
==9629== by 0x1E1153: isc::host_cache::HostCache::cacheRemoveHandler(isc::hooks::CalloutHandle&) (host_cache.cc:887)
==9629== by 0x19F669: (anonymous namespace)::removeHandler(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&) (command_unittests.cc:324)
==9629== by 0x1D0505: operator()<int, int (*)(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&), boost::_bi::rrlist1<isc::hooks::CalloutHandle&> > (bind.hpp:309)
==9629== by 0x1D0505: operator()<isc::hooks::CalloutHandle&> (bind.hpp:1306)
==9629== by 0x1D0505: boost::detail::function::function_obj_invoker1<boost::_bi::bind_t<int, int (*)(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&), boost::_bi::list2<boost::_bi::value<boost::shared_ptr<isc::host_cache::HostCache> >, boost::arg<1> > >, int, isc::hooks::CalloutHandle&>::invoke(boost::detail::function::function_buffer&, isc::hooks::CalloutHandle&) (function_template.hpp:138)
==9629== by 0x1A90EB: operator() (function_template.hpp:760)
==9629== by 0x1A90EB: (anonymous namespace)::CommandTest::checkCommand(boost::function<int (isc::hooks::CalloutHandle&)>, boost::shared_ptr<isc::data::Element const>, int, int, boost::shared_ptr<isc::data::Element const>) [clone .isra.222] (command_unittests.cc:143)
==9629== by 0x1AA653: (anonymous namespace)::CommandTest::checkCommand(boost::function<int (isc::hooks::CalloutHandle&)>, boost::shared_ptr<isc::data::Element const>, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) [clone .isra.225] (command_unittests.cc:177)
==9629== by 0x1AC198: (anonymous namespace)::CommandTest_global_Test::TestBody() (command_unittests.cc:905)
==9629== by 0x2DFF79: HandleSehExceptionsInMethodIfSupported<testing::Test, void> (gtest.cc:2608)
==9629== by 0x2DFF79: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2644)
==9629== by 0x2CA8FB: testing::Test::Run() (gtest.cc:2683)
==9629== by 0x2CAC3C: testing::TestInfo::Run() (gtest.cc:2860)
==9629== by 0x2CD170: testing::TestSuite::Run() (gtest.cc:3014)
==9629== Address 0x1060ff10 is 48 bytes inside a block of size 120 free'd
==9629== at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==9629== by 0x1F3096: deallocate (new_allocator.h:125)
==9629== by 0x1F3096: deallocate_node (multi_index_container.hpp:536)
==9629== by 0x1F3096: erase_ (multi_index_container.hpp:761)
==9629== by 0x1F3096: final_erase_ (index_base.hpp:259)
==9629== by 0x1F3096: erase (ord_index_impl.hpp:351)
==9629== by 0x1F3096: isc::host_cache::HostCacheImpl::removeResv6(boost::shared_ptr<isc::dhcp::Host> const&) (host_cache_impl.cc:88)
==9629== by 0x1F3249: isc::host_cache::HostCacheImpl::remove(boost::shared_ptr<isc::dhcp::Host> const&) (host_cache_impl.cc:455)
==9629== by 0x1F3623: isc::host_cache::HostCacheImpl::del6[abi:cxx11](unsigned int const&, isc::asiolink::IOAddress const&) (host_cache_impl.cc:397)
==9629== by 0x1E1153: isc::host_cache::HostCache::cacheRemoveHandler(isc::hooks::CalloutHandle&) (host_cache.cc:887)
==9629== by 0x19F669: (anonymous namespace)::removeHandler(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&) (command_unittests.cc:324)
==9629== by 0x1D0505: operator()<int, int (*)(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&), boost::_bi::rrlist1<isc::hooks::CalloutHandle&> > (bind.hpp:309)
==9629== by 0x1D0505: operator()<isc::hooks::CalloutHandle&> (bind.hpp:1306)
==9629== by 0x1D0505: boost::detail::function::function_obj_invoker1<boost::_bi::bind_t<int, int (*)(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&), boost::_bi::list2<boost::_bi::value<boost::shared_ptr<isc::host_cache::HostCache> >, boost::arg<1> > >, int, isc::hooks::CalloutHandle&>::invoke(boost::detail::function::function_buffer&, isc::hooks::CalloutHandle&) (function_template.hpp:138)
==9629== by 0x1A90EB: operator() (function_template.hpp:760)
==9629== by 0x1A90EB: (anonymous namespace)::CommandTest::checkCommand(boost::function<int (isc::hooks::CalloutHandle&)>, boost::shared_ptr<isc::data::Element const>, int, int, boost::shared_ptr<isc::data::Element const>) [clone .isra.222] (command_unittests.cc:143)
==9629== by 0x1AA653: (anonymous namespace)::CommandTest::checkCommand(boost::function<int (isc::hooks::CalloutHandle&)>, boost::shared_ptr<isc::data::Element const>, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) [clone .isra.225] (command_unittests.cc:177)
==9629== by 0x1AC198: (anonymous namespace)::CommandTest_global_Test::TestBody() (command_unittests.cc:905)
==9629== by 0x2DFF79: HandleSehExceptionsInMethodIfSupported<testing::Test, void> (gtest.cc:2608)
==9629== by 0x2DFF79: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2644)
==9629== by 0x2CA8FB: testing::Test::Run() (gtest.cc:2683)
==9629== Block was alloc'd at
==9629== at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==9629== by 0x1F25D7: allocate (new_allocator.h:111)
==9629== by 0x1F25D7: allocate_node (multi_index_container.hpp:530)
==9629== by 0x1F25D7: insert_ (index_base.hpp:117)
==9629== by 0x1F25D7: insert_<boost::multi_index::detail::rvalue_tag> (ord_index_impl.hpp:716)
==9629== by 0x1F25D7: insert_<boost::multi_index::detail::rvalue_tag> (ord_index_impl.hpp:716)
==9629== by 0x1F25D7: insert_<boost::multi_index::detail::rvalue_tag> (multi_index_container.hpp:558)
==9629== by 0x1F25D7: insert_rv_ (multi_index_container.hpp:575)
==9629== by 0x1F25D7: final_insert_rv_ (index_base.hpp:221)
==9629== by 0x1F25D7: insert (ord_index_impl.hpp:302)
==9629== by 0x1F25D7: isc::host_cache::HostCacheImpl::insertResv6(boost::shared_ptr<isc::dhcp::Host> const&) (host_cache_impl.cc:38)
==9629== by 0x1F5F1C: isc::host_cache::HostCacheImpl::insert(boost::shared_ptr<isc::dhcp::Host const> const&, bool) (host_cache_impl.cc:342)
==9629== by 0x1DC52D: isc::host_cache::HostCache::insert(boost::shared_ptr<isc::dhcp::Host const> const&, bool) (host_cache.cc:312)
==9629== by 0x1AAE07: (anonymous namespace)::CommandTest_global_Test::TestBody() (command_unittests.cc:869)
==9629== by 0x2DFF79: HandleSehExceptionsInMethodIfSupported<testing::Test, void> (gtest.cc:2608)
==9629== by 0x2DFF79: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2644)
==9629== by 0x2CA8FB: testing::Test::Run() (gtest.cc:2683)
==9629== by 0x2CAC3C: testing::TestInfo::Run() (gtest.cc:2860)
==9629== by 0x2CD170: testing::TestSuite::Run() (gtest.cc:3014)
==9629== by 0x2CDBC0: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:5598)
==9629== by 0x2DF6A9: HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (gtest.cc:2608)
==9629== by 0x2DF6A9: bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (gtest.cc:2644)
==9629== by 0x2C98F4: testing::UnitTest::Run() (gtest.cc:5185)
==9629==
==9629== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
```
tsan:
```
WARNING: ThreadSanitizer: heap-use-after-free (pid=4979)
Read of size 8 at 0x7b20000068b0 by main thread:
#0 unsigned long boost::hash_value<isc::dhcp::Host>(boost::shared_ptr<isc::dhcp::Host> const&) /usr/include/boost/smart_ptr/shared_ptr.hpp:1153 (host_cache_unittests+0xa2680)
#1 boost::hash<boost::shared_ptr<isc::dhcp::Host> >::operator()(boost::shared_ptr<isc::dhcp::Host> const&) const /usr/include/boost/functional/hash/extensions.hpp:262 (host_cache_unittests+0xa2680)
#2 boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<boost::shared_ptr<isc::dhcp::Host>, std::allocator<boost::shared_ptr<isc::dhcp::Host> > > > >, boost::multi_index::detail::hashed_unique_tag>, boost::multi_index::detail::bucket_array<std::allocator<boost::shared_ptr<isc::dhcp::Host> > >, boost::multi_index::detail::hashed_index_global_iterator_tag> boost::multi_index::detail::hashed_index<boost::multi_index::identity<boost::shared_ptr<isc::dhcp::Host> >, boost::hash<boost::shared_ptr<isc::dhcp::Host> >, std::equal_to<boost::shared_ptr<isc::dhcp::Host> >, boost::multi_index::detail::nth_layer<2, boost::shared_ptr<isc::dhcp::Host>, boost::multi_index::indexed_by<boost::multi_index::random_access<boost::multi_index::tag<isc::host_cache::HostRandomIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> >, boost::multi_index::hashed_unique<boost::multi_index::tag<isc::host_cache::HostHashedIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::identity<boost::shared_ptr<isc::dhcp::Host> >, mpl_::na, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<isc::host_cache::HostIdentifierIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<isc::dhcp::Host, boost::multi_index::const_mem_fun<isc::dhcp::Host, std::vector<unsigned char, std::allocator<unsigned char> > const&, &(isc::dhcp::Host::getIdentifier() const)>, boost::multi_index::const_mem_fun<isc::dhcp::Host, isc::dhcp::Host::IdentifierType, &(isc::dhcp::Host::getIdentifierType() const)>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<isc::host_cache::HostAddress4IndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<isc::dhcp::Host, isc::asiolink::IOAddress const&, &(isc::dhcp::Host::getIPv4Reservation() const)>, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<boost::shared_ptr<isc::dhcp::Host> > >, boost::mpl::v_item<isc::host_cache::HostHashedIndexTag, boost::mpl::vector0<mpl_::na>, 0>, boost::multi_index::detail::hashed_unique_tag>::find<boost::shared_ptr<isc::dhcp::Host>, boost::hash<boost::shared_ptr<isc::dhcp::Host> >, std::equal_to<boost::shared_ptr<isc::dhcp::Host> > >(boost::shared_ptr<isc::dhcp::Host> const&, boost::hash<boost::shared_ptr<isc::dhcp::Host> > const&, std::equal_to<boost::shared_ptr<isc::dhcp::Host> > const&, mpl_::bool_<false>) const /usr/include/boost/multi_index/hashed_index.hpp:1527 (host_cache_unittests+0xa2680)
#3 boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<boost::shared_ptr<isc::dhcp::Host>, std::allocator<boost::shared_ptr<isc::dhcp::Host> > > > >, boost::multi_index::detail::hashed_unique_tag>, boost::multi_index::detail::bucket_array<std::allocator<boost::shared_ptr<isc::dhcp::Host> > >, boost::multi_index::detail::hashed_index_global_iterator_tag> boost::multi_index::detail::hashed_index<boost::multi_index::identity<boost::shared_ptr<isc::dhcp::Host> >, boost::hash<boost::shared_ptr<isc::dhcp::Host> >, std::equal_to<boost::shared_ptr<isc::dhcp::Host> >, boost::multi_index::detail::nth_layer<2, boost::shared_ptr<isc::dhcp::Host>, boost::multi_index::indexed_by<boost::multi_index::random_access<boost::multi_index::tag<isc::host_cache::HostRandomIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> >, boost::multi_index::hashed_unique<boost::multi_index::tag<isc::host_cache::HostHashedIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::identity<boost::shared_ptr<isc::dhcp::Host> >, mpl_::na, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<isc::host_cache::HostIdentifierIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<isc::dhcp::Host, boost::multi_index::const_mem_fun<isc::dhcp::Host, std::vector<unsigned char, std::allocator<unsigned char> > const&, &(isc::dhcp::Host::getIdentifier() const)>, boost::multi_index::const_mem_fun<isc::dhcp::Host, isc::dhcp::Host::IdentifierType, &(isc::dhcp::Host::getIdentifierType() const)>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<isc::host_cache::HostAddress4IndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<isc::dhcp::Host, isc::asiolink::IOAddress const&, &(isc::dhcp::Host::getIPv4Reservation() const)>, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<boost::shared_ptr<isc::dhcp::Host> > >, boost::mpl::v_item<isc::host_cache::HostHashedIndexTag, boost::mpl::vector0<mpl_::na>, 0>, boost::multi_index::detail::hashed_unique_tag>::find<boost::shared_ptr<isc::dhcp::Host>, boost::hash<boost::shared_ptr<isc::dhcp::Host> >, std::equal_to<boost::shared_ptr<isc::dhcp::Host> > >(boost::shared_ptr<isc::dhcp::Host> const&, boost::hash<boost::shared_ptr<isc::dhcp::Host> > const&, std::equal_to<boost::shared_ptr<isc::dhcp::Host> > const&) const /usr/include/boost/multi_index/hashed_index.hpp:482 (host_cache_unittests+0xa2680)
#4 boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<boost::shared_ptr<isc::dhcp::Host>, std::allocator<boost::shared_ptr<isc::dhcp::Host> > > > >, boost::multi_index::detail::hashed_unique_tag>, boost::multi_index::detail::bucket_array<std::allocator<boost::shared_ptr<isc::dhcp::Host> > >, boost::multi_index::detail::hashed_index_global_iterator_tag> boost::multi_index::detail::hashed_index<boost::multi_index::identity<boost::shared_ptr<isc::dhcp::Host> >, boost::hash<boost::shared_ptr<isc::dhcp::Host> >, std::equal_to<boost::shared_ptr<isc::dhcp::Host> >, boost::multi_index::detail::nth_layer<2, boost::shared_ptr<isc::dhcp::Host>, boost::multi_index::indexed_by<boost::multi_index::random_access<boost::multi_index::tag<isc::host_cache::HostRandomIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> >, boost::multi_index::hashed_unique<boost::multi_index::tag<isc::host_cache::HostHashedIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::identity<boost::shared_ptr<isc::dhcp::Host> >, mpl_::na, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<isc::host_cache::HostIdentifierIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<isc::dhcp::Host, boost::multi_index::const_mem_fun<isc::dhcp::Host, std::vector<unsigned char, std::allocator<unsigned char> > const&, &(isc::dhcp::Host::getIdentifier() const)>, boost::multi_index::const_mem_fun<isc::dhcp::Host, isc::dhcp::Host::IdentifierType, &(isc::dhcp::Host::getIdentifierType() const)>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<isc::host_cache::HostAddress4IndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<isc::dhcp::Host, isc::asiolink::IOAddress const&, &(isc::dhcp::Host::getIPv4Reservation() const)>, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<boost::shared_ptr<isc::dhcp::Host> > >, boost::mpl::v_item<isc::host_cache::HostHashedIndexTag, boost::mpl::vector0<mpl_::na>, 0>, boost::multi_index::detail::hashed_unique_tag>::find<boost::shared_ptr<isc::dhcp::Host> >(boost::shared_ptr<isc::dhcp::Host> const&) const /usr/include/boost/multi_index/hashed_index.hpp:471 (host_cache_unittests+0xa2680)
#5 isc::host_cache::HostCacheImpl::remove(boost::shared_ptr<isc::dhcp::Host> const&) /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/host_cache_impl.cc:456 (host_cache_unittests+0xa2680)
#6 isc::host_cache::HostCacheImpl::del6[abi:cxx11](unsigned int const&, isc::asiolink::IOAddress const&) /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/host_cache_impl.cc:395 (host_cache_unittests+0xa2d9b)
#7 isc::host_cache::HostCache::cacheRemoveHandler(isc::hooks::CalloutHandle&) /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/host_cache.cc:887 (host_cache_unittests+0x9316a)
#8 removeHandler /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/tests/command_unittests.cc:324 (host_cache_unittests+0x567bd)
#9 int boost::_bi::list2<boost::_bi::value<boost::shared_ptr<isc::host_cache::HostCache> >, boost::arg<1> >::operator()<int, int (*)(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&), boost::_bi::rrlist1<isc::hooks::CalloutHandle&> >(boost::_bi::type<int>, int (*&)(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&), boost::_bi::rrlist1<isc::hooks::CalloutHandle&>&, long) /usr/include/boost/bind/bind.hpp:309 (host_cache_unittests+0x7be1c)
#10 int boost::_bi::bind_t<int, int (*)(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&), boost::_bi::list2<boost::_bi::value<boost::shared_ptr<isc::host_cache::HostCache> >, boost::arg<1> > >::operator()<isc::hooks::CalloutHandle&>(isc::hooks::CalloutHandle&) /usr/include/boost/bind/bind.hpp:1306 (host_cache_unittests+0x7be1c)
#11 boost::detail::function::function_obj_invoker1<boost::_bi::bind_t<int, int (*)(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&), boost::_bi::list2<boost::_bi::value<boost::shared_ptr<isc::host_cache::HostCache> >, boost::arg<1> > >, int, isc::hooks::CalloutHandle&>::invoke(boost::detail::function::function_buffer&, isc::hooks::CalloutHandle&) /usr/include/boost/function/function_template.hpp:138 (host_cache_unittests+0x7be1c)
#12 boost::function1<int, isc::hooks::CalloutHandle&>::operator()(isc::hooks::CalloutHandle&) const /usr/include/boost/function/function_template.hpp:760 (host_cache_unittests+0x5d1e9)
#13 checkCommand /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/tests/command_unittests.cc:143 (host_cache_unittests+0x5d1e9)
#14 checkCommand /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/tests/command_unittests.cc:177 (host_cache_unittests+0x622ed)
#15 TestBody /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/tests/command_unittests.cc:905 (host_cache_unittests+0x64059)
#16 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/razvan/isc/git/googletest/googletest/src/gtest.cc:2608 (host_cache_unittests+0x176588)
#17 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/razvan/isc/git/googletest/googletest/src/gtest.cc:2644 (host_cache_unittests+0x176588)
#18 testing::Test::Run() /home/razvan/isc/git/googletest/googletest/src/gtest.cc:2683 (host_cache_unittests+0x1654c4)
#19 testing::TestInfo::Run() /home/razvan/isc/git/googletest/googletest/src/gtest.cc:2860 (host_cache_unittests+0x1658c6)
#20 testing::TestSuite::Run() /home/razvan/isc/git/googletest/googletest/src/gtest.cc:3014 (host_cache_unittests+0x166533)
#21 testing::internal::UnitTestImpl::RunAllTests() /home/razvan/isc/git/googletest/googletest/src/gtest.cc:5598 (host_cache_unittests+0x166e1f)
#22 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/razvan/isc/git/googletest/googletest/src/gtest.cc:2608 (host_cache_unittests+0x176c94)
#23 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/razvan/isc/git/googletest/googletest/src/gtest.cc:2644 (host_cache_unittests+0x176c94)
#24 testing::UnitTest::Run() /home/razvan/isc/git/googletest/googletest/src/gtest.cc:5185 (host_cache_unittests+0x165a59)
#25 RUN_ALL_TESTS() /home/razvan/isc/git/googletest/googletest//include/gtest/gtest.h:2482 (host_cache_unittests+0x2aeae)
#26 main /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/tests/run_unittests.cc:16 (host_cache_unittests+0x2aeae)
Previous write of size 8 at 0x7b20000068b0 by main thread:
#0 operator delete(void*) <null> (libtsan.so.0+0x740cd)
#1 __gnu_cxx::new_allocator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<isc::host_cache::HostResrv6Tuple, std::allocator<isc::host_cache::HostResrv6Tuple> > > > >::deallocate(boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<isc::host_cache::HostResrv6Tuple, std::allocator<isc::host_cache::HostResrv6Tuple> > > >*, unsigned long) /usr/include/c++/7/ext/new_allocator.h:125 (host_cache_unittests+0xa0c95)
#2 boost::multi_index::multi_index_container<isc::host_cache::HostResrv6Tuple, boost::multi_index::indexed_by<boost::multi_index::ordered_non_unique<boost::multi_index::tag<isc::host_cache::Resv6AddressIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<isc::host_cache::HostResrv6Tuple, isc::asiolink::IOAddress const&, &(isc::host_cache::HostResrv6Tuple::getKey() const)>, mpl_::na>, boost::multi_index::ordered_unique<boost::multi_index::tag<isc::host_cache::Resv6SubnetAddressIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<isc::host_cache::HostResrv6Tuple, boost::multi_index::member<isc::host_cache::HostResrv6Tuple, unsigned int const, &isc::host_cache::HostResrv6Tuple::subnet_id_>, boost::multi_index::const_mem_fun<isc::host_cache::HostResrv6Tuple, isc::asiolink::IOAddress const&, &(isc::host_cache::HostResrv6Tuple::getKey() const)>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<isc::host_cache::HostResrv6Tuple> >::deallocate_node(boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<isc::host_cache::HostResrv6Tuple, std::allocator<isc::host_cache::HostResrv6Tuple> > > >*) /usr/include/boost/multi_index_container.hpp:536 (host_cache_unittests+0xa0c95)
#3 boost::multi_index::multi_index_container<isc::host_cache::HostResrv6Tuple, boost::multi_index::indexed_by<boost::multi_index::ordered_non_unique<boost::multi_index::tag<isc::host_cache::Resv6AddressIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<isc::host_cache::HostResrv6Tuple, isc::asiolink::IOAddress const&, &(isc::host_cache::HostResrv6Tuple::getKey() const)>, mpl_::na>, boost::multi_index::ordered_unique<boost::multi_index::tag<isc::host_cache::Resv6SubnetAddressIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<isc::host_cache::HostResrv6Tuple, boost::multi_index::member<isc::host_cache::HostResrv6Tuple, unsigned int const, &isc::host_cache::HostResrv6Tuple::subnet_id_>, boost::multi_index::const_mem_fun<isc::host_cache::HostResrv6Tuple, isc::asiolink::IOAddress const&, &(isc::host_cache::HostResrv6Tuple::getKey() const)>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<isc::host_cache::HostResrv6Tuple> >::erase_(boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<isc::host_cache::HostResrv6Tuple, std::allocator<isc::host_cache::HostResrv6Tuple> > > >*) /usr/include/boost/multi_index_container.hpp:761 (host_cache_unittests+0xa0c95)
#4 boost::multi_index::detail::index_base<isc::host_cache::HostResrv6Tuple, boost::multi_index::indexed_by<boost::multi_index::ordered_non_unique<boost::multi_index::tag<isc::host_cache::Resv6AddressIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<isc::host_cache::HostResrv6Tuple, isc::asiolink::IOAddress const&, &(isc::host_cache::HostResrv6Tuple::getKey() const)>, mpl_::na>, boost::multi_index::ordered_unique<boost::multi_index::tag<isc::host_cache::Resv6SubnetAddressIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<isc::host_cache::HostResrv6Tuple, boost::multi_index::member<isc::host_cache::HostResrv6Tuple, unsigned int const, &isc::host_cache::HostResrv6Tuple::subnet_id_>, boost::multi_index::const_mem_fun<isc::host_cache::HostResrv6Tuple, isc::asiolink::IOAddress const&, &(isc::host_cache::HostResrv6Tuple::getKey() const)>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<isc::host_cache::HostResrv6Tuple> >::final_erase_(boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<isc::host_cache::HostResrv6Tuple, std::allocator<isc::host_cache::HostResrv6Tuple> > > >*) /usr/include/boost/multi_index/detail/index_base.hpp:259 (host_cache_unittests+0xa0c95)
#5 boost::multi_index::detail::ordered_index_impl<boost::multi_index::const_mem_fun<isc::host_cache::HostResrv6Tuple, isc::asiolink::IOAddress const&, &(isc::host_cache::HostResrv6Tuple::getKey() const)>, std::less<isc::asiolink::IOAddress const>, boost::multi_index::detail::nth_layer<1, isc::host_cache::HostResrv6Tuple, boost::multi_index::indexed_by<boost::multi_index::ordered_non_unique<boost::multi_index::tag<isc::host_cache::Resv6AddressIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<isc::host_cache::HostResrv6Tuple, isc::asiolink::IOAddress const&, &(isc::host_cache::HostResrv6Tuple::getKey() const)>, mpl_::na>, boost::multi_index::ordered_unique<boost::multi_index::tag<isc::host_cache::Resv6SubnetAddressIndexTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<isc::host_cache::HostResrv6Tuple, boost::multi_index::member<isc::host_cache::HostResrv6Tuple, unsigned int const, &isc::host_cache::HostResrv6Tuple::subnet_id_>, boost::multi_index::const_mem_fun<isc::host_cache::HostResrv6Tuple, isc::asiolink::IOAddress const&, &(isc::host_cache::HostResrv6Tuple::getKey() const)>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<isc::host_cache::HostResrv6Tuple> >, boost::mpl::v_item<isc::host_cache::Resv6AddressIndexTag, boost::mpl::vector0<mpl_::na>, 0>, boost::multi_index::detail::ordered_non_unique_tag, boost::multi_index::detail::null_augment_policy>::erase(boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<isc::host_cache::HostResrv6Tuple, std::allocator<isc::host_cache::HostResrv6Tuple> > > > >) /usr/include/boost/multi_index/detail/ord_index_impl.hpp:351 (host_cache_unittests+0xa0c95)
#6 isc::host_cache::HostCacheImpl::removeResv6(boost::shared_ptr<isc::dhcp::Host> const&) /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/host_cache_impl.cc:88 (host_cache_unittests+0xa0c95)
#7 isc::host_cache::HostCacheImpl::remove(boost::shared_ptr<isc::dhcp::Host> const&) /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/host_cache_impl.cc:455 (host_cache_unittests+0xa2678)
#8 isc::host_cache::HostCacheImpl::del6[abi:cxx11](unsigned int const&, isc::asiolink::IOAddress const&) /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/host_cache_impl.cc:395 (host_cache_unittests+0xa2d9b)
#9 isc::host_cache::HostCache::cacheRemoveHandler(isc::hooks::CalloutHandle&) /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/host_cache.cc:887 (host_cache_unittests+0x9316a)
#10 removeHandler /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/tests/command_unittests.cc:324 (host_cache_unittests+0x567bd)
#11 int boost::_bi::list2<boost::_bi::value<boost::shared_ptr<isc::host_cache::HostCache> >, boost::arg<1> >::operator()<int, int (*)(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&), boost::_bi::rrlist1<isc::hooks::CalloutHandle&> >(boost::_bi::type<int>, int (*&)(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&), boost::_bi::rrlist1<isc::hooks::CalloutHandle&>&, long) /usr/include/boost/bind/bind.hpp:309 (host_cache_unittests+0x7be1c)
#12 int boost::_bi::bind_t<int, int (*)(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&), boost::_bi::list2<boost::_bi::value<boost::shared_ptr<isc::host_cache::HostCache> >, boost::arg<1> > >::operator()<isc::hooks::CalloutHandle&>(isc::hooks::CalloutHandle&) /usr/include/boost/bind/bind.hpp:1306 (host_cache_unittests+0x7be1c)
#13 boost::detail::function::function_obj_invoker1<boost::_bi::bind_t<int, int (*)(boost::shared_ptr<isc::host_cache::HostCache>, isc::hooks::CalloutHandle&), boost::_bi::list2<boost::_bi::value<boost::shared_ptr<isc::host_cache::HostCache> >, boost::arg<1> > >, int, isc::hooks::CalloutHandle&>::invoke(boost::detail::function::function_buffer&, isc::hooks::CalloutHandle&) /usr/include/boost/function/function_template.hpp:138 (host_cache_unittests+0x7be1c)
#14 boost::function1<int, isc::hooks::CalloutHandle&>::operator()(isc::hooks::CalloutHandle&) const /usr/include/boost/function/function_template.hpp:760 (host_cache_unittests+0x5d1e9)
#15 checkCommand /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/tests/command_unittests.cc:143 (host_cache_unittests+0x5d1e9)
#16 checkCommand /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/tests/command_unittests.cc:177 (host_cache_unittests+0x622ed)
#17 TestBody /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/tests/command_unittests.cc:905 (host_cache_unittests+0x64059)
#18 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/razvan/isc/git/googletest/googletest/src/gtest.cc:2608 (host_cache_unittests+0x176588)
#19 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/razvan/isc/git/googletest/googletest/src/gtest.cc:2644 (host_cache_unittests+0x176588)
#20 testing::Test::Run() /home/razvan/isc/git/googletest/googletest/src/gtest.cc:2683 (host_cache_unittests+0x1654c4)
#21 testing::TestInfo::Run() /home/razvan/isc/git/googletest/googletest/src/gtest.cc:2860 (host_cache_unittests+0x1658c6)
#22 testing::TestSuite::Run() /home/razvan/isc/git/googletest/googletest/src/gtest.cc:3014 (host_cache_unittests+0x166533)
#23 testing::internal::UnitTestImpl::RunAllTests() /home/razvan/isc/git/googletest/googletest/src/gtest.cc:5598 (host_cache_unittests+0x166e1f)
#24 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/razvan/isc/git/googletest/googletest/src/gtest.cc:2608 (host_cache_unittests+0x176c94)
#25 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/razvan/isc/git/googletest/googletest/src/gtest.cc:2644 (host_cache_unittests+0x176c94)
#26 testing::UnitTest::Run() /home/razvan/isc/git/googletest/googletest/src/gtest.cc:5185 (host_cache_unittests+0x165a59)
#27 RUN_ALL_TESTS() /home/razvan/isc/git/googletest/googletest//include/gtest/gtest.h:2482 (host_cache_unittests+0x2aeae)
#28 main /home/razvan/isc/git/kea-review/premium/src/hooks/dhcp/host_cache/tests/run_unittests.cc:16 (host_cache_unittests+0x2aeae)
SUMMARY: ThreadSanitizer: heap-use-after-free /usr/include/boost/smart_ptr/shared_ptr.hpp:1153 in unsigned long boost::hash_value<isc::dhcp::Host>(boost::shared_ptr<isc::dhcp::Host> const&)
```
I prefer the fix in the comments, not the one in the MR. I'll update the MR if there is no issue with the second fix.kea1.7.8Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/stork/-/issues/264problem with parsing kea config with comments2022-01-04T12:33:56ZMichal Nowikowskiproblem with parsing kea config with commentsWhen `http-port` setting in kea config is commented out then agent will incorrectly take it as valid setting.When `http-port` setting in kea config is commented out then agent will incorrectly take it as valid setting.1.1Slawek FigielSlawek Figielhttps://gitlab.isc.org/isc-projects/kea/-/issues/1216Modify the DDNS FQDN format from DHCP42020-05-20T15:05:36ZvarsrajaModify the DDNS FQDN format from DHCP4
Kea version : 1.6.2
Services used: DHCP4 , DHCP-DDNS
Issue:
I would like to modify how the default FQDN is generated in the DHCP4 server for DDNS update.
By default we have the <prefix>-<IP-address-hyphenated>.<suffix> [eg abc-x...
Kea version : 1.6.2
Services used: DHCP4 , DHCP-DDNS
Issue:
I would like to modify how the default FQDN is generated in the DHCP4 server for DDNS update.
By default we have the <prefix>-<IP-address-hyphenated>.<suffix> [eg abc-x.x.x.x.mnp.com].
I would like to generate the same using mac address instead of ip-address [eg abc-macaddress.mnp.com]
1. Is there any configuration that is available to achieve this?
2. Can someone please let me know if I will be able to write a hook to achieve this.
Ps: I referred to following mail threads but am not able to access the bug tickets mentioned in them.
1. https://lists.isc.org/pipermail/kea-users/2016-January/000205.html
2. http://kea-users.7364.n8.nabble.com/Kea-users-Issue-with-DDNS-updates-td229.html#a234
Thanks
VarshaThomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/1215Pkt<4/6>::getName() should support all message type names2020-05-13T14:33:40ZThomas MarkwalderPkt<4/6>::getName() should support all message type namesNotably missing from Pkt4::getName() are the lease query related message types. It would be handy if we returned labels for all the types, not just those we handle.Notably missing from Pkt4::getName() are the lease query related message types. It would be handy if we returned labels for all the types, not just those we handle.kea1.7.8Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/1213fix sphinx list rendering2020-05-13T14:42:15ZFrancis Dupontfix sphinx list renderingSphinx seems a bit picky about list, for instance:
```
- ``foo`` - explain foo here
and bla bla...
```
is not rendered as:
```
- ``foo`` - explain foo here
and this bugs?
```
This issue should fix all instances of this problem ...Sphinx seems a bit picky about list, for instance:
```
- ``foo`` - explain foo here
and bla bla...
```
is not rendered as:
```
- ``foo`` - explain foo here
and this bugs?
```
This issue should fix all instances of this problem kept by translation to sphinx.kea1.7.8Francis DupontFrancis Dupont