Kea issues
https://gitlab.isc.org/isc-projects/kea/-/issues
2024-03-21T15:03:05Z
https://gitlab.isc.org/isc-projects/kea/-/issues/3301
Add missing YANG nodes before the 2.6.0 release
2024-03-21T15:03:05Z
Andrei Pavel
andrei@isc.org
Add missing YANG nodes before the 2.6.0 release
Missing YANG nodes:
- `ddns-conflict-resolution-mode`
- `retry-on-startup`
Missing YANG nodes:
- `ddns-conflict-resolution-mode`
- `retry-on-startup`
kea2.6.0
https://gitlab.isc.org/isc-projects/kea/-/issues/3216
Setting YANG list elements with singlequotes in key values is not possible in...
2024-01-18T14:58:00Z
Andrei Pavel
andrei@isc.org
Setting YANG list elements with singlequotes in key values is not possible in our unit testing framework
Our internal NETCONF test framework in the form of `YangRepr`, particularly the `YangRepr::set` functionality does not support setting list elements that have singlequotes in the value of a key. This is because setting a node is done by ...
Our internal NETCONF test framework in the form of `YangRepr`, particularly the `YangRepr::set` functionality does not support setting list elements that have singlequotes in the value of a key. This is because setting a node is done by providing the xpath as a plain string and singlequotes are used to delimit the value of the key, so upon finding a singlequote in the value, the libyang parser thinks the value ends sooner than it actually does and does not know what to do with the rest of the xpath.
This is not a problem in production code, because production code has no need for setting YANG nodes, but instead is only concerned with retrieving them from the sysrepo datastore.
The issue may become more prevalent if issue 3198 gets merged as it was written at the time this issue was created. It makes `data` a key which is more likely to contain a singlequote than other keys, which is also why this issue became obvious there. The issue occurred in unit tests.
```
[ RUN ] ConfigTestKeaV4.examples4
libyang[0]: Invalid character 0x73 ('s'), perhaps "'Error: here'" is supposed to be a function call.
config_unittests.cc:332: Failure
Failed
json = loadFile(path) threw type: N3isc4yang12NetconfErrorE, what: setting item 'nullopt' at '/kea-dhcp4-server:config/option-data[code='56'][space='dhcp4'][data='Error: here's a DHCPNAK!']': Session::setItem: Couldn't set '/kea-dhcp4-server:config/option-data[code='56'][space='dhcp4'][data='Error: here's a DHCPNAK!']': SR_ERR_INVAL_ARG
Google Test trace:
config_unittests.cc:330:
* Tested file: /home/andrei/work/isc/kea-3198-vivso-suboptions-not-properly-supported-in-netconf/doc/examples/kea4/all-options.json
[ FAILED ] ConfigTestKeaV4.examples4 (509 ms)
```
This change was done to avoid it:
```diff
diff --git a/doc/examples/kea4/all-options.json b/doc/examples/kea4/all-options.json
index 5e7d7ccbc7..f52105691b 100644
--- a/doc/examples/kea4/all-options.json
+++ b/doc/examples/kea4/all-options.json
@@ -691,3 +691,3 @@
"code": 56,
- "data": "Error: here's a DHCPNAK!",
+ "data": "Error: here is a DHCPNAK!",
"name": "dhcp-message"
```
One may think of encoding the singlequote as Kea does with the commas in user-context under the lease CSV files. That is not ideal, if even possible, since the singlequote would need to be decoded in get unctionality which means it has an effect on production code, but moreover it might not be compatible with setting outside `YangRepr`, via e.g. sysrepocfg.
outstanding
https://gitlab.isc.org/isc-projects/kea/-/issues/3215
Changing the value of a key in a YANG list element creates a new node rather ...
2024-01-25T14:52:44Z
Andrei Pavel
andrei@isc.org
Changing the value of a key in a YANG list element creates a new node rather than replacing it
The title may be over-generalizing, but I suspect not.
I experienced this issue with option-data for kea-dhcp4.
The issue manifests in master and 2.4.1 with sysrepo v2, but also in 2.2.1 with sysrepo v1.
The issue may become more prev...
The title may be over-generalizing, but I suspect not.
I experienced this issue with option-data for kea-dhcp4.
The issue manifests in master and 2.4.1 with sysrepo v2, but also in 2.2.1 with sysrepo v1.
The issue may become more prevalent if issue 3198 gets merged as it was written at the time this issue was created. It makes `data` a key and that makes it more likely to have entries with only code, space and data (all keys), which is also why this issue became obvious there.
Replication:
1. Start kea-dhcp4 with a control-socket configured.
2. Start kea-netconf with the same control-socket configured under the `"dhcp4"` server.
3. Do a `sysrepocfg --edit=kea-dhcp4-config.xml` where `kea-dhcp4-config.xml` has this content:
```xml
<config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp4-server">
<control-socket>
<socket-name>/tmp/kea-dhcp4-ctrl.sock</socket-name>
<socket-type>unix</socket-type>
</control-socket>
<option-data>
<code>100</code>
<space>dhcp4</space>
<data>1234</data>
</option-data>
</config>
```
4. Run the command again with `<code>100</code>` changed to `<code>101</code>`.
Only one option was expected as specified in the XML, but there are two options as indicated by the kea-netconf logs:
```
DEBUG [kea-netconf.netconf] NETCONF_UPDATE_CONFIG updating configuration with dhcp4 server: {
"Dhcp4": {
"control-socket": {
"socket-name": "/tmp/kea-dhcp4-ctrl.sock",
"socket-type": "unix"
},
"option-data": [
{
"code": 100,
"data": "1234",
"space": "dhcp4"
},
{
"code": 101,
"data": "1234",
"space": "dhcp4"
}
]
}
}
INFO [kea-netconf.netconf] NETCONF_UPDATE_CONFIG_COMPLETED completed updating configuration for dhcp4 server
```
and by the response to a subsequent `config-get` command which contains:
```
"option-data": [
{
"always-send": false,
"code": 100,
"csv-format": true,
"data": "1234",
"name": "tcode",
"space": "dhcp4"
},
{
"always-send": false,
"code": 101,
"csv-format": true,
"data": "1234",
"name": "pcode",
"space": "dhcp4"
}
],
```
https://gitlab.isc.org/isc-projects/kea/-/issues/3199
Minor Netconf documentation issue
2024-01-11T15:07:21Z
Darren Ankney
Minor Netconf documentation issue
As of the 2.4.1 version of the documentation, the ARM shows `output-options` in the example `kea-netconf` configurations found under https://kea.readthedocs.io/en/kea-2.4.1/arm/integrations.html#yang-netconf The `kea-netconf` daemon refu...
As of the 2.4.1 version of the documentation, the ARM shows `output-options` in the example `kea-netconf` configurations found under https://kea.readthedocs.io/en/kea-2.4.1/arm/integrations.html#yang-netconf The `kea-netconf` daemon refuses to start until these are changed to `output_options` when using Kea 2.4.1 matching the version of the ARM.
https://gitlab.isc.org/isc-projects/kea/-/issues/3014
Unable to complete make when tryin to install NETCONF
2023-09-21T13:18:55Z
Sandeep Gagalapally
Unable to complete make when tryin to install NETCONF
---
name: Bug report
about: make is stuck when installing NETCONF
---
**Describe the bug**
Unable to complete make when tryin to install NETCONF
**To Reproduce**
Steps to reproduce the behavior:
Followed this documentation : https://...
---
name: Bug report
about: make is stuck when installing NETCONF
---
**Describe the bug**
Unable to complete make when tryin to install NETCONF
**To Reproduce**
Steps to reproduce the behavior:
Followed this documentation : https://kea.readthedocs.io/en/kea-2.4.0/arm/integrations.html#installing-netconf
```
git clone gitlab.isc.org/isc-projects/kea.git
cd kea
autoreconf -f -i
./configure --with-libyang --with-libyang-cpp --with-sysrepo --with-sysrepo-cpp
make - Stuck at this step !!
```
Stuck here
make[5]: Entering directory '/home/ubuntu/kea/src/lib/dhcp'
CXX libkea_dhcp___la-iface_mgr.lo
**Expected behavior**
Complete NETCONF Installation with no issues.
**Environment:**
- Kea version: 2.0.2
- OS: [Ubuntu 22.04.3 LTS amd64]
- Which features were compiled in (in particular which backends)
- If/which hooks where loaded in
**Additional Information**
Error: make[5]: Entering directory '/home/ubuntu/kea/src/lib/dhcp'
CXX libkea_dhcp___la-iface_mgr.lo
**Contacting you**
Please contact via email at sgagalap@gmail.com
https://gitlab.isc.org/isc-projects/kea/-/issues/2832
Add missing YANG configuration knobs for the Kea 2.4.0 release
2023-07-17T13:58:21Z
Andrei Pavel
andrei@isc.org
Add missing YANG configuration knobs for the Kea 2.4.0 release
These knobs are missing from the Kea YANG modules:
- `allocator`
- `ddns-ttl-percent`
- `exclude-first-last-24`
- `ignore-dhcp-server-identifier`
- `offer-lifetime`
- `pd-allocator`
- `read-timeout`
- `tcp-user-timeout`
- `write-timeout`
These knobs are missing from the Kea YANG modules:
- `allocator`
- `ddns-ttl-percent`
- `exclude-first-last-24`
- `ignore-dhcp-server-identifier`
- `offer-lifetime`
- `pd-allocator`
- `read-timeout`
- `tcp-user-timeout`
- `write-timeout`
kea2.3.8
Andrei Pavel
andrei@isc.org
Andrei Pavel
andrei@isc.org
https://gitlab.isc.org/isc-projects/kea/-/issues/2818
Read YAML configuration file
2023-04-13T13:47:19Z
Vicky Risk
vicky@isc.org
Read YAML configuration file
In today's webinar on configuring custom options, a participant asked whether we could enable configuration in YAML instead of JSON. Carsten revealed that he uses a YAML <-> JSON translator so he can work in YAML but still feed Kea JSON....
In today's webinar on configuring custom options, a participant asked whether we could enable configuration in YAML instead of JSON. Carsten revealed that he uses a YAML <-> JSON translator so he can work in YAML but still feed Kea JSON. It was suggested that maybe we could make Kea recognize whether the configuration file is in YAML or JSON, and in case of YAML, run this translator first. It seems like there might be a useful usability improvement in here somewhere.
backlog
https://gitlab.isc.org/isc-projects/kea/-/issues/2667
sysrepo-cpp and libyang-cpp flags are not propagated to distcheck (after migr...
2023-05-16T12:55:56Z
Razvan Becheriu
sysrepo-cpp and libyang-cpp flags are not propagated to distcheck (after migrating code to sysrepo2)
current-stable-2.4
https://gitlab.isc.org/isc-projects/kea/-/issues/2617
Wdeprecated-declarations warnings on std::iterator
2023-07-17T13:58:23Z
Andrei Pavel
andrei@isc.org
Wdeprecated-declarations warnings on std::iterator
Started getting these warnings after the migration to sysrepo v2. These should be all of them:
```
encode/base_n.cc:170:33: warning: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::i...
Started getting these warnings after the migration to sysrepo v2. These should be all of them:
```
encode/base_n.cc:170:33: warning: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator’ is deprecated [-Wdeprecated-declarations]
170 | class DecodeNormalizer : public iterator<input_iterator_tag, char> {
| ^~~~~~~~
encode/base_n.cc:115:33: warning: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator’ is deprecated [-Wdeprecated-declarations]
115 | class EncodeNormalizer : public iterator<input_iterator_tag, uint8_t> {
| ^~~~~~~~
../../../src/lib/dns/message.h:91:37: warning: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator’ is deprecated [-Wdeprecated-declarations]
91 | class SectionIterator : public std::iterator<std::input_iterator_tag, T> {
| ^~~~~~~~
../../../src/lib/dns/rrset_collection_base.h:156:27: warning: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator’ is deprecated [-Wdeprecated-declarations]
156 | class Iterator : std::iterator<std::forward_iterator_tag,
| ^~~~~~~~
```
[The paper](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r2.html#2.1) that deprecated it seems to have done so because of the bad practice of having to derive classes in the `std` library.
Proposing to fix them. After minimal research, it would seem that removing the inheritance and having a few using declarations inside the formerly-derived class is sufficient e.g.:
```
using iterator_category = std::input_iterator_tag;
using value_type = T;
```
kea2.3.4
Andrei Pavel
andrei@isc.org
Andrei Pavel
andrei@isc.org
https://gitlab.isc.org/isc-projects/kea/-/issues/2601
Refactor NETCONF code after migrating to sysrepo2
2023-07-17T13:58:23Z
Andrei Pavel
andrei@isc.org
Refactor NETCONF code after migrating to sysrepo2
Issue 2311 migrated the code to sysrepo2, but did a minimum amount of changes required to do so. Because of that, there are some parts of the code that are not completely adjusted to the new dependencies. Here are some of the proposed ch...
Issue 2311 migrated the code to sysrepo2, but did a minimum amount of changes required to do so. Because of that, there are some parts of the code that are not completely adjusted to the new dependencies. Here are some of the proposed changes that would make the code more cohesive or that would just refactor the code for improved readability:
* The basic translators might not be able to translate all data types. The migration was done in a best-effort approach to apease the unit tests. But there is a noticeable lack of tests for unions and leafrefs for example. `keatest-module` has unions, but only one variant of it is tested. There is [this discussion in the MR from 2311](https://gitlab.isc.org/isc-projects/kea/-/merge_requests/1811#note_323844) that details one test case.
* Consider removing the `LeafBaseType` argument from `TranslatorBasic::value()`. The information available in the given `ElementPtr` might be enough to do the translation.
* Rename `s_val` to `data_node` where appropriate. The data type was changed from `S_Value` to `DataNode`, but the variable name was left the same to minimize changes. They are not equivalent. The former represents the value of a leaf or leaf-list member. The latter can represent an entire tree of data.
* Have references with meaningful names to `service_pair.first` and `service_pair.second` in `src/bin/netconf`. It's confusing what is one and what is the other. The first one is the module name, and the other is the kea-netconf configuration, I think.
* Rename `SysrepoError` to `NetconfError`. Errors can come from both libyang and sysrepo, so let's be inclusive.
* Consider changing `ConstElementPtr`s to `ElementPtr`s in `src/lib/yang` and `src/bin/netconf` and, with this, remove the need for `const_pointer_cast`. I like to squabble about the undefined behavior that these present, and if we're not removing them from everywhere, I would like to have it removed at least in the code that I am responsible for.
* Consider renaming methods in `TranslatorBasic`. I think their names can be more representative of what they do, especially after the migration.
* Solve doxygen warnings about functions with the same name in `src/lib/yang`.
* Use `checkAndGetLeaf` and `checkAndSetLeaf` where possible in translators.
* `decode64` and `encode64` are free-standing functions in `translator.cc`, but they can just as well be private methods inside `TranslatorBasic`.
* Consider doing something about `NETCONF_SUBSCRIBE_NOTIFICATIONS_FAILED`. It's an error message that shows up for the Kea modules because they don't have any notification nodes. kea-netconf continues regardless. We could at least turn it into a warning message.
* Solve the few TODOs in `src/lib/yang`.
* Replace `EXPECT_NO_THROW` with `EXPECT_NO_THROW_LOG` in `src/lib/yang` and `src/bin/netconf` for more insight when tests fail.
* Replace `EXPECT_THROW` with `EXPECT_THROW_MSG` in `src/lib/yang` and `src/bin/netconf` for stricter checking.
kea2.3.3
Andrei Pavel
andrei@isc.org
Andrei Pavel
andrei@isc.org
https://gitlab.isc.org/isc-projects/kea/-/issues/2558
fixes for YANG unit tests
2023-07-17T13:58:24Z
Andrei Pavel
andrei@isc.org
fixes for YANG unit tests
The recent expansion of distcheck scope revealed some unit test problems:
* Alpines:
```sh
../../../../../../../src/share/yang/modules/utils/check-revisions.sh: line 27: yanglint: not found
revision mismatch on keatest-module@2018-11-20...
The recent expansion of distcheck scope revealed some unit test problems:
* Alpines:
```sh
../../../../../../../src/share/yang/modules/utils/check-revisions.sh: line 27: yanglint: not found
revision mismatch on keatest-module@2018-11-20.yang got
FAIL: check-revisions.sh
```
* RPM distros:
```sh
yanglint: error while loading shared libraries: libyang.so.1: cannot open shared object file: No such file or directory
revision mismatch on kea-types@2019-08-12.yang got
FAIL: check-revisions.sh
```
https://jenkins.aws.isc.org/job/kea-dev/job/distcheck/869/
These also happen on ut-extended, but because we run those with `make check -k ...`, they don't stop the job and the errors are not put in the report and not detected.
kea2.3.1
Andrei Pavel
andrei@isc.org
Andrei Pavel
andrei@isc.org
https://gitlab.isc.org/isc-projects/kea/-/issues/2518
RFC9243: YANG for DHCPv6
2022-10-14T11:17:11Z
Tomek Mrugalski
RFC9243: YANG for DHCPv6
Now that [rfc9243](https://datatracker.ietf.org/doc/html/rfc9243) has been published, it's a good time to consider whether we want to abandon Kea specific YANG model and migrate to a standard one or stick with it.
If you are a user who ...
Now that [rfc9243](https://datatracker.ietf.org/doc/html/rfc9243) has been published, it's a good time to consider whether we want to abandon Kea specific YANG model and migrate to a standard one or stick with it.
If you are a user who deployed Kea with NETCONF, please share your thoughts on this.
Alternatively, we could support both models, but it seems more troublesome to maintain in the long term.
outstanding
https://gitlab.isc.org/isc-projects/kea/-/issues/2400
improve performance of NETCONF operations by retrieving items in bulk
2023-07-17T13:58:24Z
Andrei Pavel
andrei@isc.org
improve performance of NETCONF operations by retrieving items in bulk
Data often needs to be retrieved from a sysrepo datastore. Such an action is done, among other opportunities, every time a change is brought to the configuration. kea-netconf currently calls `Session::get_item()` for all leaves and `Sess...
Data often needs to be retrieved from a sysrepo datastore. Such an action is done, among other opportunities, every time a change is brought to the configuration. kea-netconf currently calls `Session::get_item()` for all leaves and `Session::get_items()` for all leaf lists. The repeated calls to these functions hinder performance as shown by the call graph below[0] which is collected after a minor change is done through NETCONF to a configuration with 114 subnets. This action takes 10 seconds on my laptop which might seem reasonable, but it can take significantly more on lesser provisioned systems. The performance also seems to worsen quadratically. See [RT#20676](https://support.isc.org/Ticket/Display.html?id=20676) for a distribution of measurements over configuration sizes.
The performance could be improved by doing a single run to the sysrepo datastore and retrieving the entire configuration data in one go. Retrieving the entire configuration seems to be a requirement because we validate it before comitting any minor change. If this had not been a requirement, we could only retrieve the changed node and apply it to the already committed configuration.
As such, the bulk retrieval could be done via `sr_get_items()` / `Session::get_items()` on the top-level node. The efficiency of this approach is also mentioned in Sysrepo code:
https://github.com/sysrepo/sysrepo/blob/v1.4.140/src/sysrepo.h#L749-L751
```
* @see Use ::sr_get_items for retrieving larger chunks
* of data from the datastore. Since it retrieves the data from datastore in
* larger chunks, it can work much more efficiently than multiple ::sr_get_item calls.
```
Or, in the case that it only works on leaf lists, then `sr_get_data()` / `Session::get_data()` would be the alternative:
https://github.com/sysrepo/sysrepo/blob/v1.4.140/src/sysrepo.h#L805-L806
```
* Top-level trees are always returned so if an inner node is selected, all of its descendants
* and its direct parents (lists also with keys) are returned.
```
[0] Click and zoom. See how most of the time is spent in `sr_get_item` and `lyb_parse_subtree`.
![sysrepo-call-graph](/uploads/d3495dee5000dfb108cc0afe23bb362c/sysrepo-call-graph.png)
kea2.3.2
Andrei Pavel
andrei@isc.org
Andrei Pavel
andrei@isc.org
https://gitlab.isc.org/isc-projects/kea/-/issues/2311
Any plans to update netconf support package from libyang1 to libyang2?
2024-01-22T08:33:33Z
Shin
Any plans to update netconf support package from libyang1 to libyang2?
As indicated by
"https://kea.readthedocs.io/en/latest/arm/integrations.html"
"To get its NETCONF capabilities, Kea uses libyang v1.0.240 and Sysrepo v1.4.140. Use packages if they are provided by the system."
Currently ISC kea support l...
As indicated by
"https://kea.readthedocs.io/en/latest/arm/integrations.html"
"To get its NETCONF capabilities, Kea uses libyang v1.0.240 and Sysrepo v1.4.140. Use packages if they are provided by the system."
Currently ISC kea support libyang version 1.
Do we have any plans to update it to libyang2?
Currently latest libyang version is Version 2.0.112
https://github.com/CESNET/libyang/releases/tag/v2.0.112
kea2.3.2
Andrei Pavel
andrei@isc.org
Andrei Pavel
andrei@isc.org
https://gitlab.isc.org/isc-projects/kea/-/issues/2143
./configure --with-libyang passes but should fail when libyang is not installed
2022-10-21T20:13:42Z
Andrei Pavel
andrei@isc.org
./configure --with-libyang passes but should fail when libyang is not installed
kea2.3.2
https://gitlab.isc.org/isc-projects/kea/-/issues/2136
Update yang model with valid-lifetime for classes
2021-11-18T20:55:14Z
Peter Davies
Update yang model with valid-lifetime for classes
Update yang model with valid-lifetime for classes :
The latest kea-dhcp4 yang model for netconf does not include “valid-lifetime” for classes, which was introduced in Kea 1.9.11.
RT [#19492](https://support.isc.org/Ticket/Display.htm...
Update yang model with valid-lifetime for classes :
The latest kea-dhcp4 yang model for netconf does not include “valid-lifetime” for classes, which was introduced in Kea 1.9.11.
RT [#19492](https://support.isc.org/Ticket/Display.html?id=19492)
kea2.1.1
Andrei Pavel
andrei@isc.org
Andrei Pavel
andrei@isc.org
https://gitlab.isc.org/isc-projects/kea/-/issues/2061
TSAN warnings in kea-netconf - also fix UT crash on MacOS
2021-08-30T11:39:47Z
Razvan Becheriu
TSAN warnings in kea-netconf - also fix UT crash on MacOS
```
[ RUN ] keactrl.start_all_servers_verbose_test
Creating Dhcp4 configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/dhcp4_test_config.conf.json.
Creating Dhcp6 configuration file: /home/razvan/isc/git/kea-work/...
```
[ RUN ] keactrl.start_all_servers_verbose_test
Creating Dhcp4 configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/dhcp4_test_config.conf.json.
Creating Dhcp6 configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/dhcp6_test_config.conf.json.
Creating D2 configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/d2_test_config.conf.json.
Creating Ca configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/ca_test_config.conf.json.
Creating Nc configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/nc_test_config.conf.json.
Creating keactrl configuration file: /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/keactrl_test.conf.
Kea log will be stored in /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/test.log.
Starting Kea: /home/razvan/isc/git/kea-work/src/bin/keactrl/keactrl start -c /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/keactrl_test.conf
INFO/keactrl: Starting /home/razvan/isc/git/kea-work/src/bin/dhcp4/kea-dhcp4 -c /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/dhcp4_test_config.conf.json -d
INFO/keactrl: Starting /home/razvan/isc/git/kea-work/src/bin/dhcp6/kea-dhcp6 -c /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/dhcp6_test_config.conf.json -d
INFO/keactrl: Starting /home/razvan/isc/git/kea-work/src/bin/d2/kea-dhcp-ddns -c /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/d2_test_config.conf.json -d
INFO/keactrl: Starting /home/razvan/isc/git/kea-work/src/bin/agent/kea-ctrl-agent -c /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/ca_test_config.conf.json -d
INFO/keactrl: Starting /home/razvan/isc/git/kea-work/src/bin/netconf/kea-netconf -c /home/razvan/isc/git/kea-work/src/bin/keactrl/tests/nc_test_config.conf.json -d
INFO/test_lib: wait_for_message DHCP6_CONFIG_COMPLETE: .==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800000200 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::deallocate(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7018c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7018c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_put_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7018c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7018c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7018c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#8 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#9 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x701e6)
#10 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x701e6)
#11 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800000200 by thread T1:
#0 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/basic_string.h:451 (kea-netconf+0x64f08)
#1 std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::pair(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) /usr/include/c++/9/bits/stl_pair.h:303 (kea-netconf+0x64f08)
#2 isc::netconf::NetconfAgent::checkModules(boost::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<isc::netconf::CfgServer>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::shared_ptr<isc::netconf::CfgServer> > > > > const&) const /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:333 (kea-netconf+0x64f08)
#3 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:172 (kea-netconf+0x6c0a7)
#4 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#5 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#6 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#7 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#8 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#9 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#10 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800000208 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::deallocate(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7018c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7018c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_put_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7018c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7018c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7018c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#8 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#9 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x701e6)
#10 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x701e6)
#11 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800000208 by thread T1:
#0 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/basic_string.h:451 (kea-netconf+0x64f15)
#1 std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::pair(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) /usr/include/c++/9/bits/stl_pair.h:303 (kea-netconf+0x64f15)
#2 isc::netconf::NetconfAgent::checkModules(boost::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<isc::netconf::CfgServer>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::shared_ptr<isc::netconf::CfgServer> > > > > const&) const /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:333 (kea-netconf+0x64f15)
#3 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:172 (kea-netconf+0x6c0a7)
#4 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#5 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#6 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#7 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#8 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#9 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#10 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800000210 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::deallocate(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7018c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7018c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_put_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7018c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7018c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7018c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#8 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70141)
#9 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x701e6)
#10 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x701e6)
#11 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800000210 by thread T1:
#0 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 (libtsan.so.0+0x42313)
#1 memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:815 (libtsan.so.0+0x42313)
#2 std::char_traits<char>::copy(char*, char const*, unsigned long) /usr/include/c++/9/bits/char_traits.h:365 (kea-netconf+0x4bba1)
#3 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) /usr/include/c++/9/bits/basic_string.h:351 (kea-netconf+0x4bba1)
#4 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) /usr/include/c++/9/bits/basic_string.h:346 (kea-netconf+0x4bba1)
#5 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy_chars(char*, char*, char*) /usr/include/c++/9/bits/basic_string.h:393 (kea-netconf+0x4bba1)
#6 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) /usr/include/c++/9/bits/basic_string.tcc:225 (kea-netconf+0x4bba1)
#7 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*>(char*, char*, std::__false_type) /usr/include/c++/9/bits/basic_string.h:247 (kea-netconf+0x64f27)
#8 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*) /usr/include/c++/9/bits/basic_string.h:266 (kea-netconf+0x64f27)
#9 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/basic_string.h:451 (kea-netconf+0x64f27)
#10 std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::pair(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) /usr/include/c++/9/bits/stl_pair.h:303 (kea-netconf+0x64f27)
#11 isc::netconf::NetconfAgent::checkModules(boost::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<isc::netconf::CfgServer>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::shared_ptr<isc::netconf::CfgServer> > > > > const&) const /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:333 (kea-netconf+0x64f27)
#12 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:172 (kea-netconf+0x6c0a7)
#13 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#14 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#15 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#16 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#17 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#18 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#19 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b18000088b8 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::deallocate(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7036c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >&, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7036c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_put_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7036c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7036c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7036c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#8 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x64826)
#9 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x64826)
#10 isc::netconf::NetconfAgent::~NetconfAgent() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:150 (kea-netconf+0x64826)
#11 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#12 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#13 void boost::checked_delete<isc::process::DProcessBase>(isc::process::DProcessBase*) /usr/include/boost/core/checked_delete.hpp:36 (libkea-process.so.28+0x4b6f3)
#14 boost::detail::sp_counted_impl_p<isc::process::DProcessBase>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (libkea-process.so.28+0x4b6f3)
#15 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x433da)
#16 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x433da)
#17 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x433da)
#18 boost::shared_ptr<isc::process::DProcessBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x433da)
#19 isc::process::DControllerBase::~DControllerBase() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:807 (libkea-process.so.28+0x433da)
#20 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#21 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#22 void boost::checked_delete<isc::netconf::NetconfController>(isc::netconf::NetconfController*) /usr/include/boost/core/checked_delete.hpp:36 (kea-netconf+0x2e8ad)
#23 boost::detail::sp_counted_impl_p<isc::netconf::NetconfController>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (kea-netconf+0x2e8ad)
#24 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x4cfda)
#25 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x4cfda)
#26 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x4cfda)
#27 boost::shared_ptr<isc::process::DControllerBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x4cfda)
#28 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 1 at 0x7b18000088bc by thread T1:
#0 memcmp ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:887 (libtsan.so.0+0x6518f)
#1 memcmp ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:883 (libtsan.so.0+0x6518f)
#2 std::char_traits<char>::compare(char const*, char const*, unsigned long) /usr/include/c++/9/bits/char_traits.h:325 (kea-netconf+0x712a7)
#3 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/basic_string.h:2859 (kea-netconf+0x712a7)
#4 bool std::operator< <char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/basic_string.h:6229 (kea-netconf+0x712a7)
#5 std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_function.h:386 (kea-netconf+0x712a7)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_get_insert_unique_pos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_tree.h:2106 (kea-netconf+0x712a7)
#7 std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, bool> std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_emplace_unique<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_tree.h:2413 (kea-netconf+0x712a7)
#8 std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, bool> std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_map.h:575 (kea-netconf+0x65865)
#9 isc::netconf::NetconfAgent::getModules() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:288 (kea-netconf+0x65865)
#10 isc::netconf::NetconfAgent::initSysrepo() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:266 (kea-netconf+0x66324)
#11 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:169 (kea-netconf+0x6c097)
#12 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#13 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#14 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#15 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#16 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#17 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#18 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800008b30 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::deallocate(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7036c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >&, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7036c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_put_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7036c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7036c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7036c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x64826)
#8 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x64826)
#9 isc::netconf::NetconfAgent::~NetconfAgent() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:150 (kea-netconf+0x64826)
#10 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#11 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#12 void boost::checked_delete<isc::process::DProcessBase>(isc::process::DProcessBase*) /usr/include/boost/core/checked_delete.hpp:36 (libkea-process.so.28+0x4b6f3)
#13 boost::detail::sp_counted_impl_p<isc::process::DProcessBase>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (libkea-process.so.28+0x4b6f3)
#14 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x433da)
#15 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x433da)
#16 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x433da)
#17 boost::shared_ptr<isc::process::DProcessBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x433da)
#18 isc::process::DControllerBase::~DControllerBase() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:807 (libkea-process.so.28+0x433da)
#19 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#20 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#21 void boost::checked_delete<isc::netconf::NetconfController>(isc::netconf::NetconfController*) /usr/include/boost/core/checked_delete.hpp:36 (kea-netconf+0x2e8ad)
#22 boost::detail::sp_counted_impl_p<isc::netconf::NetconfController>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (kea-netconf+0x2e8ad)
#23 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x4cfda)
#24 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x4cfda)
#25 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x4cfda)
#26 boost::shared_ptr<isc::process::DControllerBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x4cfda)
#27 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800008b30 by thread T1:
#0 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_lower_bound(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > const*, std::_Rb_tree_node_base const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_tree.h:1946 (kea-netconf+0x7062b)
#1 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_tree.h:2570 (kea-netconf+0x7062b)
#2 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_map.h:1194 (kea-netconf+0x64f77)
#3 isc::netconf::NetconfAgent::checkModules(boost::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<isc::netconf::CfgServer>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::shared_ptr<isc::netconf::CfgServer> > > > > const&) const /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:334 (kea-netconf+0x64f77)
#4 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:172 (kea-netconf+0x6c0a7)
#5 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#6 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#7 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#8 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#9 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#10 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#11 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800008b38 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::deallocate(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7036c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >&, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7036c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_put_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7036c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7036c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7036c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x64826)
#8 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x64826)
#9 isc::netconf::NetconfAgent::~NetconfAgent() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:150 (kea-netconf+0x64826)
#10 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#11 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#12 void boost::checked_delete<isc::process::DProcessBase>(isc::process::DProcessBase*) /usr/include/boost/core/checked_delete.hpp:36 (libkea-process.so.28+0x4b6f3)
#13 boost::detail::sp_counted_impl_p<isc::process::DProcessBase>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (libkea-process.so.28+0x4b6f3)
#14 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x433da)
#15 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x433da)
#16 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x433da)
#17 boost::shared_ptr<isc::process::DProcessBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x433da)
#18 isc::process::DControllerBase::~DControllerBase() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:807 (libkea-process.so.28+0x433da)
#19 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#20 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#21 void boost::checked_delete<isc::netconf::NetconfController>(isc::netconf::NetconfController*) /usr/include/boost/core/checked_delete.hpp:36 (kea-netconf+0x2e8ad)
#22 boost::detail::sp_counted_impl_p<isc::netconf::NetconfController>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (kea-netconf+0x2e8ad)
#23 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x4cfda)
#24 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x4cfda)
#25 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x4cfda)
#26 boost::shared_ptr<isc::process::DControllerBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x4cfda)
#27 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800008b38 by thread T1:
#0 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_get_insert_unique_pos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_tree.h:2096 (kea-netconf+0x711fa)
#1 std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, bool> std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_emplace_unique<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_tree.h:2413 (kea-netconf+0x711fa)
#2 std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, bool> std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_map.h:575 (kea-netconf+0x65865)
#3 isc::netconf::NetconfAgent::getModules() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:288 (kea-netconf+0x65865)
#4 isc::netconf::NetconfAgent::initSysrepo() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:266 (kea-netconf+0x66324)
#5 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:169 (kea-netconf+0x6c097)
#6 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#7 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#8 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#9 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#10 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#11 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#12 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b18000088b8 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::deallocate(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7036c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >&, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7036c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_put_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7036c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7036c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7036c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#8 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x64826)
#9 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x64826)
#10 isc::netconf::NetconfAgent::~NetconfAgent() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:150 (kea-netconf+0x64826)
#11 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#12 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#13 void boost::checked_delete<isc::process::DProcessBase>(isc::process::DProcessBase*) /usr/include/boost/core/checked_delete.hpp:36 (libkea-process.so.28+0x4b6f3)
#14 boost::detail::sp_counted_impl_p<isc::process::DProcessBase>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (libkea-process.so.28+0x4b6f3)
#15 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x433da)
#16 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x433da)
#17 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x433da)
#18 boost::shared_ptr<isc::process::DProcessBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x433da)
#19 isc::process::DControllerBase::~DControllerBase() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:807 (libkea-process.so.28+0x433da)
#20 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#21 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#22 void boost::checked_delete<isc::netconf::NetconfController>(isc::netconf::NetconfController*) /usr/include/boost/core/checked_delete.hpp:36 (kea-netconf+0x2e8ad)
#23 boost::detail::sp_counted_impl_p<isc::netconf::NetconfController>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (kea-netconf+0x2e8ad)
#24 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x4cfda)
#25 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x4cfda)
#26 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x4cfda)
#27 boost::shared_ptr<isc::process::DControllerBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x4cfda)
#28 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 1 at 0x7b18000088bc by thread T1:
#0 memcmp ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:887 (libtsan.so.0+0x6518f)
#1 memcmp ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:883 (libtsan.so.0+0x6518f)
#2 std::char_traits<char>::compare(char const*, char const*, unsigned long) /usr/include/c++/9/bits/char_traits.h:325 (kea-netconf+0x712a7)
#3 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/basic_string.h:2859 (kea-netconf+0x712a7)
#4 bool std::operator< <char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/basic_string.h:6229 (kea-netconf+0x712a7)
#5 std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_function.h:386 (kea-netconf+0x712a7)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_get_insert_unique_pos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_tree.h:2106 (kea-netconf+0x712a7)
#7 std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, bool> std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_emplace_unique<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_tree.h:2413 (kea-netconf+0x712a7)
#8 std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, bool> std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_map.h:575 (kea-netconf+0x65865)
#9 isc::netconf::NetconfAgent::getModules() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:288 (kea-netconf+0x65865)
#10 isc::netconf::NetconfAgent::initSysrepo() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:266 (kea-netconf+0x66324)
#11 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:169 (kea-netconf+0x6c097)
#12 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#13 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#14 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#15 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#16 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#17 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#18 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800008b30 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::deallocate(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7036c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >&, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7036c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_put_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7036c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7036c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7036c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x64826)
#8 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x64826)
#9 isc::netconf::NetconfAgent::~NetconfAgent() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:150 (kea-netconf+0x64826)
#10 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#11 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#12 void boost::checked_delete<isc::process::DProcessBase>(isc::process::DProcessBase*) /usr/include/boost/core/checked_delete.hpp:36 (libkea-process.so.28+0x4b6f3)
#13 boost::detail::sp_counted_impl_p<isc::process::DProcessBase>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (libkea-process.so.28+0x4b6f3)
#14 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x433da)
#15 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x433da)
#16 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x433da)
#17 boost::shared_ptr<isc::process::DProcessBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x433da)
#18 isc::process::DControllerBase::~DControllerBase() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:807 (libkea-process.so.28+0x433da)
#19 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#20 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#21 void boost::checked_delete<isc::netconf::NetconfController>(isc::netconf::NetconfController*) /usr/include/boost/core/checked_delete.hpp:36 (kea-netconf+0x2e8ad)
#22 boost::detail::sp_counted_impl_p<isc::netconf::NetconfController>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (kea-netconf+0x2e8ad)
#23 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x4cfda)
#24 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x4cfda)
#25 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x4cfda)
#26 boost::shared_ptr<isc::process::DControllerBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x4cfda)
#27 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800008b30 by thread T1:
#0 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_lower_bound(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > const*, std::_Rb_tree_node_base const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_tree.h:1946 (kea-netconf+0x7062b)
#1 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_tree.h:2570 (kea-netconf+0x7062b)
#2 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /usr/include/c++/9/bits/stl_map.h:1194 (kea-netconf+0x64f77)
#3 isc::netconf::NetconfAgent::checkModules(boost::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<isc::netconf::CfgServer>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::shared_ptr<isc::netconf::CfgServer> > > > > const&) const /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:334 (kea-netconf+0x64f77)
#4 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:172 (kea-netconf+0x6c0a7)
#5 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#6 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#7 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#8 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#9 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#10 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#11 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=1358473)
Write of size 8 at 0x7b1800008b38 by main thread:
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::deallocate(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128 (kea-netconf+0x7036c)
#2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >&, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470 (kea-netconf+0x7036c)
#3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_put_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:584 (kea-netconf+0x7036c)
#4 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:651 (kea-netconf+0x7036c)
#5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1915 (kea-netconf+0x7036c)
#6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >*) /usr/include/c++/9/bits/stl_tree.h:1913 (kea-netconf+0x70321)
#7 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::~_Rb_tree() /usr/include/c++/9/bits/stl_tree.h:995 (kea-netconf+0x64826)
#8 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::~map() /usr/include/c++/9/bits/stl_map.h:300 (kea-netconf+0x64826)
#9 isc::netconf::NetconfAgent::~NetconfAgent() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:150 (kea-netconf+0x64826)
#10 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#11 isc::netconf::NetconfProcess::~NetconfProcess() ../../../src/bin/netconf/netconf_process.h:36 (kea-netconf+0x34070)
#12 void boost::checked_delete<isc::process::DProcessBase>(isc::process::DProcessBase*) /usr/include/boost/core/checked_delete.hpp:36 (libkea-process.so.28+0x4b6f3)
#13 boost::detail::sp_counted_impl_p<isc::process::DProcessBase>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (libkea-process.so.28+0x4b6f3)
#14 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x433da)
#15 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x433da)
#16 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x433da)
#17 boost::shared_ptr<isc::process::DProcessBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x433da)
#18 isc::process::DControllerBase::~DControllerBase() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:807 (libkea-process.so.28+0x433da)
#19 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#20 isc::netconf::NetconfController::~NetconfController() ../../../src/bin/netconf/netconf_controller.h:34 (kea-netconf+0x2e8ad)
#21 void boost::checked_delete<isc::netconf::NetconfController>(isc::netconf::NetconfController*) /usr/include/boost/core/checked_delete.hpp:36 (kea-netconf+0x2e8ad)
#22 boost::detail::sp_counted_impl_p<isc::netconf::NetconfController>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:93 (kea-netconf+0x2e8ad)
#23 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112 (libkea-process.so.28+0x4cfda)
#24 boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108 (libkea-process.so.28+0x4cfda)
#25 boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:427 (libkea-process.so.28+0x4cfda)
#26 boost::shared_ptr<isc::process::DControllerBase>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:341 (libkea-process.so.28+0x4cfda)
#27 cxa_at_exit_wrapper ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:393 (libtsan.so.0+0x2bc24)
Previous read of size 8 at 0x7b1800008b38 by thread T1:
#0 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_get_insert_unique_pos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_tree.h:2096 (kea-netconf+0x711fa)
#1 std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, bool> std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::_M_emplace_unique<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_tree.h:2413 (kea-netconf+0x711fa)
#2 std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >, bool> std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> > >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_map.h:575 (kea-netconf+0x65865)
#3 isc::netconf::NetconfAgent::getModules() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:288 (kea-netconf+0x65865)
#4 isc::netconf::NetconfAgent::initSysrepo() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:266 (kea-netconf+0x66324)
#5 isc::netconf::NetconfAgent::init(boost::shared_ptr<isc::netconf::NetconfCfgMgr>) /home/razvan/isc/git/kea-work/src/bin/netconf/netconf.cc:169 (kea-netconf+0x6c097)
#6 operator() /home/razvan/isc/git/kea-work/src/bin/netconf/netconf_process.cc:53 (kea-netconf+0x3189a)
#7 __invoke_impl<void, isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60 (kea-netconf+0x3189a)
#8 __invoke<isc::netconf::NetconfProcess::run()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95 (kea-netconf+0x3189a)
#9 _M_invoke<0> /usr/include/c++/9/thread:244 (kea-netconf+0x3189a)
#10 operator() /usr/include/c++/9/thread:251 (kea-netconf+0x3189a)
#11 _M_run /usr/include/c++/9/thread:195 (kea-netconf+0x3189a)
#12 <null> <null> (libstdc++.so.6+0xd6de3)
Thread T1 (tid=1358503, finished) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd70a8)
#2 isc::process::DControllerBase::runProcess() /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:430 (libkea-process.so.28+0x440e6)
#3 isc::process::DControllerBase::launch(int, char**, bool) /home/razvan/isc/git/kea-work/src/lib/process/d_controller.cc:156 (libkea-process.so.28+0x4a775)
#4 main /home/razvan/isc/git/kea-work/src/bin/netconf/main.cc:26 (kea-netconf+0x28c18)
SUMMARY: ThreadSanitizer: data race ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 in operator delete(void*)
==================
```
kea1.9.11
Razvan Becheriu
Razvan Becheriu
https://gitlab.isc.org/isc-projects/kea/-/issues/2049
AX_FIND_LIBRARY false negative (solves NETCONF support in FreeBSD and NETCONF...
2021-11-03T16:08:09Z
Andrei Pavel
andrei@isc.org
AX_FIND_LIBRARY false negative (solves NETCONF support in FreeBSD and NETCONF unit tests in Alpine & CentOS)
The code was written to look for both lib and lib64 for libraries, but it always stops at `lib` if it couldn't find the library, so `lib64` is forgotten due to bad logic in m4macro code. Affects NETCONF in FreeBSD.
Here is an ut-extende...
The code was written to look for both lib and lib64 for libraries, but it always stops at `lib` if it couldn't find the library, so `lib64` is forgotten due to bad logic in m4macro code. Affects NETCONF in FreeBSD.
Here is an ut-extended test where it complained about NETCONF. Notice how /usr/local/lib are left out (because it was found there), but it seems to not find the header and the library in all the other locations: https://jenkins.aws.isc.org/job/kea-dev/job/ut-extended/426/execution/node/366/log/
Here is a test run with the changes in the attached MR that shows it has passed the NETCONF check and now complains about Kerberos: https://jenkins.aws.isc.org/view/Kea-manual/job/kea-manual/job/ut-extended/56/flowGraphTable/
kea2.1.0
Andrei Pavel
andrei@isc.org
Andrei Pavel
andrei@isc.org
https://gitlab.isc.org/isc-projects/kea/-/issues/2048
on new module revision, reinstall.sh givess error instead of upgrading
2021-11-18T16:17:56Z
Andrei Pavel
andrei@isc.org
on new module revision, reinstall.sh givess error instead of upgrading
As the name implies, reinstall.sh was written with the idea that it can install new module versions automatically. This turned out not to be the case. `sysrepoctl -U/--update <path>` might have to be used for this purpose.
Discovered he...
As the name implies, reinstall.sh was written with the idea that it can install new module versions automatically. This turned out not to be the case. `sysrepoctl -U/--update <path>` might have to be used for this purpose.
Discovered here: https://gitlab.isc.org/isc-projects/kea/-/merge_requests/1335#note_231357
kea2.1-backlog
https://gitlab.isc.org/isc-projects/kea/-/issues/2008
make install doesn't work with netconf enabled
2021-07-30T17:22:13Z
Andrei Pavel
andrei@isc.org
make install doesn't work with netconf enabled
```
/usr/bin/install: omitting directory './hashes'
make[6]: *** [Makefile:495: install-yangmodulesDATA] Error 1
```
```
/usr/bin/install: omitting directory './hashes'
make[6]: *** [Makefile:495: install-yangmodulesDATA] Error 1
```
kea1.9.10
Andrei Pavel
andrei@isc.org
Andrei Pavel
andrei@isc.org