Kea issueshttps://gitlab.isc.org/isc-projects/kea/-/issues2024-03-26T06:25:10Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/3309Sanity checks for Kea 2.5.7 rc12024-03-26T06:25:10ZMarcin GodzinaSanity checks for Kea 2.5.7 rc1We are now at step SANITY CHECKS of Kea 2.5.7 rc1.
Please verify the tarballs and packages according to [chapter `4. Sanity Checks` of the release procedure](https://gitlab.isc.org/isc-private/qa-dhcp/-/wikis/Kea/Release-Process#user-co...We are now at step SANITY CHECKS of Kea 2.5.7 rc1.
Please verify the tarballs and packages according to [chapter `4. Sanity Checks` of the release procedure](https://gitlab.isc.org/isc-private/qa-dhcp/-/wikis/Kea/Release-Process#user-content-4-sanity-checks) and according to your imagination.
Before starting, please state what you are checking in a thread/discussion (not as comment).
When you finish a check, state in the same thread/discussion what the result is.
This way we know what is covered upfront and we can avoid repeating ourselves.
#### Tarballs on repo.isc.org
* `/data/shared/sweng/kea/releases/2.5.7-rc1`
* `/data/shared/sweng/kea/releases/premium-2.5.7-rc1`
* `/data/shared/sweng/kea/releases/subscription-2.5.7-rc1`
* `/data/shared/sweng/kea/releases/enterprise-2.5.7-rc1`
```
SHA256 (kea-2.5.7.tar.gz) = 7a3a05ca11b5fe8c4e72a31169b6bed94368c4a7af6d388c86321da96568a1d4
SHA256 (kea-enterprise-2.5.7.tar.gz) = f61c1636df974c4531060d93218baf569b77a50f944882558593be8737984911
SHA256 (kea-premium-2.5.7.tar.gz) = 5c82b56a3e338f5f664a04fd1c271e0a8ff2dfd610dee0416dbfca8ee4f830a4
SHA256 (kea-subscription-2.5.7.tar.gz) = 42aa2106fb0595d23976807988a2f4b546f5bad718efdffce2af9b6bdd867aba
```
#### Packages on packages.aws.isc.org
* [APK: 2.5.7-r20240322162202](https://packages.aws.isc.org/#browse/search/raw=format%3Draw%20AND%20name.raw%3D*r20240322162202.apk)
* [deb: 2.5.7-isc20240322162202](https://packages.aws.isc.org/#browse/search/apt=format%3Dapt%20AND%20version%3D2.5.7-isc20240322162202)
* [RPM: 2.5.7-isc20240322162202.\[os\]](https://packages.aws.isc.org/#browse/search/yum=format%3Dyum%20AND%20version%3D2.5.7-isc20240322162202*)
You can find the name for all the packages attached as build artifacts in the pkg job: https://jenkins.aws.isc.org/job/kea-dev/job/pkg/1460/
Instructions for installing packages are at point 9 of [chapter `4. Sanity Checks` of the release procedure](https://gitlab.isc.org/isc-private/qa-dhcp/-/wikis/Kea/Release-Process#user-content-4-sanity-checks).kea2.5.72024-03-25https://gitlab.isc.org/isc-projects/kea/-/issues/3297Perfmon-Hook-Task-5 Add Event Stack Processing2024-03-28T20:25:49ZThomas MarkwalderPerfmon-Hook-Task-5 Add Event Stack ProcessingComplete Hook Task 5: Add Event Stack Processing - Process event stacks into MonitoredDuration updates, implement report timer, and alarm processing
See https://gitlab.isc.org/isc-projects/kea/-/wikis/Designs/performance-monitor#perfm...Complete Hook Task 5: Add Event Stack Processing - Process event stacks into MonitoredDuration updates, implement report timer, and alarm processing
See https://gitlab.isc.org/isc-projects/kea/-/wikis/Designs/performance-monitor#perfmon-hook-taskskea2.5.8Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/3276Kea primary server in "passive backup" freeze/crash on receiving ha-sync2024-03-28T10:34:28ZMarcin GodzinaKea primary server in "passive backup" freeze/crash on receiving ha-syncKea HA server set as `primary` freezes after receiving `ha-sync` command with proper arguments.
The backup server does NOT crash.
Freeze occurs only in `passive-backup` mode.
The problem exists in both v4 and v6. Also, in Memfile and m...Kea HA server set as `primary` freezes after receiving `ha-sync` command with proper arguments.
The backup server does NOT crash.
Freeze occurs only in `passive-backup` mode.
The problem exists in both v4 and v6. Also, in Memfile and mysql/psql lease database.
**Kea versions tested:**
- 2.5.7-git 8c1f22e3fb65225a0279606a8a65962850a5f881
- 2.4.0 release tarball
**Tested systems:**
- Fedora 38 in VM on my local setup.
- Ubuntu 22.04, Alpine 3.16, Fedora 36 on Jenkins build farm.
**To Reproduce**
Steps to reproduce the behavior:
1. Run Kea HA servers in **Passive backup** configuration (tested configuration provided)
2. Wait for servers to connect.
3. Optionally add leases (crashes either way)
4. Send the `ha-sync` command with proper arguments to the primary server. (`"server-name": "server2"` for provided configuration) (Invalid arguments respond with error)
The primary server freezes after receiving a response to the `dhcp-disable` command, sent automatically to the backup server. It does not respond to kea-ctrl agent, keyboard interrupts or SIGHUP
<details><summary>Commands tested to freeze provided config:</summary>
```
{
command": "ha-sync",
"arguments": {
"server-name": "server2"
}
}
```
```
{
command": "ha-sync",
"arguments": {
"server-name": "server1"
}
}
```
```
{
command": "ha-sync",
"arguments": {
"server-name": "server2",
"max-period": 60
}
}
```
</details>
**Configuration**
<details><summary>Primary</summary>
```
{
"Dhcp4": {
"option-data": [],
"hooks-libraries": [
{
"library": "/home/mgodzina/installed/keadev/lib/kea/hooks/libdhcp_ha.so",
"parameters": {
"high-availability": [
{
"peers": [
{
"auto-failover": true,
"name": "server1",
"role": "primary",
"url": "http://192.168.56.102:8003/"
},
{
"auto-failover": true,
"name": "server2",
"role": "backup",
"url": "http://192.168.56.103:8003/"
}
],
"state-machine": {
"states": []
},
"mode": "passive-backup",
"this-server-name": "server1",
"multi-threading": {
"enable-multi-threading": true,
"http-dedicated-listener": true,
"http-listener-threads": 0,
"http-client-threads": 0
}
}
]
}
},
{
"library": "/home/mgodzina/installed/keadev/lib/kea/hooks/libdhcp_lease_cmds.so"
}
],
"shared-networks": [],
"subnet4": [
{
"subnet": "192.168.50.0/24",
"pools": [
{
"pool": "192.168.50.1-192.168.50.200"
}
],
"interface": "enp0s9"
}
],
"interfaces-config": {
"interfaces": [
"enp0s9"
]
},
"control-socket": {
"socket-type": "unix",
"socket-name": "/home/mgodzina/installed/keadev/var/run/kea/control_socket"
},
"renew-timer": 1000,
"rebind-timer": 2000,
"valid-lifetime": 4000,
"loggers": [
{
"name": "kea-dhcp4",
"output-options": [
{
"output": "/home/mgodzina/installed/keadev/var/log/kea.log"
}
],
"severity": "DEBUG",
"debuglevel": 99
}
],
"lease-database": {
"type": "memfile"
}
}
}
```
</details>
<details><summary>Backup</summary>
```
{
"Dhcp4": {
"option-data": [],
"hooks-libraries": [
{
"library": "/home/mgodzina/installed/keadev/lib/kea/hooks/libdhcp_ha.so",
"parameters": {
"high-availability": [
{
"peers": [
{
"auto-failover": true,
"name": "server1",
"role": "primary",
"url": "http://192.168.56.102:8003/"
},
{
"auto-failover": true,
"name": "server2",
"role": "backup",
"url": "http://192.168.56.103:8003/"
}
],
"state-machine": {
"states": []
},
"mode": "passive-backup",
"this-server-name": "server2",
"multi-threading": {
"enable-multi-threading": true,
"http-dedicated-listener": true,
"http-listener-threads": 0,
"http-client-threads": 0
}
}
]
}
},
{
"library": "/home/mgodzina/installed/keadev/lib/kea/hooks/libdhcp_lease_cmds.so"
}
],
"shared-networks": [],
"subnet4": [
{
"subnet": "192.168.50.0/24",
"pools": [
{
"pool": "192.168.50.1-192.168.50.200"
}
],
"interface": "enp0s9"
}
],
"interfaces-config": {
"interfaces": [
"enp0s9"
]
},
"control-socket": {
"socket-type": "unix",
"socket-name": "/home/mgodzina/installed/keadev/var/run/kea/control_socket"
},
"renew-timer": 1000,
"rebind-timer": 2000,
"valid-lifetime": 4000,
"loggers": [
{
"name": "kea-dhcp4",
"output-options": [
{
"output": "/home/mgodzina/installed/keadev/var/log/kea.log"
}
],
"severity": "DEBUG",
"debuglevel": 99
}
],
"lease-database": {
"type": "memfile"
}
}
}
```
</details>
**Logs**
<details><summary>Primary server log tail</summary>
```
2024-02-28 16:20:13.417 DEBUG [kea-dhcp4.commands/2096.139741364354944] COMMAND_SOCKET_CONNECTION_OPENED Opened socket 38 for incoming command connection
2024-02-28 16:20:13.417 DEBUG [kea-dhcp4.commands/2096.139741364354944] COMMAND_SOCKET_READ Received 127 bytes over command socket 38
2024-02-28 16:20:13.417 INFO [kea-dhcp4.commands/2096.139741364354944] COMMAND_RECEIVED Received command 'ha-sync'
2024-02-28 16:20:13.417 DEBUG [kea-dhcp4.callouts/2096.139741364354944] HOOKS_CALLOUTS_BEGIN begin all callouts for hook $ha_sync
2024-02-28 16:20:13.417 DEBUG [kea-dhcp4.http/2096.139741364354944] HTTP_CLIENT_REQUEST_SEND sending HTTP request POST / HTTP/1.1 to http://192.168.56.103:8003/
2024-02-28 16:20:13.417 DEBUG [kea-dhcp4.http/2096.139741364354944] HTTP_CLIENT_REQUEST_SEND_DETAILS detailed information about request sent to http://192.168.56.103:8003/:
POST / HTTP/1.1
Host: 192.168.56.103
Content-Length: 86
Content-Type: application/json
{ "arguments": { "origin": 2000 }, "command": "dhcp-disable", "service": [ "dhcp4" ] }
2024-02-28 16:20:13.417 INFO [kea-dhcp4.ha-hooks/2096.139741364354944] HA_SYNC_START server1: starting lease database synchronization with server2
2024-02-28 16:20:13.417 DEBUG [kea-dhcp4.http/2096.139741364354944] HTTP_SERVER_RESPONSE_RECEIVED received HTTP response from http://192.168.56.103:8003/
2024-02-28 16:20:13.417 DEBUG [kea-dhcp4.http/2096.139741364354944] HTTP_SERVER_RESPONSE_RECEIVED_DETAILS detailed information about well-formed response received from http://192.168.56.103:8003/:
HTTP/1.1 200 OK
Content-Length: 54
Content-Type: application/json
Date: Wed, 28 Feb 2024 15:20:13 GMT
[ { "result": 0, "text": "DHCPv4 service disabled" } ]
```
</details>
<details><summary>Backup server log snippet with timeout:</summary>
```
2024-02-28 16:20:13.413 DEBUG [kea-dhcp4.http/20519.140151306917568] HTTP_REQUEST_RECEIVE_START start receiving request from 192.168.56.102 with timeout 10
2024-02-28 16:20:13.413 DEBUG [kea-dhcp4.http/20519.140151306917568] HTTP_DATA_RECEIVED received 179 bytes from 192.168.56.102
2024-02-28 16:20:13.413 DEBUG [kea-dhcp4.http/20519.140151306917568] HTTP_CLIENT_REQUEST_RECEIVED received HTTP request from 192.168.56.102
2024-02-28 16:20:13.413 DEBUG [kea-dhcp4.http/20519.140151306917568] HTTP_CLIENT_REQUEST_RECEIVED_DETAILS detailed information about well-formed request received from 192.168.56.102:
POST / HTTP/1.1
Host: 192.168.56.103
Content-Length: 86
Content-Type: application/json
{ "arguments": { "origin": 2000 }, "command": "dhcp-disable", "service": [ "dhcp4" ] }
2024-02-28 16:20:13.413 INFO [kea-dhcp4.commands/20519.140151306917568] COMMAND_RECEIVED Received command 'dhcp-disable'
2024-02-28 16:20:13.413 DEBUG [kea-dhcp4.callouts/20519.140151306917568] HOOKS_CALLOUTS_BEGIN begin all callouts for hook command_processed
2024-02-28 16:20:13.413 DEBUG [kea-dhcp4.callouts/20519.140151306917568] HOOKS_CALLOUT_CALLED hooks library with index 1 has called a callout on hook command_processed that has address 0x7f778767ffe0 (callout duration: 0.000 ms)
2024-02-28 16:20:13.413 DEBUG [kea-dhcp4.callouts/20519.140151306917568] HOOKS_CALLOUTS_COMPLETE completed callouts for hook command_processed (total callouts duration: 0.000 ms)
2024-02-28 16:20:13.413 DEBUG [kea-dhcp4.http/20519.140151306917568] HTTP_SERVER_RESPONSE_SEND sending HTTP response HTTP/1.1 200 OK to 192.168.56.102
2024-02-28 16:20:13.413 DEBUG [kea-dhcp4.http/20519.140151306917568] HTTP_SERVER_RESPONSE_SEND_DETAILS detailed information about response sent to 192.168.56.102:
HTTP/1.1 200 OK
Content-Length: 54
Content-Type: application/json
Date: Wed, 28 Feb 2024 15:20:13 GMT
[ { "result": 0, "text": "DHCPv4 service disabled" } ]
2024-02-28 16:20:17.831 DEBUG [kea-dhcp4.dhcpsrv/20519.140151383601024] DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION running operation for timer: reclaim-expired-leases
2024-02-28 16:20:17.831 DEBUG [kea-dhcp4.alloc-engine/20519.140151383601024] ALLOC_ENGINE_V4_LEASES_RECLAMATION_START starting reclamation of expired leases (limit = 100 leases or 250 milliseconds)
2024-02-28 16:20:17.831 DEBUG [kea-dhcp4.dhcpsrv/20519.140151383601024] DHCPSRV_MEMFILE_GET_EXPIRED4 obtaining maximum 101 of expired IPv4 leases
2024-02-28 16:20:17.832 DEBUG [kea-dhcp4.alloc-engine/20519.140151383601024] ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE reclaimed 0 leases in 0.033 ms
2024-02-28 16:20:17.832 DEBUG [kea-dhcp4.alloc-engine/20519.140151383601024] ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES all expired leases have been reclaimed
2024-02-28 16:20:17.832 DEBUG [kea-dhcp4.dhcpsrv/20519.140151383601024] DHCPSRV_TIMERMGR_START_TIMER starting timer: reclaim-expired-leases
2024-02-28 16:20:21.840 DEBUG [kea-dhcp4.dhcpsrv/20519.140151383601024] DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION running operation for timer: flush-reclaimed-leases
2024-02-28 16:20:21.840 DEBUG [kea-dhcp4.alloc-engine/20519.140151383601024] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE begin deletion of reclaimed leases expired more than 3600 seconds ago
2024-02-28 16:20:21.840 DEBUG [kea-dhcp4.dhcpsrv/20519.140151383601024] DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED4 deleting reclaimed IPv4 leases that expired more than 3600 seconds ago
2024-02-28 16:20:21.840 DEBUG [kea-dhcp4.alloc-engine/20519.140151383601024] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_COMPLETE successfully deleted 0 expired-reclaimed leases
2024-02-28 16:20:21.840 DEBUG [kea-dhcp4.dhcpsrv/20519.140151383601024] DHCPSRV_TIMERMGR_START_TIMER starting timer: flush-reclaimed-leases
2024-02-28 16:20:27.852 DEBUG [kea-dhcp4.dhcpsrv/20519.140151383601024] DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION running operation for timer: reclaim-expired-leases
2024-02-28 16:20:27.852 DEBUG [kea-dhcp4.alloc-engine/20519.140151383601024] ALLOC_ENGINE_V4_LEASES_RECLAMATION_START starting reclamation of expired leases (limit = 100 leases or 250 milliseconds)
2024-02-28 16:20:27.852 DEBUG [kea-dhcp4.dhcpsrv/20519.140151383601024] DHCPSRV_MEMFILE_GET_EXPIRED4 obtaining maximum 101 of expired IPv4 leases
2024-02-28 16:20:27.852 DEBUG [kea-dhcp4.alloc-engine/20519.140151383601024] ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE reclaimed 0 leases in 0.032 ms
2024-02-28 16:20:27.852 DEBUG [kea-dhcp4.alloc-engine/20519.140151383601024] ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES all expired leases have been reclaimed
2024-02-28 16:20:27.852 DEBUG [kea-dhcp4.dhcpsrv/20519.140151383601024] DHCPSRV_TIMERMGR_START_TIMER starting timer: reclaim-expired-leases
2024-02-28 16:20:37.891 DEBUG [kea-dhcp4.dhcpsrv/20519.140151383601024] DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION running operation for timer: reclaim-expired-leases
2024-02-28 16:20:37.892 DEBUG [kea-dhcp4.alloc-engine/20519.140151383601024] ALLOC_ENGINE_V4_LEASES_RECLAMATION_START starting reclamation of expired leases (limit = 100 leases or 250 milliseconds)
2024-02-28 16:20:37.892 DEBUG [kea-dhcp4.dhcpsrv/20519.140151383601024] DHCPSRV_MEMFILE_GET_EXPIRED4 obtaining maximum 101 of expired IPv4 leases
2024-02-28 16:20:37.892 DEBUG [kea-dhcp4.alloc-engine/20519.140151383601024] ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE reclaimed 0 leases in 0.027 ms
2024-02-28 16:20:37.892 DEBUG [kea-dhcp4.alloc-engine/20519.140151383601024] ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES all expired leases have been reclaimed
2024-02-28 16:20:37.892 DEBUG [kea-dhcp4.dhcpsrv/20519.140151383601024] DHCPSRV_TIMERMGR_START_TIMER starting timer: reclaim-expired-leases
2024-02-28 16:20:43.433 DEBUG [kea-dhcp4.http/20519.140151315310272] HTTP_IDLE_CONNECTION_TIMEOUT_OCCURRED closing persistent connection with 192.168.56.102 as a result of a timeout
2024-02-28 16:20:43.433 DEBUG [kea-dhcp4.http/20519.140151315310272] HTTP_CONNECTION_STOP stopping HTTP connection from 192.168.56.102
```
</details>
[gdb.txt](/uploads/de79e56462885f7947eab90267f7a658/gdb.txt)kea2.5.8Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/3266status-get command must return an HA relationship identifier2024-03-22T13:17:40ZMarcin Siodelskistatus-get command must return an HA relationship identifierWe now support the hub-and-spoke setup with multiple relationships in one server. The HA state can be retrieved using the `status-get` command. The problem is, though, that the `status-get` result lacks an association between returned lo...We now support the hub-and-spoke setup with multiple relationships in one server. The HA state can be retrieved using the `status-get` command. The problem is, though, that the `status-get` result lacks an association between returned local/remote entries and the configured relationships. It makes it nearly impossible to match the returned statuses with the relationships we maintain in the Stork database. The status-get response must return identifiers of the HA relationships to enable this matching.kea2.5.7Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/3265Sanity checks for Kea 2.5.6 rcrc22024-02-29T13:29:26ZAndrei Pavelandrei@isc.orgSanity checks for Kea 2.5.6 rcrc2We are now at step SANITY CHECKS of Kea 2.5.6 rc2.
Please verify the tarballs and packages according to [chapter `4. Sanity Checks` of the release procedure](https://gitlab.isc.org/isc-private/qa-dhcp/-/wikis/Kea/Release-Process#user-co...We are now at step SANITY CHECKS of Kea 2.5.6 rc2.
Please verify the tarballs and packages according to [chapter `4. Sanity Checks` of the release procedure](https://gitlab.isc.org/isc-private/qa-dhcp/-/wikis/Kea/Release-Process#user-content-4-sanity-checks) and according to your imagination.
Before starting, please state what you are checking in a thread/discussion (not as comment).
When you finish a check, state in the same thread/discussion what the result is.
This way we know what is covered upfront and we can avoid repeating ourselves.
#### Tarballs on repo.isc.org
* `/data/shared/sweng/kea/releases/2.5.6-rc2`
* `/data/shared/sweng/kea/releases/premium-2.5.6-rc2`
* `/data/shared/sweng/kea/releases/subscription-2.5.6-rc2`
* `/data/shared/sweng/kea/releases/enterprise-2.5.6-rc2`
```
SHA256 (kea-2.5.6.tar.gz) = 4584578fbd17728d7cc30b4c06661561bcb59553a537a6ff0a0557ed43cf4012
SHA256 (kea-enterprise-2.5.6.tar.gz) = 97218dcda2e321c1d116a746e885d47e55ef1f3ba8a5e8563a9a935b544cd666
SHA256 (kea-premium-2.5.6.tar.gz) = e0a0b396a73f23f8eae0be596eeca49db090116d88ed0f45c99e27edd45514f2
SHA256 (kea-subscription-2.5.6.tar.gz) = e955d720f83926637d2842c6a5fed403ad272be458f3bb117679ea93fd98c705
```
#### Packages on packages.aws.isc.org
* [APK: 2.5.6-r20240226130228](https://packages.aws.isc.org/#browse/search/raw=format%3Draw%20AND%20name.raw%3D*r20240226130228.apk)
* [deb: 2.5.6-isc20240226130228](https://packages.aws.isc.org/#browse/search/apt=format%3Dapt%20AND%20version%3D2.5.6-isc20240226130228)
* [RPM: 2.5.6-isc20240226130228.\[os\]](https://packages.aws.isc.org/#browse/search/yum=format%3Dyum%20AND%20version%3D2.5.6-isc20240226130228*)
You can find the name for all the packages attached as build artifacts in the pkg job: https://jenkins.aws.isc.org/job/kea-dev/job/pkg/1433/
Instructions for installing packages are at point 9 of [chapter `4. Sanity Checks` of the release procedure](https://gitlab.isc.org/isc-private/qa-dhcp/-/wikis/Kea/Release-Process#user-content-4-sanity-checks).kea2.5.62024-02-27https://gitlab.isc.org/isc-projects/kea/-/issues/3264Sanity checks for Kea 2.5.6 rcrc12024-02-26T13:00:06ZAndrei Pavelandrei@isc.orgSanity checks for Kea 2.5.6 rcrc1We are now at step SANITY CHECKS of Kea 2.5.6 rc1.
Please verify the tarballs and packages according to [chapter `4. Sanity Checks` of the release procedure](https://gitlab.isc.org/isc-private/qa-dhcp/-/wikis/Kea/Release-Process#user-co...We are now at step SANITY CHECKS of Kea 2.5.6 rc1.
Please verify the tarballs and packages according to [chapter `4. Sanity Checks` of the release procedure](https://gitlab.isc.org/isc-private/qa-dhcp/-/wikis/Kea/Release-Process#user-content-4-sanity-checks) and according to your imagination.
Before starting, please state what you are checking in a thread/discussion (not as comment).
When you finish a check, state in the same thread/discussion what the result is.
This way we know what is covered upfront and we can avoid repeating ourselves.
#### Tarballs on repo.isc.org
* `/data/shared/sweng/kea/releases/2.5.6-rc1`
* `/data/shared/sweng/kea/releases/premium-2.5.6-rc1`
* `/data/shared/sweng/kea/releases/subscription-2.5.6-rc1`
* `/data/shared/sweng/kea/releases/enterprise-2.5.6-rc1`
```
SHA256 (kea-2.5.6.tar.gz) = d493dde621cbce84a2ceeb260a38d26b6941da1f29c3663dfca537bb8b7d778c
SHA256 (kea-enterprise-2.5.6.tar.gz) = 1d30d01e487a964418615f025878d88ed456fc8908fc63d183774a915277ca48
SHA256 (kea-premium-2.5.6.tar.gz) = fea91ac9ae681c34e9c2b387cac4ae482fa099bda683d9f4d87263d834e4d298
SHA256 (kea-subscription-2.5.6.tar.gz) = 9ac63b2d643a1edde87bd4a2772045101052aca31cbccd8896b5c09bfa760ab6
```
#### Packages on packages.aws.isc.org
* [APK: 2.5.6-r20240226100934](https://packages.aws.isc.org/#browse/search/raw=format%3Draw%20AND%20name.raw%3D*r20240226100934.apk)
* [deb: 2.5.6-isc20240226100934](https://packages.aws.isc.org/#browse/search/apt=format%3Dapt%20AND%20version%3D2.5.6-isc20240226100934)
* [RPM: 2.5.6-isc20240226100934.\[os\]](https://packages.aws.isc.org/#browse/search/yum=format%3Dyum%20AND%20version%3D2.5.6-isc20240226100934*)
You can find the name for all the packages attached as build artifacts in the pkg job: https://jenkins.aws.isc.org/job/kea-dev/job/pkg/1432/
Instructions for installing packages are at point 9 of [chapter `4. Sanity Checks` of the release procedure](https://gitlab.isc.org/isc-private/qa-dhcp/-/wikis/Kea/Release-Process#user-content-4-sanity-checks).kea2.5.62024-02-27https://gitlab.isc.org/isc-projects/kea/-/issues/3247changes in hammer for rocky linux2024-03-28T08:11:54ZMarcin Godzinachanges in hammer for rocky linuxWe need to extend Hammer to build on Rocky Linux 9. We have a business need for this.We need to extend Hammer to build on Rocky Linux 9. We have a business need for this.kea2.5.8Marcin GodzinaMarcin Godzinahttps://gitlab.isc.org/isc-projects/kea/-/issues/3129extend hammer to prepare kea to test it with TSAN2024-03-28T08:12:03ZWlodzimierz Wencelextend hammer to prepare kea to test it with TSANWhile checking what is really needed to run fully automated system tests against KEA with TSAN enabled I came to a conclusion that different compilation procedure have to be incorporated in hammer.
In TSAN job in jenkins we are using:
`...While checking what is really needed to run fully automated system tests against KEA with TSAN enabled I came to a conclusion that different compilation procedure have to be incorporated in hammer.
In TSAN job in jenkins we are using:
```
CXX=clang++
CXXFLAGS="-g3 -ggdb -O0 -fsanitize=thread -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches"
TSAN_OPTIONS="detect_deadlocks=1 second_deadlock_stack=1"
```kea2.5.8Wlodzimierz WencelWlodzimierz Wencelhttps://gitlab.isc.org/isc-projects/kea/-/issues/3077ping-check-core-task-4 apply changes to parser and lexer files2023-09-21T11:38:18ZPiotrek Zadrogaping-check-core-task-4 apply changes to parser and lexer filesNew config keys must be added to parser and lexer files (\*.yy, \*.ll) as per ping-check design https://gitlab.isc.org/isc-projects/kea/-/wikis/Designs/ping-checkNew config keys must be added to parser and lexer files (\*.yy, \*.ll) as per ping-check design https://gitlab.isc.org/isc-projects/kea/-/wikis/Designs/ping-checkPiotrek ZadrogaPiotrek Zadrogahttps://gitlab.isc.org/isc-projects/kea/-/issues/3047Detection of packet processing slowdown2024-03-22T13:16:46ZDarren AnkneyDetection of packet processing slowdownSometimes Kea will find itself unable to keep up with incoming packet load for various reasons (overwhelming amounts of packets in an avalanche scenario, slowdown in SQL queries in the case of database usage, and etc). Kea currently has...Sometimes Kea will find itself unable to keep up with incoming packet load for various reasons (overwhelming amounts of packets in an avalanche scenario, slowdown in SQL queries in the case of database usage, and etc). Kea currently has no way to detect or warn about this situation. Detailed analysis of the logs is necessary to understand what is happening. This issue is meant to provide some ideas for future development in this area where Kea could possibly detect this situation and provide warning log messages about it.
Possible ideas:
1. Add timestamps to received packets (possible? [perhaps](https://www.kernel.org/doc/Documentation/networking/timestamping.txt)) as they are put into the buffer. Check these timestamps against the current time as they are pulled out of the buffer. If there is some discrepancy that is larger than some threshold, emit some kind of log message about this.
2. In `netstat -l` output, there is a representation of the current buffer size for a process. Example:
```
$ netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
...
udp 0 0 10.1.2.2:bootps 0.0.0.0:*
```
Administrators sometimes use this to find out if some process has a slowdown in processing packets. If the number is larger than normal, then there might be. Kea may not necessarily know what is normal, but there must be some maximum size of the Recv-Q. If so, perhaps this maximum size is being reached when these backups occur. If that could be detected, perhaps a warning message could be logged.
[RT22378](https://support.isc.org/Ticket/Display.html?id=22378)kea2.5.8Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/3050Post audit: tighten access permissions for configs2023-09-21T17:00:32ZTomek MrugalskiPost audit: tighten access permissions for configsAnother point after @manu's [audit](https://gitlab.isc.org/isc-private/kea/-/wikis/Kea-Security-Review-02-2023#9-limiting-permission-of-the-kea-configuration-files):
I would propose considering the following:
* [ ] put a WARNING sectio...Another point after @manu's [audit](https://gitlab.isc.org/isc-private/kea/-/wikis/Kea-Security-Review-02-2023#9-limiting-permission-of-the-kea-configuration-files):
I would propose considering the following:
* [ ] put a WARNING section to the config files (close to the sections where password/key is configured) with a link to guide how to setup it up correctly so the administrator has at least a chance to notice it and follow the recommendation
* [ ] let service during startup/reload if the password or key secret is present and display/log warning (?with link to the guide?)
* [x] change access permissions to 0640 by default (instead of 0644); in other words, remove read rights for 'other'. Note: User/group ownership should be 'root' or the 'user' under which kea is running.
While the second would probably be tricky to implement, so we might skip it, proposals 1 and 3 are solid and we should do it.
This ticket is about updating the packages. Some might argue that similar action should be done for Kea sources (e.g. make sure the make install install the sources with more restrictive permissions).next-stable-2.6https://gitlab.isc.org/isc-projects/kea/-/issues/2856mysql v4 backend slowing down while using random and flq allocator2023-06-19T10:40:00ZWlodzimierz Wencelmysql v4 backend slowing down while using random and flq allocatorIt looks like Kea performance is hugely impacted when random or flq allocator is used. Screen of the charts that show performance degradation are attached. Results are generated using code from isc-projects/kea#2843
![Screenshot_2023-05...It looks like Kea performance is hugely impacted when random or flq allocator is used. Screen of the charts that show performance degradation are attached. Results are generated using code from isc-projects/kea#2843
![Screenshot_2023-05-11_at_13.56.08](/uploads/8fd6f88e0cd8078c130c11b224ea749c/Screenshot_2023-05-11_at_13.56.08.png)
![Screenshot_2023-05-11_at_13.56.38](/uploads/7a82938d13b13dec1b7c80388f3b4b1c/Screenshot_2023-05-11_at_13.56.38.png)
Issue is not observed in v6 random allocator:
![Screenshot_2023-05-11_at_14.01.09](/uploads/39181cd28e2e1fad03c70e2319a88fc1/Screenshot_2023-05-11_at_14.01.09.png)
[full internal report](https://jenkins.aws.isc.org/view/Kea-manual/job/kea-manual/job/performance/94/artifact/qa-dhcp/kea/performance-jenkins/report.html) (it's heavy, please wait patiently for it to load)
to check all allocator related tests please go to tab `Resource Consumption`, allocators tests starts at Scenario 7.
Mysql related scenarios:
* v4: 10, 11, 12, 19, 20, 21, 28, 29, 30
* v6: 39, 40, 45, 46, 51, 52
(number of tests will be reduced for regular monthly runs)
Additionally I should mention that in previous runs (master) I observed issues with iterative allocator in v4 mysql as well. Looked like kea stops assigning leases after assigning ~6mln leases, but I couldn't reproduce it on isc-projects/kea#2843 (I will repeat those tests on master overnight)
![Screenshot_2023-05-11_at_14.11.01](/uploads/6da24ed37a758e3e86653a31a2b2fbb1/Screenshot_2023-05-11_at_14.11.01.png)next-stable-2.6Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/2821array-bounds warnings in ubuntu build2023-08-29T08:45:39ZSeth Arnoldarray-bounds warnings in ubuntu buildHello, I'm reviewing KEA as part of the Ubuntu Main Inclusion request. Part of this is taking a look through the build logs, and there's a few instances of `-Warray-bounds` warnings that concern me:
- MIR process bug: https://bugs.launc...Hello, I'm reviewing KEA as part of the Ubuntu Main Inclusion request. Part of this is taking a look through the build logs, and there's a few instances of `-Warray-bounds` warnings that concern me:
- MIR process bug: https://bugs.launchpad.net/ubuntu/+source/isc-kea/+bug/2002861
- Ubuntu Lunar Build: https://launchpad.net/ubuntu/+source/isc-kea/2.2.0-5ubuntu1/+build/25670367
- Ubuntu Lunar direct build logs: https://launchpadlibrarian.net/655959506/buildlog_ubuntu-lunar-amd64.isc-kea_2.2.0-5ubuntu1_BUILDING.txt.gz
```
...
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/lib -I../../../src/lib -Wdate-time -D_FORTIFY_SOURCE=2 -DOS_LINUX -I../../.. -I../../.. -Wall -Wextra -Wnon-virtual-dtor -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -pthread -Wno-missing-field-initializers -fPIC -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/isc-kea-2.2.0-5ubuntu1 -c libdhcp++.cc -fPIC -DPIC -o .libs/libkea_dhcp___la-libdhcp++.o
In file included from /usr/include/c++/12/string:50,
from /usr/include/boost/asio/ip/address.hpp:19,
from ../../../src/lib/asiolink/io_address.h:15,
from ../../../src/lib/dhcp/duid.h:10,
from ../../../src/lib/dhcp/duid_factory.h:10,
from duid_factory.cc:9:
In function ‘std::__copy_move<true, true, std::random_access_iterator_tag>::__copy_m<unsigned char>(unsigned char const*, unsigned char const*, unsigned char*)unsigned char*’,
inlined from ‘std::__copy_move_a2<true, unsigned char*, unsigned char*>(unsigned char*, unsigned char*, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_algobase.h:495:30,
inlined from ‘std::__copy_move_a1<true, unsigned char*, unsigned char*>(unsigned char*, unsigned char*, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_algobase.h:522:42,
inlined from ‘std::__copy_move_a<true, unsigned char*, unsigned char*>(unsigned char*, unsigned char*, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_algobase.h:529:31,
inlined from ‘std::copy<std::move_iterator<unsigned char*>, unsigned char*>(std::move_iterator<unsigned char*>, std::move_iterator<unsigned char*>, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_algobase.h:620:7,
inlined from ‘std::__uninitialized_copy<true>::__uninit_copy<std::move_iterator<unsigned char*>, unsigned char*>(std::move_iterator<unsigned char*>, std::move_iterator<unsigned char*>, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_uninitialized.h:147:27,
inlined from ‘std::uninitialized_copy<std::move_iterator<unsigned char*>, unsigned char*>(std::move_iterator<unsigned char*>, std::move_iterator<unsigned char*>, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
inlined from ‘std::__uninitialized_copy_a<std::move_iterator<unsigned char*>, unsigned char*, unsigned char>(std::move_iterator<unsigned char*>, std::move_iterator<unsigned char*>, unsigned char*, std::allocator<unsigned char>&)unsigned char*’ at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
inlined from ‘std::__uninitialized_move_if_noexcept_a<unsigned char*, unsigned char*, std::allocator<unsigned char> >(unsigned char*, unsigned char*, unsigned char*, std::allocator<unsigned char>&)unsigned char*’ at /usr/include/c++/12/bits/stl_uninitialized.h:397:2,
inlined from ‘std::vector<unsigned char, std::allocator<unsigned char> >::_M_range_insert<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > >(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, std::forward_iterator_tag)void’ at /usr/include/c++/12/bits/vector.tcc:801:9,
inlined from ‘std::vector<unsigned char, std::allocator<unsigned char> >::_M_insert_dispatch<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > >(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, std::__false_type)void’ at /usr/include/c++/12/bits/stl_vector.h:1779:19,
inlined from ‘std::vector<unsigned char, std::allocator<unsigned char> >::insert<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, void>(__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >)__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >’ at /usr/include/c++/12/bits/stl_vector.h:1481:22,
inlined from ‘isc::dhcp::DUIDFactory::createEN(unsigned int, std::vector<unsigned char, std::allocator<unsigned char> > const&)’ at duid_factory.cc:180:24:
/usr/include/c++/12/bits/stl_algobase.h:431:30: warning: ‘memcpy’ offset 6 is out of the bounds [0, 6] [-Warray-bounds]
431 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algobase.h:431:30: warning: ‘memcpy’ offset 6 is out of the bounds [0, 6] [-Warray-bounds]
...
```
```
...
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/lib -I../../../src/lib -Wdate-time -D_FORTIFY_SOURCE=2 -DOS_LINUX -I../../.. -I../../.. -Wall -Wextra -Wnon-virtual-dtor -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -pthread -Wno-missing-field-initializers -fPIC -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/isc-kea-2.2.0-5ubuntu1 -c ncr_udp.cc -fPIC -DPIC -o .libs/libkea_dhcp_ddns_la-ncr_udp.o
In file included from /usr/include/c++/12/string:50,
from /usr/include/c++/12/bits/locale_classes.h:40,
from /usr/include/c++/12/bits/ios_base.h:41,
from /usr/include/c++/12/ios:42,
from /usr/include/c++/12/ostream:38,
from /usr/include/c++/12/iostream:39,
from ../../../src/lib/cc/data.h:10,
from ../../../src/lib/dhcp_ddns/ncr_msg.h:15,
from ncr_msg.cc:9:
In function ‘std::__copy_move<true, true, std::random_access_iterator_tag>::__copy_m<unsigned char>(unsigned char const*, unsigned char const*, unsigned char*)unsigned char*’,
inlined from ‘std::__copy_move_a2<true, unsigned char*, unsigned char*>(unsigned char*, unsigned char*, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_algobase.h:495:30,
inlined from ‘std::__copy_move_a1<true, unsigned char*, unsigned char*>(unsigned char*, unsigned char*, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_algobase.h:522:42,
inlined from ‘std::__copy_move_a<true, unsigned char*, unsigned char*>(unsigned char*, unsigned char*, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_algobase.h:529:31,
inlined from ‘std::copy<std::move_iterator<unsigned char*>, unsigned char*>(std::move_iterator<unsigned char*>, std::move_iterator<unsigned char*>, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_algobase.h:620:7,
inlined from ‘std::__uninitialized_copy<true>::__uninit_copy<std::move_iterator<unsigned char*>, unsigned char*>(std::move_iterator<unsigned char*>, std::move_iterator<unsigned char*>, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_uninitialized.h:147:27,
inlined from ‘std::uninitialized_copy<std::move_iterator<unsigned char*>, unsigned char*>(std::move_iterator<unsigned char*>, std::move_iterator<unsigned char*>, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
inlined from ‘std::__uninitialized_copy_a<std::move_iterator<unsigned char*>, unsigned char*, unsigned char>(std::move_iterator<unsigned char*>, std::move_iterator<unsigned char*>, unsigned char*, std::allocator<unsigned char>&)unsigned char*’ at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
inlined from ‘std::__uninitialized_move_if_noexcept_a<unsigned char*, unsigned char*, std::allocator<unsigned char> >(unsigned char*, unsigned char*, unsigned char*, std::allocator<unsigned char>&)unsigned char*’ at /usr/include/c++/12/bits/stl_uninitialized.h:397:2,
inlined from ‘std::vector<unsigned char, std::allocator<unsigned char> >::_M_range_insert<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > > >(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, std::forward_iterator_tag)void’ at /usr/include/c++/12/bits/vector.tcc:801:9,
inlined from ‘std::vector<unsigned char, std::allocator<unsigned char> >::_M_insert_dispatch<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > > >(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, std::__false_type)void’ at /usr/include/c++/12/bits/stl_vector.h:1779:19,
inlined from ‘std::vector<unsigned char, std::allocator<unsigned char> >::insert<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, void>(__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >)__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >’ at /usr/include/c++/12/bits/stl_vector.h:1481:22,
inlined from ‘isc::dhcp_ddns::D2Dhcid::fromHWAddr(boost::shared_ptr<isc::dhcp::HWAddr> const&, std::vector<unsigned char, std::allocator<unsigned char> > const&)’ at ncr_msg.cc:144:23:
/usr/include/c++/12/bits/stl_algobase.h:431:30: warning: ‘memcpy’ offset 1 is out of the bounds [0, 1] [-Warray-bounds]
431 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algobase.h:431:30: warning: ‘memcpy’ offset 1 is out of the bounds [0, 1] [-Warray-bounds]
...
```
```
...
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/lib -I../../../src/lib -I../../../src/bin -I../../../src/bin -Wdate-time -D_FORTIFY_SOURCE=2 -DOS_LINUX -I../../.. -I../../.. -Wall -Wextra -Wnon-virtual-dtor -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -pthread -Wno-missing-field-initializers -fPIC -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/isc-kea-2.2.0-5ubuntu1 -c basic_scen.cc -fPIC -DPIC -o .libs/basic_scen.o
In file included from /usr/include/c++/12/memory:63,
from /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:35,
from /usr/include/boost/smart_ptr/detail/shared_count.hpp:27,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:17,
from /usr/include/boost/shared_ptr.hpp:17,
from ../../../src/bin/perfdhcp/packet_storage.h:11,
from ../../../src/bin/perfdhcp/test_control.h:10,
from test_control.cc:9:
In function ‘std::__copy_move<true, true, std::random_access_iterator_tag>::__copy_m<unsigned char>(unsigned char const*, unsigned char const*, unsigned char*)unsigned char*’,
inlined from ‘std::__copy_move_a2<true, unsigned char*, unsigned char*>(unsigned char*, unsigned char*, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_algobase.h:495:30,
inlined from ‘std::__copy_move_a1<true, unsigned char*, unsigned char*>(unsigned char*, unsigned char*, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_algobase.h:522:42,
inlined from ‘std::__copy_move_a<true, unsigned char*, unsigned char*>(unsigned char*, unsigned char*, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_algobase.h:529:31,
inlined from ‘std::copy<std::move_iterator<unsigned char*>, unsigned char*>(std::move_iterator<unsigned char*>, std::move_iterator<unsigned char*>, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_algobase.h:620:7,
inlined from ‘std::__uninitialized_copy<true>::__uninit_copy<std::move_iterator<unsigned char*>, unsigned char*>(std::move_iterator<unsigned char*>, std::move_iterator<unsigned char*>, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_uninitialized.h:147:27,
inlined from ‘std::uninitialized_copy<std::move_iterator<unsigned char*>, unsigned char*>(std::move_iterator<unsigned char*>, std::move_iterator<unsigned char*>, unsigned char*)unsigned char*’ at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
inlined from ‘std::__uninitialized_copy_a<std::move_iterator<unsigned char*>, unsigned char*, unsigned char>(std::move_iterator<unsigned char*>, std::move_iterator<unsigned char*>, unsigned char*, std::allocator<unsigned char>&)unsigned char*’ at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
inlined from ‘std::__uninitialized_move_if_noexcept_a<unsigned char*, unsigned char*, std::allocator<unsigned char> >(unsigned char*, unsigned char*, unsigned char*, std::allocator<unsigned char>&)unsigned char*’ at /usr/include/c++/12/bits/stl_uninitialized.h:397:2,
inlined from ‘std::vector<unsigned char, std::allocator<unsigned char> >::_M_range_insert<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > > >(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, std::forward_iterator_tag)void’ at /usr/include/c++/12/bits/vector.tcc:801:9,
inlined from ‘std::vector<unsigned char, std::allocator<unsigned char> >::_M_insert_dispatch<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > > >(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, std::__false_type)void’ at /usr/include/c++/12/bits/stl_vector.h:1779:19,
inlined from ‘std::vector<unsigned char, std::allocator<unsigned char> >::insert<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, void>(__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >)__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >’ at /usr/include/c++/12/bits/stl_vector.h:1481:22,
inlined from ‘isc::perfdhcp::TestControl::generateClientId(boost::shared_ptr<isc::dhcp::HWAddr> const&) const’ at test_control.cc:408:21:
/usr/include/c++/12/bits/stl_algobase.h:431:30: warning: ‘memcpy’ offset 1 is out of the bounds [0, 1] [-Warray-bounds]
431 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algobase.h:431:30: warning: ‘memcpy’ offset 1 is out of the bounds [0, 1] [-Warray-bounds]
...
```
I'm nowhere near skilled enough with C++ to determine if this is a false positive from the compiler (or FORTIFY_SOURCE?) and I'm hoping this is a quick and easy one for someone more familiar.
Thankskea2.5.1Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/issues/28082.3.6 release checklist2023-05-04T09:00:46ZMarcin Godzina2.3.6 release checklist# Kea Release Checklist
This is thoroughly documented in [the Kea Release Process guide](https://wiki.isc.org/bin/view/QA/KeaReleaseProcess).
## Pre-Release Preparation
Some of those checks and updates can be made before the actual fr...# Kea Release Checklist
This is thoroughly documented in [the Kea Release Process guide](https://wiki.isc.org/bin/view/QA/KeaReleaseProcess).
## Pre-Release Preparation
Some of those checks and updates can be made before the actual freeze.
For new stable releases or maintenance releases, please don't use `kea-dev` build farm. Use dedicated build farm for each release cycle.
1. Check Jenkins results:
1. [x] Check Jenkins jobs for failures: [distcheck](https://jenkins.aws.isc.org/job/kea-dev/job/distcheck/), etc...
1. [x] Check [Jenkins Tests Report](https://jenkins.aws.isc.org/job/kea-dev/job/jenkins-tests-report/).
1. [x] Check [tarball check report](https://jenkins.aws.isc.org/job/kea-dev/job/build-tarball/Kea_20Build_20Checks/)
1. [x] Check [Performance Test Results](https://jenkins.isc.org/job/kea-dev/job/performance/KeaPerformanceReport/) in Jenkins for drops in performance.
1. Check versioning, ask the development team if:
- the library versions are being updated
- `KEA_HOOKS_VERSION` is being updated
- [x] create an issue for that for developers in Gitlab
- script: [./tools/bump-lib-versions.sh](https://gitlab.isc.org/isc-projects/kea/-/blob/master/tools/bump-lib-versions.sh) Kea-q.w.e Kea-a.b.c (where `a.b.c` is the version to be released and `q.w.e` is the version previous to that)
1. [x] Look at the issue numbers in commit descriptions. Add to ChangeLog a mention about any change with visible impact that had not been mentioned already.
1. ~~If any changes have been done to database schemas, then:~~
1. [ ] ~~Check that a previously released schema has not been changed.~~
1. [ ] ~~Check that the additions to `dhcpdb_create.*sql`, and nothing more nor less than what was added in this release, is present in a `upgrade_*_to_*.sh.in` script that should also have been added in this release.~~
1. Prepare Release Notes
1. [x] Create Release Notes on Kea GitLab wiki and notify @tomek about that. It should be created under "release notes" directory, like this one: https://gitlab.isc.org/isc-projects/kea/-/wikis/release%20notes/release-notes-2.1.0
1. [ ] Finish release notes and conduct its review. Also please notify @sgoldlust or @vicky that release notes are ready for review.
1. [x] Run [release-upload-to-cloudsmith](https://jenkins.aws.isc.org/job/kea-dev/job/release-upload-to-cloudsmith/) as running parameter `TarballOrPkg` select `packages` and [release-pkgs-check](https://jenkins.aws.isc.org/job/kea-dev/job/release-pkgs-check/) to test repositories for correctness.
1. ~~If a new Cloudsmith repository is used, then:~~
1. [ ] ~~Make sure freeradius packages are uploaded to the Cloudsmith repository or copied from a previous repository.~~
1. [ ] ~~Make sure access tokens have been synchronized from previous Cloudsmith repositories and to the [check-pkgs.py](https://gitlab.isc.org/isc-private/qa-dhcp/-/blob/master/kea/pkgs-check/check-pkgs.py) QA tool.~~
1. [x] Check if ReadTheDocs can build Kea documentation.
1. Trigger rebuilding docs on [readthedocs.org](https://readthedocs.org/projects/kea/builds) and wait for the build to complete.
The following steps may involve changing files in the repository.
1. [x] Run [update-code-for-release.py](https://gitlab.isc.org/isc-private/qa-dhcp/-/blob/master/kea/build/update-code-for-release.py) <br>
Example command: `GITLAB_TOKEN='...' ./update-code-for-release.py 1.9.7 --repo-dir ~/isc/repos/kea/` Use `--upload` to commit changes. <br>
Help: `GITLAB_TOKEN="..." ./update-code-for-release.py --help`<br>
This script makes the following changes and actions:
1. run prepare_kea_release.sh that does:
1. add release entries in ChangeLogs
1. update Kea version in configure.ac
1. update copyright years in files that were changed in current year
1. sort message files
1. regenerate message files headers
2. regenerate parsers using Bison from Docker<br>
With `--upload`:
3. create an issue in GitLab for release changes in kea repo
4. create branches and merge requests for kea and kea-premium
5. commit the changes in both repos
6. checkout created branches in both repos
7. commit and push the changes to GitLab server
1. Check manually User's Guide sections:
1. Chapter 1. Introduction
1. [x] On what platforms we are running tests using Jenkins? Update Supported Platforms in platforms.rst file.
1. [x] Did we add any additional 3rd party software? Update if needed
1. [x] Is there a new tool installed in bin or sbin released this time? If yes, is it documented?
1. Chapter 2. Quick Start
1. [x] Has the default installation process changed (for kea and hooks)? If yes, are those changes documented and highlighted in the release notes?
1. Chapter 3. Installation
1. [x] Check installation hierarchy (this is also automatically checked at the end of [ut-extended job](https://jenkins.aws.isc.org/job/kea-dev/job/ut-extended/))
1. [x] Check and update Build Requirements
1. [x] Check configure options against what `./configure -h` says
1. [x] Check ChangeLog entries in Kea main and premium: spelling, trailing whitespaces, etc.
1. [x] Check AUTHORS, INSTALL, README files in Kea main and premium.
- AUTHORS: update credits
- README: check "provides" with Release Notes, User Guide (1.3 Kea Software)
1. [x] If changes were made, commit the change, push the branch to the main repository and request a review. Once the changes have been approved, merge the MR to master.
## Build selection, tarballs upload and sanity checks
This is the last moment to freeze code! :snowflake:
1. [x] Go to [build-tarball](https://jenkins.aws.isc.org/job/kea-dev/job/build-tarball/) Jenkins job and pick the last tarball built - it will be a release candidate.
1. [x] Check tarball before requesting sanity checks from the development team.
1. Download tarballs from picked Jenkins build
1. Check hook libraries.
1. Are there any new hook libraries installed in this release?
1. Are they in the proper tarball? Premium or subscription?
1. Do they have their own package?
1. Check sizes - is the new package reasonable?
1. Check installation tree, compare it with the previous release
1. Check installed libraries.
1. which were updated? (save results)
1. Do any of the libraries from the current release have lower version than in the previous release?
1. Uninstall Kea, check what left (there should be just configuration files)
1. Check if all of the installed binaries has man page
1. if not, is it in the tarball?
1. are man page up-to-date?
1. Check if documentation is properly formatted, has correct versions and dates.
1. it's advised to search for previous version numbers, some of them are statically added in statements that are no longer valid
1. [x] Upload tarballs to repo.isc.org using Jenkins and send sanity checks request.
1. Go to [release-tarball-upload](https://jenkins.aws.isc.org/job/kea-dev/job/release-tarball-upload/) Jenkins job.
1. Click "Build with Parameters"
1. In field "Tarball" select picked tarball build
1. In field "Release_Candidate" pick:
1. rc1 if this is the first selected build for release, it will push the selected tarballs to repo.isc.org, to a directory suffixed with indicated rc#
1. next rc# if this is a respin after some fixes (note: it is not possible to pick previous rc number - it will result in an error)
1. Submit the job that will automatically:
1. Upload the tarballs <br>
and if this is not the final version:
1. Create a GitLab issue for sanity checks, put there the announcement
1. Send Sanity Checks announcement via email to dhcp-team@isc.org and to DHCP channel on Mattermost.<br>
The announcement includes:
- a link to chapter 4 Sanity Checks of the release process: [KeaReleaseProcess - SanityChecks](https://wiki.isc.org/bin/view/QA/KeaReleaseProcess#4.%20Sanity%20Checks)
- a link to the GitLab issue
- tarballs locations with SHA256 checksums
- rpm/deb packages locations and versions
## Releasing Tarballs and Packages
1. [x] Update Release Notes with ChangeLog entries
1. [x] Mark Jenkins jobs with release artifacts to be kept forever and update description of build by adding there version of released kea (e.g. Kea-2.2.2): <br>
Go to the following Jenkins jobs, click release build and then, on the build page, click `Keep this build forever` button and edit description: <br>
1. [build-tarball](https://jenkins.aws.isc.org/job/kea-dev/job/build-tarball/)
1. [pkg job](https://jenkins.aws.isc.org/job/kea-dev/job/pkg/)
1. [x] Upload final tarballs to repo.isc.org
1. Go to [release-tarball-upload](https://jenkins.aws.isc.org/job/kea-dev/job/release-tarball-upload/) Jenkins job.
1. Click "Build with Parameters"
1. In field "Tarball" select picked tarball build
1. In field "Release_Candidate" pick final <br>
This job will also:
- open an issue on [the signing repository](https://gitlab.isc.org/isc-private/signing/-/issues) for signing final tarballs on repo.isc.org
- create Git tags `Kea-a.b.c` in Kea main and premium repositories
- if release engineer is holding personal signing key, please use [sign, verify, and upload script](https://gitlab.isc.org/isc-private/qa-dhcp/-/blob/master/kea/build/sign_kea_and_upload_asc.sh)
- if release enginner do NOT have signing key, please contact team member.
1. [x] Upload final RPM & DEB packages, tarballs and sign files to cloudsmith.io
1. Go to [release-upload-to-cloudsmith](https://jenkins.aws.isc.org/job/kea-dev/job/release-upload-to-cloudsmith/).
1. Click "Build with Parameters" link
1. Pick your selected pkg build in Packages field, and select `PrivPubRepos: "both"`, `TarballOrPkg: "both"`, `TestProdRepos: "production"` and click `Build` button.
- this step is also veryfing sign files
1. When it finishes run check: [releases-pkgs-check](https://jenkins.aws.isc.org/job/kea-dev/job/release-pkgs-check/).
1. [x] Update ReadTheDocs
1. Trigger rebuilding docs on [readthedocs.org](https://readthedocs.org/projects/kea/builds).
1. Publish currently released version. On the `Versions` tab, scroll down to `Activate a version`, search for `kea-a.b.c` and click `Activate`.
1. For stable releases, change the default version to point to this stable release.
1. [x] Create an issue and a merge request to bump up Kea version in `configure.ac` to next development version which could be, based on just released version `a.b.c`:
* `a.b.z-git` where `z == c + 1` or
* `a.y.0-git` where `y == b + 1` or
* `x.1.0-git` where `x == a + 1`
1. [x] Send a request for publishing the release on the Support Mattermost channel linking the Signing issue and the release checklist issue.
### On the Day of Public Release
- [ ] ***(Support)*** Wait for clearance from Security Officer to proceed with the public release (if applicable).
- [ ] ***(Support)*** Confirm that the tarballs have the checksums mentioned on the signing ticket.
- [ ] ***(Support)*** Place tarballs in public location on FTP site.
- [ ] ***(Support)*** Publish links to downloads on ISC website.
- [ ] ***(Support)*** Write release email to *kea-announce*.
- [ ] ***(Support)*** Write email to *kea-users* (if a major release).
- [ ] ***(Support)*** Send eligible customers updated links to the Subscription software FTP site.
- [ ] ***(Support)*** If it is a new `major.minor` version, SWENG will have created a new repo in Cloudsmith, which will need the customer tokens migrated from an existing repo. Then update support customers that this new private repo exists.
- [ ] ***(Support)*** Update tickets in case of waiting for support customers.
- [x] ***(Support)*** Inform Marketing of the release.
- [ ] ***(Marketing)*** If a new Cloudsmith repository is used, update the Zapier scripts.
- [x] ***(Marketing)*** Upload Premium hooks tarball to SendOwl. Create a new product if a new branch, otherwise update existing product. Send notifications to existing subscribers of the new version.
- [x] ***(Marketing)*** Announce on social media.
- [x] ***(Marketing)*** Update [Wikipedia entry for Kea](https://en.wikipedia.org/wiki/Kea_(software)).
- [ ] ***(Marketing)*** Write blog article (if a major release).
- [ ] ***(Marketing)*** Update [Kea page on web site if any new hooks](https://www.isc.org/kea/).
- [ ] ***(Marketing)*** Update Kea Premium and Kea Subscription data sheets if any new hooks.
- [ ] ***(Marketing)*** Update [significant features matrix](https://kb.isc.org/docs/en/aa-01615) (if any significant new features).
- [ ] ***(Marketing)*** Update [Kea documentation page in KB](https://kb.isc.org/docs/en/kea-administrator-reference-manual).kea2.3.6Marcin GodzinaMarcin Godzinahttps://gitlab.isc.org/isc-projects/kea/-/issues/2679crash in bulk lease query2022-12-20T16:21:03ZWlodzimierz Wencelcrash in bulk lease queryI'm experiencing crash while using BLQ, What I could find is that is related to `"max-leases-per-fetch"` setting.
Scenario:
1. assign 20 leases (or start kea with 20 leases already assigned)
2. open tcp connection
3. send BLQ query typ...I'm experiencing crash while using BLQ, What I could find is that is related to `"max-leases-per-fetch"` setting.
Scenario:
1. assign 20 leases (or start kea with 20 leases already assigned)
2. open tcp connection
3. send BLQ query type 5
4. receive data... and this is problematic step if `"max-leases-per-fetch"` is set to less than number of leases in memfile - Kea crashes (in the test it's set to 5). If that value is equal or higher then number of leases entire procedure is successful (all messages: LEASEQUERY-REPLY, multiple LEASEQUERY-DATA, LEASEQUERY-DONE, are generated and send correctly)
- config file [kea-dhcp6.conf](/uploads/4a416a8fa38d99bca25cbe1eb44ef8af/kea-dhcp6.conf)
- leases file [leases.csv](/uploads/a662195d9b48ce87b45f4112cf138e39/leases.csv)
Logs:
```
wlodek@debian9-64-2:~ $ 2022-12-13 08:53:49.755 INFO [kea-dhcp6.dhcp6/101535.139952525041536] DHCP6_STARTING Kea DHCPv6 server version 2.3.4-git (development) starting
2022-12-13 08:53:49.756 WARN [kea-dhcp6.dhcp6/101535.139952525041536] DHCP6_DEVELOPMENT_VERSION This software is a development branch of Kea. It is not recommended for production use.
2022-12-13 08:53:49.757 DEBUG [kea-dhcp6.dhcp6/101535.139952525041536] DHCP6_CONFIG_RECEIVED received configuration: { "control-socket": { "socket-name": "/home/wlodek/installed/git/var/run/kea/control_socket", "socket-type": "unix" }, "expired-leases-processing": { "flush-reclaimed-timer-wait-time": 50000, "reclaim-timer-wait-time": 50000 }, "hooks-libraries": [ { "library": "/home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_query.so", "parameters": { "advanced": { "active-query-enabled": false, "bulk-query-enabled": true, "extended-info-tables-enabled": true, "lease-query-ip": "2001:db8:1::1000", "lease-query-tcp-port": 9000, "max-concurrent-queries": 4, "max-leases-per-fetch": 5, "max-requester-connections": 10, "max-requester-idle-time": 3000 }, "requesters": [ "2001:db8:1::2000" ] } }, { "library": "/home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_cmds.so" } ], "interfaces-config": { "interfaces": [ "enp0s9" ] }, "lease-database": { "type": "memfile" }, "loggers": [ { "debuglevel": 99, "name": "kea-dhcp6", "output_options": [ { "output": "stdout" } ], "severity": "DEBUG" } ], "multi-threading": { "enable-multi-threading": true, "packet-queue-size": 16, "thread-pool-size": 2 }, "option-data": [ ], "preferred-lifetime": 8000000, "rebind-timer": 7000000, "renew-timer": 6000000, "shared-networks": [ ], "store-extended-info": true, "subnet6": [ { "interface": "enp0s9", "pools": [ { "pool": "2001:db8:1::1-2001:db8:1::100" } ], "subnet": "2001:db8:1::/64" } ], "valid-lifetime": 9000000 }
2022-12-13 08:53:49.757 DEBUG [kea-dhcp6.dhcp6/101535.139952525041536] DHCP6_CONFIG_START DHCPv6 server is processing the following configuration: { "control-socket": { "socket-name": "/home/wlodek/installed/git/var/run/kea/control_socket", "socket-type": "unix" }, "expired-leases-processing": { "flush-reclaimed-timer-wait-time": 50000, "reclaim-timer-wait-time": 50000 }, "hooks-libraries": [ { "library": "/home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_query.so", "parameters": { "advanced": { "active-query-enabled": false, "bulk-query-enabled": true, "extended-info-tables-enabled": true, "lease-query-ip": "2001:db8:1::1000", "lease-query-tcp-port": 9000, "max-concurrent-queries": 4, "max-leases-per-fetch": 5, "max-requester-connections": 10, "max-requester-idle-time": 3000 }, "requesters": [ "2001:db8:1::2000" ] } }, { "library": "/home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_cmds.so" } ], "interfaces-config": { "interfaces": [ "enp0s9" ] }, "lease-database": { "type": "memfile" }, "loggers": [ { "debuglevel": 99, "name": "kea-dhcp6", "output_options": [ { "output": "stdout" } ], "severity": "DEBUG" } ], "multi-threading": { "enable-multi-threading": true, "packet-queue-size": 16, "thread-pool-size": 2 }, "option-data": [ ], "preferred-lifetime": 8000000, "rebind-timer": 7000000, "renew-timer": 6000000, "shared-networks": [ ], "store-extended-info": true, "subnet6": [ { "interface": "enp0s9", "pools": [ { "pool": "2001:db8:1::1-2001:db8:1::100" } ], "subnet": "2001:db8:1::/64" } ], "valid-lifetime": 9000000 }
2022-12-13 08:53:49.758 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_TIMERMGR_UNREGISTER_ALL_TIMERS unregistering all timers
2022-12-13 08:53:49.758 INFO [kea-dhcp6.hosts/101535.139952525041536] HOSTS_BACKENDS_REGISTERED the following host backend types are available: mysql postgresql
2022-12-13 08:53:49.758 WARN [kea-dhcp6.dhcp6/101535.139952525041536] DHCP6_RESERVATIONS_LOOKUP_FIRST_ENABLED Multi-threading is enabled and host reservations lookup is always performed first.
2022-12-13 08:53:49.759 INFO [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_CFGMGR_ADD_IFACE listening on interface enp0s9
2022-12-13 08:53:49.761 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_VERSION hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_query.so reports its version as 20303
2022-12-13 08:53:49.761 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_MULTI_THREADING_COMPATIBLE hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_query.so reports its multi-threading compatibility as 1
2022-12-13 08:53:49.761 INFO [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_CLOSED hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_query.so successfully closed
2022-12-13 08:53:49.762 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_VERSION hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_cmds.so reports its version as 20303
2022-12-13 08:53:49.762 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_MULTI_THREADING_COMPATIBLE hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_cmds.so reports its multi-threading compatibility as 1
2022-12-13 08:53:49.763 INFO [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_CLOSED hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_cmds.so successfully closed
2022-12-13 08:53:49.763 INFO [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_CFGMGR_NEW_SUBNET6 a new subnet has been added to configuration: 2001:db8:1::/64 with params: t1=6000000, t2=7000000, preferred-lifetime=8000000, valid-lifetime=9000000, rapid-commit is false
2022-12-13 08:53:49.763 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_CFGMGR_ADD_SUBNET6 adding subnet 2001:db8:1::/64
2022-12-13 08:53:49.763 INFO [kea-dhcp6.commands/101535.139952525041536] COMMAND_ACCEPTOR_START Starting to accept connections via unix domain socket bound to /home/wlodek/installed/git/var/run/kea/control_socket
2022-12-13 08:53:49.764 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_CFGMGR_CFG_DHCP_DDNS Setting DHCP-DDNS configuration to: DHCP-DDNS updates disabled
2022-12-13 08:53:49.764 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_LOADING loading hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_query.so
2022-12-13 08:53:49.764 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_VERSION hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_query.so reports its version as 20303
2022-12-13 08:53:49.764 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_MULTI_THREADING_COMPATIBLE hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_query.so reports its multi-threading compatibility as 1
2022-12-13 08:53:49.765 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 1 registering callout for hook 'buffer6_receive'
2022-12-13 08:53:49.765 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_STD_CALLOUT_REGISTERED hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_query.so registered standard callout for hook buffer6_receive at address 0x7f493a850310
2022-12-13 08:53:49.765 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 1 registering callout for hook 'dhcp6_srv_configured'
2022-12-13 08:53:49.765 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_STD_CALLOUT_REGISTERED hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_query.so registered standard callout for hook dhcp6_srv_configured at address 0x7f493a851910
2022-12-13 08:53:49.766 INFO [kea-dhcp6.lease-query-hooks/101535.139952525041536] LEASE_QUERY_LOAD_OK Lease Query hooks library loaded successfully.
2022-12-13 08:53:49.766 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LOAD_SUCCESS 'load' function in hook library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_query.so returned success
2022-12-13 08:53:49.766 INFO [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_LOADED hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_query.so successfully loaded
2022-12-13 08:53:49.766 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_LOADING loading hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_cmds.so
2022-12-13 08:53:49.767 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_VERSION hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_cmds.so reports its version as 20303
2022-12-13 08:53:49.767 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_MULTI_THREADING_COMPATIBLE hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_cmds.so reports its multi-threading compatibility as 1
2022-12-13 08:53:49.767 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease4_add'
2022-12-13 08:53:49.768 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease6_add'
2022-12-13 08:53:49.768 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease6_bulk_apply'
2022-12-13 08:53:49.768 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease4_get'
2022-12-13 08:53:49.768 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease6_get'
2022-12-13 08:53:49.768 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease4_get_all'
2022-12-13 08:53:49.769 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease6_get_all'
2022-12-13 08:53:49.769 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease4_get_page'
2022-12-13 08:53:49.769 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease6_get_page'
2022-12-13 08:53:49.769 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease4_get_by_hw_address'
2022-12-13 08:53:49.769 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease4_get_by_client_id'
2022-12-13 08:53:49.770 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease6_get_by_duid'
2022-12-13 08:53:49.770 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease4_get_by_hostname'
2022-12-13 08:53:49.770 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease6_get_by_hostname'
2022-12-13 08:53:49.770 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease4_del'
2022-12-13 08:53:49.770 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease6_del'
2022-12-13 08:53:49.771 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease4_update'
2022-12-13 08:53:49.771 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease6_update'
2022-12-13 08:53:49.771 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease4_wipe'
2022-12-13 08:53:49.771 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease6_wipe'
2022-12-13 08:53:49.771 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease4_resend_ddns'
2022-12-13 08:53:49.772 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease6_resend_ddns'
2022-12-13 08:53:49.772 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease4_write'
2022-12-13 08:53:49.772 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_REGISTRATION hooks library with index 2 registering callout for hook '$lease6_write'
2022-12-13 08:53:49.772 INFO [kea-dhcp6.lease-cmds-hooks/101535.139952525041536] LEASE_CMDS_INIT_OK loading Lease Commands hooks library successful
2022-12-13 08:53:49.772 DEBUG [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LOAD_SUCCESS 'load' function in hook library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_cmds.so returned success
2022-12-13 08:53:49.772 INFO [kea-dhcp6.hooks/101535.139952525041536] HOOKS_LIBRARY_LOADED hooks library /home/wlodek/installed/git/lib/kea/hooks/libdhcp_lease_cmds.so successfully loaded
2022-12-13 08:53:49.773 INFO [kea-dhcp6.dhcp6/101535.139952525041536] DHCP6_CONFIG_COMPLETE DHCPv6 server has completed configuration: added IPv6 subnets: 1; DDNS: disabled
2022-12-13 08:53:49.773 INFO [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_DB opening memory file lease database: extended-info-tables=true type=memfile universe=6
2022-12-13 08:53:49.773 INFO [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file /home/wlodek/installed/git/var/lib/kea/kea-leases6.csv
2022-12-13 08:53:49.773 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::1
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949131
DUID: 00:03:00:01:01:03:0d:04:0b:01
Hardware addr: 01:03:0d:04:0b:01
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.773 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::2
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949131
DUID: 00:03:00:01:01:04:0e:05:0c:02
Hardware addr: 01:04:0e:05:0c:02
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.773 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::3
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949132
DUID: 00:03:00:01:01:05:0f:06:0d:03
Hardware addr: 01:05:0f:06:0d:03
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.773 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::4
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949133
DUID: 00:03:00:01:01:06:10:07:0e:04
Hardware addr: 01:06:10:07:0e:04
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::5
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949133
DUID: 00:03:00:01:01:07:11:08:0f:05
Hardware addr: 01:07:11:08:0f:05
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::6
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949134
DUID: 00:03:00:01:01:08:12:09:10:06
Hardware addr: 01:08:12:09:10:06
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::7
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949135
DUID: 00:03:00:01:01:09:13:0a:11:07
Hardware addr: 01:09:13:0a:11:07
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::8
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949136
DUID: 00:03:00:01:01:0a:14:0b:12:08
Hardware addr: 01:0a:14:0b:12:08
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::9
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949137
DUID: 00:03:00:01:01:0b:15:0c:13:09
Hardware addr: 01:0b:15:0c:13:09
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::a
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949137
DUID: 00:03:00:01:01:0c:16:0d:14:0a
Hardware addr: 01:0c:16:0d:14:0a
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::b
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949138
DUID: 00:03:00:01:01:0d:17:0e:15:0b
Hardware addr: 01:0d:17:0e:15:0b
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::c
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949138
DUID: 00:03:00:01:01:0e:18:0f:16:0c
Hardware addr: 01:0e:18:0f:16:0c
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::d
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949138
DUID: 00:03:00:01:01:0f:19:10:17:0d
Hardware addr: 01:0f:19:10:17:0d
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::e
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949139
DUID: 00:03:00:01:01:10:1a:11:18:0e
Hardware addr: 01:10:1a:11:18:0e
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::f
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949139
DUID: 00:03:00:01:01:11:1b:12:19:0f
Hardware addr: 01:11:1b:12:19:0f
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::10
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949139
DUID: 00:03:00:01:01:12:1c:13:1a:10
Hardware addr: 01:12:1c:13:1a:10
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::11
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949140
DUID: 00:03:00:01:01:13:1d:14:1b:11
Hardware addr: 01:13:1d:14:1b:11
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::12
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949140
DUID: 00:03:00:01:01:14:1e:15:1c:12
Hardware addr: 01:14:1e:15:1c:12
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.774 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::13
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949141
DUID: 00:03:00:01:01:15:1f:16:1d:13
Hardware addr: 01:15:1f:16:1d:13
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.775 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LEASE_LOAD loading lease Type: IA_NA(0)
Address: 2001:db8:1::14
Prefix length: 128
IAID: 38925
Pref life: 8000000
Valid life: 9000000
Cltt: 1670949141
DUID: 00:03:00:01:01:16:20:17:1e:14
Hardware addr: 01:16:20:17:1e:14
Subnet ID: 1
State: default
User context: { "ISC": { "relay-info": [ { "hop": 0, "link": "2001:db8:1::1000", "options": "0x0012000231350025000A000000000A0027000001", "peer": "fe80::800:27ff:fe00:2", "remote-id": "000000000A0027000001" } ] } }
2022-12-13 08:53:49.775 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_BEGIN_BUILD_EXTENDED_INFO_TABLES6 building extended info tables with fix sanity check level, tables enabled
2022-12-13 08:53:49.775 INFO [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_BUILD_EXTENDED_INFO_TABLES6 building extended info tables saw 20 leases, extended info sanity checks modified 0 / updated 0 leases and 20 leases were entered into tables
2022-12-13 08:53:49.775 INFO [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_MEMFILE_LFC_SETUP setting up the Lease File Cleanup interval to 3600 sec
2022-12-13 08:53:49.775 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_TIMERMGR_REGISTER_TIMER registering timer: memfile-lfc, using interval: 3600000 ms
2022-12-13 08:53:49.775 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_TIMERMGR_START_TIMER starting timer: memfile-lfc
2022-12-13 08:53:49.775 INFO [kea-dhcp6.dhcp6/101535.139952525041536] DHCP6_USING_SERVERID server is using server-id 00:01:00:01:2b:2b:65:87:08:00:27:4a:04:65 and stores in the file /home/wlodek/installed/git/var/lib/kea/kea-dhcp6-serverid
2022-12-13 08:53:49.776 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_TIMERMGR_REGISTER_TIMER registering timer: reclaim-expired-leases, using interval: 50000000 ms
2022-12-13 08:53:49.776 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_TIMERMGR_START_TIMER starting timer: reclaim-expired-leases
2022-12-13 08:53:49.776 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_TIMERMGR_REGISTER_TIMER registering timer: flush-reclaimed-leases, using interval: 50000000 ms
2022-12-13 08:53:49.776 DEBUG [kea-dhcp6.dhcpsrv/101535.139952525041536] DHCPSRV_TIMERMGR_START_TIMER starting timer: flush-reclaimed-leases
2022-12-13 08:53:49.776 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUTS_BEGIN begin all callouts for hook dhcp6_srv_configured
2022-12-13 08:53:49.776 DEBUG [kea-dhcp6.tcp/101535.139952525041536] MT_TCP_LISTENER_MGR_STARTED MtTcpListenerMgr started with 2 threads, listening on 2001:db8:1::1000:9000, use TLS: false
2022-12-13 08:53:49.776 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUT_CALLED hooks library with index 1 has called a callout on hook dhcp6_srv_configured that has address 0x7f493a851910 (callout duration: 0.272 ms)
2022-12-13 08:53:49.776 DEBUG [kea-dhcp6.callouts/101535.139952525041536] HOOKS_CALLOUTS_COMPLETE completed callouts for hook dhcp6_srv_configured (total callouts duration: 0.272 ms)
2022-12-13 08:53:49.776 WARN [kea-dhcp6.dhcp6/101535.139952525041536] DHCP6_MULTI_THREADING_INFO enabled: yes, number of threads: 2, queue size: 16
2022-12-13 08:53:49.776 INFO [kea-dhcp6.dhcp6/101535.139952525041536] DHCP6_STARTED Kea DHCPv6 server version 2.3.4-git started
2022-12-13 08:53:52.126 DEBUG [kea-dhcp6.tcp/101535.139952490108672] TCP_REQUEST_RECEIVE_START start receiving request from 2001:db8:1::2000 with timeout 300
2022-12-13 08:53:52.126 DEBUG [kea-dhcp6.tcp/101535.139952490108672] TCP_DATA_RECEIVED received 69 bytes from 2001:db8:1::2000
2022-12-13 08:53:52.127 DEBUG [kea-dhcp6.tcp/101535.139952490108672] TCP_CLIENT_REQUEST_RECEIVED received TCP request from 2001:db8:1::2000
2022-12-13 08:53:52.127 DEBUG [kea-dhcp6.dhcpsrv/101535.139952490108672] DHCPSRV_MEMFILE_GET_REMOTEID6 obtaining at most 5 IPv6 leases starting from address :: with remote id 00:00:00:00:0a:00:27:00:00:01 and link 2001:db8:1::2000/64
2022-12-13 08:53:52.127 DEBUG [kea-dhcp6.dhcpsrv/101535.139952490108672] DHCPSRV_MEMFILE_GET_REMOTEID6 obtaining at most 5 IPv6 leases starting from address 2001:db8:1::5 with remote id 00:00:00:00:0a:00:27:00:00:01 and link 2001:db8:1::2000/64
2022-12-13 08:53:52.128 DEBUG [kea-dhcp6.tcp/101535.139952481715968] TCP_CONNECTION_STOP stopping TCP connection from 2001:db8:1::2000
2022-12-13 08:53:52.128 DEBUG [kea-dhcp6.tcp/101535.139952481715968] TCP_CONNECTION_STOP stopping TCP connection from (unknown address)
2022-12-13 08:53:52.128 DEBUG [kea-dhcp6.tcp/101535.139952481715968] TCP_CONNECTION_STOP stopping TCP connection from (unknown address)
[1]+ Segmentation fault sudo /home/wlodek/installed/git/sbin/kea-dhcp6 -c /home/wlodek/installed/git/etc/kea/kea-dhcp6.conf
```
Backtrace of all threads:
```
Core was generated by `/home/wlodek/installed/git/sbin/kea-dhcp6 -c /home/wlodek/installed/git/etc/kea'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f17b400ae40 in ?? ()
[Current thread is 1 (Thread 0x7f17babf7700 (LWP 72463))]
(gdb) thread apply all bt
Thread 9 (Thread 0x7f17ba3f6700 (LWP 72464)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x7f17be9673b0 <isc::util::MultiThreadingMgr::instance()::manager+208>) at ../sysdeps/nptl/futex-internal.h:186
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7f17be967360 <isc::util::MultiThreadingMgr::instance()::manager+128>, cond=0x7f17be967388 <isc::util::MultiThreadingMgr::instance()::manager+168>) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x7f17be967388 <isc::util::MultiThreadingMgr::instance()::manager+168>, mutex=0x7f17be967360 <isc::util::MultiThreadingMgr::instance()::manager+128>) at pthread_cond_wait.c:638
#3 0x00007f17be7e190c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007f17be926819 in std::condition_variable::wait<isc::util::ThreadPool<std::function<void ()>, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::ThreadPoolQueue<boost::shared_ptr<std::function<void ()> >, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::pop()::{lambda()#1}>(std::unique_lock<std::mutex>&, isc::util::ThreadPool<std::function<void ()>, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::ThreadPoolQueue<boost::shared_ptr<std::function<void ()> >, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::pop()::{lambda()#1}) (__p=..., __lock=..., this=0x7f17be967388 <isc::util::MultiThreadingMgr::instance()::manager+168>) at /usr/include/c++/10/condition_variable:111
#5 isc::util::ThreadPool<std::function<void ()>, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::ThreadPoolQueue<boost::shared_ptr<std::function<void ()> >, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::pop() (this=0x7f17be967310 <isc::util::MultiThreadingMgr::instance()::manager+48>) at ../../../src/lib/util/thread_pool.h:345
#6 isc::util::ThreadPool<std::function<void ()>, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::run() (this=0x7f17be9672f8 <isc::util::MultiThreadingMgr::instance()::manager+24>) at ../../../src/lib/util/thread_pool.h:494
#7 0x00007f17be7e6ed0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#8 0x00007f17bf2c2ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9 0x00007f17be4dfaef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 8 (Thread 0x7f17bc53b700 (LWP 72460)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x5587a225bff0) at ../sysdeps/nptl/futex-internal.h:186
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5587a225bf70, cond=0x5587a225bfc8) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x5587a225bfc8, mutex=0x5587a225bf70) at pthread_cond_wait.c:638
#3 0x00007f17be7e190c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007f17bddf3a29 in progschj::ThreadPool::emplace_back_worker(unsigned long)::{lambda()#1}::operator()() const () from /usr/lib/x86_64-linux-gnu/liblog4cplus-2.0.so.3
#5 0x00007f17be7e6ed0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f17bf2c2ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f17be4dfaef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 7 (Thread 0x7f17bbd3a700 (LWP 72461)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x5587a225bff0) at ../sysdeps/nptl/futex-internal.h:186
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5587a225bf70, cond=0x5587a225bfc8) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x5587a225bfc8, mutex=0x5587a225bf70) at pthread_cond_wait.c:638
#3 0x00007f17be7e190c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007f17bddf3a29 in progschj::ThreadPool::emplace_back_worker(unsigned long)::{lambda()#1}::operator()() const () from /usr/lib/x86_64-linux-gnu/liblog4cplus-2.0.so.3
#5 0x00007f17be7e6ed0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f17bf2c2ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f17be4dfaef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 6 (Thread 0x7f17bd548f80 (LWP 72457)):
#0 0x00007f17be4d62a3 in __GI___select (nfds=19, readfds=readfds@entry=0x7ffeaf319cb0, writefds=writefds@entry=0x0, exceptfds=exceptfds@entry=0x0, timeout=timeout@entry=0x7ffeaf319c50) at ../sysdeps/unix/sysv/linux/select.c:41
#1 0x00007f17becfc045 in isc::dhcp::IfaceMgr::receive6Direct (this=0x5587a22b65e0, timeout_sec=1, timeout_usec=0) at iface_mgr.cc:1471
#2 0x00007f17becfcbf5 in isc::dhcp::IfaceMgr::receive6 (this=<optimized out>, timeout_sec=timeout_sec@entry=1, timeout_usec=timeout_usec@entry=0) at iface_mgr.cc:1411
#3 0x00005587a1fd4606 in isc::dhcp::Dhcpv6Srv::receivePacket (timeout=1, this=0x7ffeaf31a250) at dhcp6_srv.cc:311
#4 isc::dhcp::Dhcpv6Srv::run_one (this=0x7ffeaf31a250) at dhcp6_srv.cc:637
#5 0x00005587a1fd4ad8 in isc::dhcp::Dhcpv6Srv::run (this=0x7ffeaf31a250) at dhcp6_srv.cc:604
#6 0x00005587a1fafe18 in main (argc=<optimized out>, argv=0x7ffeaf31a250) at main.cc:270
Thread 5 (Thread 0x7f17bd53d700 (LWP 72458)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x5587a225bff0) at ../sysdeps/nptl/futex-internal.h:186
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5587a225bf70, cond=0x5587a225bfc8) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x5587a225bfc8, mutex=0x5587a225bf70) at pthread_cond_wait.c:638
#3 0x00007f17be7e190c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007f17bddf3a29 in progschj::ThreadPool::emplace_back_worker(unsigned long)::{lambda()#1}::operator()() const () from /usr/lib/x86_64-linux-gnu/liblog4cplus-2.0.so.3
#5 0x00007f17be7e6ed0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f17bf2c2ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f17be4dfaef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 4 (Thread 0x7f17b9bf5700 (LWP 72465)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x7f17be9673b0 <isc::util::MultiThreadingMgr::instance()::manager+208>) at ../sysdeps/nptl/futex-internal.h:186
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7f17be967360 <isc::util::MultiThreadingMgr::instance()::manager+128>, cond=0x7f17be967388 <isc::util::MultiThreadingMgr::instance()::manager+168>) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x7f17be967388 <isc::util::MultiThreadingMgr::instance()::manager+168>, mutex=0x7f17be967360 <isc::util::MultiThreadingMgr::instance()::manager+128>) at pthread_cond_wait.c:638
#3 0x00007f17be7e190c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007f17be926819 in std::condition_variable::wait<isc::util::ThreadPool<std::function<void ()>, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::ThreadPoolQueue<boost::shared_ptr<std::function<void ()> >, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::pop()::{lambda()#1}>(std::unique_lock<std::mutex>&, isc::util::ThreadPool<std::function<void ()>, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::ThreadPoolQueue<boost::shared_ptr<std::function<void ()> >, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::pop()::{lambda()#1}) (__p=..., __lock=..., this=0x7f17be967388 <isc::util::MultiThreadingMgr::instance()::manager+168>) at /usr/include/c++/10/condition_variable:111
#5 isc::util::ThreadPool<std::function<void ()>, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::ThreadPoolQueue<boost::shared_ptr<std::function<void ()> >, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::pop() (this=0x7f17be967310 <isc::util::MultiThreadingMgr::instance()::manager+48>) at ../../../src/lib/util/thread_pool.h:345
#6 isc::util::ThreadPool<std::function<void ()>, std::deque<boost::shared_ptr<std::function<void ()> >, std::allocator<boost::shared_ptr<std::function<void ()> > > > >::run() (this=0x7f17be9672f8 <isc::util::MultiThreadingMgr::instance()::manager+24>) at ../../../src/lib/util/thread_pool.h:494
#7 0x00007f17be7e6ed0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#8 0x00007f17bf2c2ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9 0x00007f17be4dfaef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 3 (Thread 0x7f17bb3f8700 (LWP 72462)):
#0 0x00007f17be4dfe16 in epoll_wait (epfd=20, events=events@entry=0x7f17bb3f7480, maxevents=maxevents@entry=128, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x00007f17bee6a004 in boost::asio::detail::epoll_reactor::run (this=0x5587a22e8420, usec=<optimized out>, ops=...) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:471
#2 0x00007f17bee787f7 in boost::asio::detail::scheduler::do_run_one (this=0x5587a22b6380, lock=..., this_thread=..., ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:465
#3 0x00007f17bec10419 in boost::asio::detail::scheduler::run (this=0x5587a22b6380, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:204
#4 0x00007f17bec10e44 in boost::asio::io_context::run (this=<optimized out>, this=<optimized out>) at /usr/include/boost/asio/impl/io_context.ipp:63
#5 isc::asiolink::IOServiceImpl::run (this=<optimized out>) at io_service.cc:40
#6 isc::asiolink::IOService::run (this=<optimized out>) at io_service.cc:115
#7 0x00007f17bec165db in isc::asiolink::IoServiceThreadPool::threadWork (this=0x5587a22e85b0) at io_service_thread_pool.cc:219
#8 0x00007f17be7e6ed0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9 0x00007f17bf2c2ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f17be4dfaef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 2 (Thread 0x7f17bcd3c700 (LWP 72459)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x5587a225bff0) at ../sysdeps/nptl/futex-internal.h:186
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5587a225bf70, cond=0x5587a225bfc8) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x5587a225bfc8, mutex=0x5587a225bf70) at pthread_cond_wait.c:638
#3 0x00007f17be7e190c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007f17bddf3a29 in progschj::ThreadPool::emplace_back_worker(unsigned long)::{lambda()#1}::operator()() const () from /usr/lib/x86_64-linux-gnu/liblog4cplus-2.0.so.3
#5 0x00007f17be7e6ed0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f17bf2c2ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f17be4dfaef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 1 (Thread 0x7f17babf7700 (LWP 72463)):
#0 0x00007f17b400ae40 in ?? ()
#1 0x00007f17bb518eeb in isc::lease_query::BulkLeaseQuery6::bulkQueryByRemoteIdNext (this=0x7f17b400c220) at bulk_lease_query6.cc:441
#2 0x00007f17bb5192ec in isc::lease_query::BulkLeaseQuery6::bulkQueryByRemoteIdNextNoThrow (this=<optimized out>) at bulk_lease_query6.cc:415
#3 0x00007f17bec11701 in std::function<void ()>::operator()() const (this=0x7f17babf6a70) at /usr/include/c++/10/bits/std_function.h:622
--Type <RET> for more, q to quit, c to continue without paging--
#4 boost::asio::asio_handler_invoke<std::function<void ()> >(std::function<void ()>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:88
#5 boost_asio_handler_invoke_helpers::invoke<std::function<void ()>, std::function<void ()> >(std::function<void ()>&, std::function<void ()>&) (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:54
#6 boost::asio::detail::handler_work<std::function<void ()>, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0u>, void>::complete<std::function<void ()> >(std::function<void ()>&, std::function<void ()>&) (handler=..., function=..., this=<synthetic pointer>) at /usr/include/boost/asio/detail/handler_work.hpp:425
#7 boost::asio::detail::completion_handler<std::function<void ()>, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0u> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=0x5587a22b6380, base=0x7f17babf6a70) at /usr/include/boost/asio/detail/completion_handler.hpp:74
#8 0x00007f17bee78b04 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x5587a22b6380, this=0x7f17b401df10) at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#9 boost::asio::detail::scheduler::do_run_one (this=0x5587a22b6380, lock=..., this_thread=..., ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:481
#10 0x00007f17bec10419 in boost::asio::detail::scheduler::run (this=0x5587a22b6380, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:204
#11 0x00007f17bec10e44 in boost::asio::io_context::run (this=<optimized out>, this=<optimized out>) at /usr/include/boost/asio/impl/io_context.ipp:63
#12 isc::asiolink::IOServiceImpl::run (this=<optimized out>) at io_service.cc:40
#13 isc::asiolink::IOService::run (this=<optimized out>) at io_service.cc:115
#14 0x00007f17bec165db in isc::asiolink::IoServiceThreadPool::threadWork (this=0x5587a22e85b0) at io_service_thread_pool.cc:219
#15 0x00007f17be7e6ed0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#16 0x00007f17bf2c2ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#17 0x00007f17be4dfaef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)
(gdb)
```
Script to reproduce (commented out code needs installed scapy with patch for BLQ support - which I can provide if anyone is interested):
```
import socket
host_ip, server_port = "2001:db8:1::1000", 9000
# make sure you are using 2001:db8:1::1000 for server and 2001:db8:1::2000 for client
with socket.socket(socket.AF_INET6, socket.SOCK_STREAM) as tcp_client:
tcp_client.settimeout(20)
tcp_client.connect((host_ip, server_port))
d = b"\x0e\x00\x02\x9a\x00,\x00-\x05 \x01\r\xb8\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x01\x00\n\x00\x03\x00\x01\x01\x16 \x17\x1e\x14\x00%\x00\n\x00\x00\x00\x00\n\x00'\x00\x00\x01\x00\x01\x00\n\x00\x03\x00\x01\x01\x16 \x17\x1e\x14"
l = len(d)
msg = l.to_bytes(2, 'big') + d
print(msg)
tcp_client.sendall(msg)
tcp_client.shutdown(socket.SHUT_WR)
received = b''
while True:
buf = tcp_client.recv(1024)
if not buf:
break
received += buf
# from scapy.layers import dhcp6
# def read_dhcp6_msgs(d, msg):
# stop = int.from_bytes(d[:2], "big")
# print(f"received pkt length is {stop}")
# pkt = dhcp6.DHCP6(d[2:stop+2])
# pkt.build()
# msg.append(pkt.copy())
# if len(d[stop:]) > 0:
# msg = read_dhcp6_msgs(d[stop+2:], msg)
# return msg
#
#
# print(len(received))
# print("MSG received in bytes: ", received)
# msgs = read_dhcp6_msgs(received, [])
```kea2.3.4Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/2675BLQ accept filter2023-07-17T13:58:23ZFrancis DupontBLQ accept filterBulk Lease Query connection filter callback:
- refuse connection from a not requester
- refuse connection when the pool is full
- refuse one requester to eat all connections when more than one requester were configued.
Note the filte...Bulk Lease Query connection filter callback:
- refuse connection from a not requester
- refuse connection when the pool is full
- refuse one requester to eat all connections when more than one requester were configued.
Note the filtering is already tested in `LeaseQueryListenerTest6.filterClientsTest` but the TCP library must be extended to give access to the connection pool. So a core MR is needed too.kea2.3.4Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/26492.3.3 release checklist2023-01-26T07:44:14ZAndrei Pavelandrei@isc.org2.3.3 release checklist---
name: a.b.c release checklist
about: Create a new issue using this checklist for each release.
---
# Kea Release Checklist
This is thoroughly documented in [the Kea Release Process guide](https://wiki.isc.org/bin/view/QA/KeaRelease...---
name: a.b.c release checklist
about: Create a new issue using this checklist for each release.
---
# Kea Release Checklist
This is thoroughly documented in [the Kea Release Process guide](https://wiki.isc.org/bin/view/QA/KeaReleaseProcess).
## Pre-Release Preparation
Some of those checks and updates can be made before the actual freeze.
For new stable releases or maintenance releases, please don't use `kea-dev` build farm. Use dedicated build farm for each release cycle.
1. Check Jenkins results:
1. [x] Check Jenkins jobs for failures: [distcheck](https://jenkins.aws.isc.org/job/kea-dev/job/distcheck/), etc...
1. [x] Check [Jenkins Tests Report](https://jenkins.aws.isc.org/job/kea-dev/job/jenkins-tests-report/).
1. [x] Check [tarball check report](https://jenkins.aws.isc.org/job/kea-dev/job/build-tarball/Kea_20Build_20Checks/)
1. [ ] Check [Performance Test Results](https://jenkins.isc.org/job/kea-dev/job/performance/KeaPerformanceReport/) in Jenkins for drops in performance.
1. Check versioning, ask the development team if:
- the library versions are being updated
- `KEA_HOOKS_VERSION` is being updated
- [x] create an issue for that for developers in Gitlab
- script: [./tools/bump-lib-versions.sh](https://gitlab.isc.org/isc-projects/kea/-/blob/master/tools/bump-lib-versions.sh) Kea-q.w.e Kea-a.b.c (where `a.b.c` is the version to be released and `q.w.e` is the version previous to that)
1. [x] Look at the issue numbers in commit descriptions. Add to ChangeLog a mention about any change with visible impact that had not been mentioned already.
1. If any changes have been done to database schemas, then:
1. [x] Check that a previously released schema has not been changed.
1. [x] Check that the additions to `dhcpdb_create.*sql`, and nothing more nor less than what was added in this release, is present in a `upgrade_*_to_*.sh.in` script that should also have been added in this release.
1. Prepare Release Notes
1. [x] Create Release Notes on Kea GitLab wiki and notify @tomek about that. It should be created under "release notes" directory, like this one: https://gitlab.isc.org/isc-projects/kea/-/wikis/release%20notes/release-notes-2.1.0
1. [x] Finish release notes and conduct its review. Also please notify @sgoldlust or @vicky that release notes are ready for review.
1. [x] Run [release-upload-to-cloudsmith](https://jenkins.aws.isc.org/job/kea-dev/job/release-upload-to-cloudsmith/) as running parameter `TarballOrPkg` select `packages` and [release-pkgs-check](https://jenkins.aws.isc.org/job/kea-dev/job/release-pkgs-check/) to test repositories for correctness.
1. If a new Cloudsmith repository is used, then:
1. [ ] Make sure freeradius packages are uploaded to the Cloudsmith repository or copied from a previous repository.
1. [ ] Make sure access tokens have been synchronized from previous Cloudsmith repositories and to the [check-pkgs.py](https://gitlab.isc.org/isc-private/qa-dhcp/-/blob/master/kea/pkgs-check/check-pkgs.py) QA tool.
1. [x] Check if ReadTheDocs can build Kea documentation.
1. Trigger rebuilding docs on [readthedocs.org](https://readthedocs.org/projects/kea/builds) and wait for the build to complete.
The following steps may involve changing files in the repository.
1. [x] Run [update-code-for-release.py](https://gitlab.isc.org/isc-private/qa-dhcp/-/blob/master/kea/build/update-code-for-release.py) <br>
Example command: `GITLAB_TOKEN='...' ./update-code-for-release.py 1.9.7 'Apr 28, 2021' ~/isc/repos/kea/` <br>
Help: `GITLAB_TOKEN="..." update-code-for-release.py --help`<br>
This script makes the following changes and actions:
1. run prepare_kea_release.sh that does:
1.1. add release entries in ChangeLogs
1.2. update Kea version in configure.ac
1.3. update copyright years in files that were changed in current year
1.4. sort message files
1.5. regenerate message files headers
2. regenerate parsers using Bison from Docker<br>
using with --upload:
3. create an issue in GitLab for release changes in kea repo
4. create branches and merge requests for kea and kea-premium
5. commit the changes in both repos
6. checkout created branches in both repos
7. commit and push the changes to GitLab server
1. Check manually User's Guide sections:
1. Chapter 1. Introduction
1. [x] On what platforms we are running tests using Jenkins? Update Supported Platforms in platforms.rst file.
1. [ ] Did we add any additional 3rd party software? Update if needed
1. [ ] Is there a new tool installed in bin or sbin released this time? If yes, is it documented?
1. Chapter 2. Quick Start
1. [ ] Has the default installation process changed (for kea and hooks)? If yes, are those changes documented and highlighted in the release notes?
1. Chapter 3. Installation
1. [x] Check installation hierarchy (this is also automatically checked at the end of [ut-extended job](https://jenkins.aws.isc.org/job/kea-dev/job/ut-extended/))
1. [ ] Check and update Build Requirements
1. [ ] Check configure options against what `./configure -h` says
1. [x] Check ChangeLog entries in Kea main and premium: spelling, trailing whitespaces, etc.
1. [ ] Check AUTHORS, INSTALL, README files in Kea main and premium.
- AUTHORS: update credits
- README: check "provides" with Release Notes, User Guide (1.3 Kea Software)
1. [x] If changes were made, commit the change, push the branch to the main repository and request a review. Once the changes have been approved, merge the MR to master.
## Build selection, tarballs upload and sanity checks
This is the last moment to freeze code! :snowflake:
1. [x] Go to [build-tarball](https://jenkins.aws.isc.org/job/kea-dev/job/build-tarball/) Jenkins job and pick the last tarball built - it will be a release candidate.
1. [x] Check tarball before requesting sanity checks from the development team.
1. Download tarballs from picked Jenkins build
1. Check hook libraries.
1. Are there any new hook libraries installed in this release?
1. Are they in the proper tarball? Premium or subscription?
1. Do they have their own package?
1. Check sizes - is the new package reasonable?
1. Check installation tree, compare it with the previous release
1. Check installed libraries.
1. which were updated? (save results)
1. Do any of the libraries from the current release have lower version than in the previous release?
1. Uninstall Kea, check what left (there should be just configuration files)
1. Check if all of the installed binaries has man page
1. if not, is it in the tarball?
1. are man page up-to-date?
1. Check if documentation is properly formatted, has correct versions and dates.
1. it's advised to search for previous version numbers, some of them are statically added in statements that are no longer valid
1. [x] Upload tarballs to repo.isc.org using Jenkins and send sanity checks request.
1. Go to [release-tarball-upload](https://jenkins.aws.isc.org/job/kea-dev/job/release-tarball-upload/) Jenkins job.
1. Click "Build with Parameters"
1. In field "Tarball" select picked tarball build
1. In field "Release_Candidate" pick:
1. rc1 if this is the first selected build for release, it will push the selected tarballs to repo.isc.org, to a directory suffixed with indicated rc#
1. next rc# if this is a respin after some fixes (note: it is not possible to pick previous rc number - it will result in an error)
1. final if the last rc number was ok, this will push the selected tarball to repo.isc.org, to a directory with no suffixes
1. Submit the job that will automatically:
1. Upload the tarballs <br>
and if this is not the final version:
1. Create a GitLab issue for sanity checks, put there the announcement
1. Send Sanity Checks announcement via email to dhcp-team@isc.org and to DHCP channel on Mattermost.<br>
The announcement includes:
- a link to chapter 4 Sanity Checks of the release process: [KeaReleaseProcess - SanityChecks](https://wiki.isc.org/bin/view/QA/KeaReleaseProcess#4.%20Sanity%20Checks)
- a link to the GitLab issue
- tarballs locations with SHA256 checksums
- rpm/deb packages locations and versions
## Releasing Tarballs and Packages
1. [x] Update Release Notes with ChangeLog entries
1. [x] Upload final tarballs to repo.isc.org
1. Go to [release-tarball-upload](https://jenkins.aws.isc.org/job/kea-dev/job/release-tarball-upload/) Jenkins job.
1. Click "Build with Parameters"
1. In field "Tarball" select picked tarball build
1. In field "Release_Candidate" pick final <br>
This job will also:
- open an issue on [the signing repository](https://gitlab.isc.org/isc-private/signing/-/issues) requesting signing final tarballs on repo.isc.org
- create Git tags `Kea-a.b.c` in Kea main and premium repositories
- send a signing request issue link on the DHCP Mattermost channel
Wait until tarballs are signed.
1. [x] Upload final RPM & DEB packages, tarballs and sign files to cloudsmith.io
1. Go to [release-upload-to-cloudsmith](https://jenkins.aws.isc.org/job/kea-dev/job/release-upload-to-cloudsmith/).
1. Click "Build with Parameters" link
1. Pick your selected pkg build in Packages field, and select `PrivPubRepos: "both"`, `TestProdRepos: "production"`, `TarballOrPkg: "both"` and click Build button.
1. When it finishes run check: [releases-pkgs-check](https://jenkins.aws.isc.org/job/kea-dev/job/release-pkgs-check/).
1. [x] Update ReadTheDocs
1. Trigger rebuilding docs on [readthedocs.org](https://readthedocs.org/projects/kea/builds).
1. Publish currently released version. On the `Versions` tab, scroll down to `Activate a version`, search for `kea-a.b.c` and click `Activate`.
1. For stable releases, change the default version to point to this stable release.
1. [x] Mark Jenkins jobs with release artifacts to be kept forever and update description of build by adding there version of released kea (e.g. Kea-2.2.2): <br>
Go to the following Jenkins jobs, click release build and then, on the build page, click `Keep this build forever` button and edit description: <br>
1. [build-tarball](https://jenkins.aws.isc.org/job/kea-dev/job/build-tarball/)
1. [pkg job](https://jenkins.aws.isc.org/job/kea-dev/job/pkg/)
1. [x] Create an issue and a merge request to bump up Kea version in `configure.ac` to next development version which could be, based on just released version `a.b.c`:
* `a.b.z-git` where `z == c + 1` or
* `a.y.0-git` where `y == b + 1` or
* `x.1.0-git` where `x == a + 1`
1. [x] Send a request for publishing the release on the Support Mattermost channel linking the Signing issue and the release checklist issue.
### On the Day of Public Release
- [x] ***(Support)*** Wait for clearance from Security Officer to proceed with the public release (if applicable).
- [x] ***(Support)*** Wait for the signing ticket from the release engineer.
- [x] ***(Support)*** Confirm that the tarballs have the checksums mentioned on the signing ticket.
- [x] ***(Support)*** Sign the tarballs.
- [x] ***(Support)*** Upload signature files to repo.isc.org.
- [x] ***(Support)*** Place tarballs in public location on FTP site.
- [x] ***(Support)*** Publish links to downloads on ISC website.
- [x] ***(Support)*** Write release email to *kea-announce*.
- [x] ***(Support)*** Write email to *kea-users* (if a major release).
- [x] ***(Support)*** Send eligible customers updated links to the Subscription software FTP site.
- [ ] ***(Support)*** If it is a new `major.minor` version, SWENG will have created a new repo in Cloudsmith, which will need the customer tokens migrated from an existing repo. Then update support customers that this new private repo exists.
- [x] ***(Support)*** Update tickets in case of waiting for support customers.
- [ ] ***(QA)*** Inform Marketing of the release.
- [ ] ***(Marketing)*** If a new Cloudsmith repository is used, update the Zapier scripts.
- [ ] ***(Marketing)*** Upload Premium hooks tarball to SendOwl. Create a new product if a new branch, otherwise update existing product. Send notifications to existing subscribers of the new version.
- [ ] ***(Marketing)*** Announce on social media.
- [x] ***(Marketing)*** Update [Wikipedia entry for Kea](https://en.wikipedia.org/wiki/Kea_(software)).
- [ ] ***(Marketing)*** Write blog article (if a major release).
- [ ] ***(Marketing)*** Update [Kea page on web site if any new hooks](https://www.isc.org/kea/).
- [ ] ***(Marketing)*** Update Kea Premium and Kea Subscription data sheets if any new hooks.
- [ ] ***(Marketing)*** Update [significant features matrix](https://kb.isc.org/docs/en/aa-01615) (if any significant new features).
- [ ] ***(Marketing)*** Update [Kea documentation page in KB](https://kb.isc.org/docs/en/kea-administrator-reference-manual).kea2.3.3Wlodzimierz WencelWlodzimierz Wencel2022-11-30https://gitlab.isc.org/isc-projects/kea/-/issues/2647BLQ error cases2022-12-02T21:46:34ZFrancis DupontBLQ error casesNeed to decide what to do on errors:
- unpack errors on query messages
- malformed query messages (missing a required option: on UDP such query messages are dropped on the floor)
- new query types with lease backends not supporting th...Need to decide what to do on errors:
- unpack errors on query messages
- malformed query messages (missing a required option: on UDP such query messages are dropped on the floor)
- new query types with lease backends not supporting them (I propose to reply with NotAllowed, see #2646 too)
Need too to implement a reasonable shutdown handling.kea2.3.4Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/2645Extend lease_query config syntax.2023-07-17T13:58:23ZFrancis DupontExtend lease_query config syntax.Both premium and core (the second for the doc) ticket.Both premium and core (the second for the doc) ticket.kea2.3.4Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/2498HA state unavailable, though working2022-07-22T09:17:11ZNicolas EHA state unavailable, though working---
Stork 1.4.0 is showing both Kea 2.1.7 dhcp4 servers in HA+MT with state unavailable.
Actually, there are both working fine, as Stork server is.
**To Reproduce**
Steps to reproduce the behaviour:
1. Run Kea 2.1.7 in High-availability...---
Stork 1.4.0 is showing both Kea 2.1.7 dhcp4 servers in HA+MT with state unavailable.
Actually, there are both working fine, as Stork server is.
**To Reproduce**
Steps to reproduce the behaviour:
1. Run Kea 2.1.7 in High-availability hot-standby + Multi Threading on two machines, Stork server running on machine 1
2. Restart both machine (to be sure to be sure)
3. Witness that after every daemon has started, and the logs are showing a correct HA state (machine 1 = primary and OK, machine 2 in hot-standby)
4. Make some tests (stop one dhcp4 service, validate that clients still get served, restart, witness a correct chat between both nodes)
5. During all this, the stork web GUI dashboard (very first page after login) is showing : "HA state unavailable"
When clicking on the "unavailable" clickable link, it leads me to a page where everything is green, OK, correct, valid as it can be.
**Expected behaviour**
The dashboard show report a situation as happy as the reality is when looking at the details pages, or in the logs, or in the currently running services.
**Environment:**
- Kea version: 2.1.7
- Stork agent + server : 1.4.0
- OS: Debian 11 bullseye
**Contacting you**
admin@sitpi.frSlawek FigielSlawek Figiel