[Kea-users] Dhcp4 crash when using 3.0

Giddings, Bret bret at essex.ac.uk
Thu Aug 7 16:11:13 UTC 2025


Hi,

I’m trying to move our environment from 2.6 to 3.0 so have setup one subnet to be served by the new version. This appears to work w.r.t. issuing leases for the subnet in question. However, it also crashes (seemingly randomly) with

kea-dhcp4: /usr/include/boost/smart_ptr/shared_ptr.hpp:728: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = const isc::dhcp::Subnet4; typename boost::detail::sp_member_access<T>::type = const isc::dhcp::Subnet4*]: Assertion `px != 0' failed.

The environment is

Debian 12.11
Using Cloudsmith images:
# dpkg -l | grep kea
ii  isc-kea-common       3.0.0-isc20250717111736   amd64    Common libraries for the ISC Kea DHCP server
ii  isc-kea-dhcp-ddns    3.0.0-isc20250717111736   amd64    ISC Kea DHCP Dynamic DNS service
ii  isc-kea-dhcp4        3.0.0-isc20250717111736   amd64    ISC Kea IPv4 DHCP server
ii  isc-kea-hooks        3.0.0-isc20250717111736   amd64    Hook libraries for ISC Kea DHCP server

Is this a known issue and if not, what additional information is required to debug it.

Relevant Kea config  which is pretty much identical to 2.6 config with exception of control-sockets is

{
  "Dhcp4": {
    "interfaces-config": {
      "interfaces": [
        "eth0"
      ],
      "dhcp-socket-type": "udp",
      "service-sockets-require-all": true,
      "service-sockets-max-retries": 100,
      "service-sockets-retry-wait-time": 5000
    },
    "control-sockets": [
        {
            "socket-type": "http",
            "socket-port": 8000
        }
    ],
    "multi-threading": {
      "enable-multi-threading": true,
      "thread-pool-size": 2,
      "packet-queue-size": 64
    },
    "lease-database": {
      "type": "memfile",
      "lfc-interval": 1500
    },
    "valid-lifetime": 43200,
    "expired-leases-processing": {
      "reclaim-timer-wait-time": 3600,
      "hold-reclaimed-time": 172800,
      "max-reclaim-leases": 0,
      "max-reclaim-time": 0
    },
    "hooks-libraries": [
      {
        "library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so"
      },
      {
        "library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_flex_option.so",
        "parameters": {
          "options": [
           {
              "code": 61,
              "remove": "member('dhcp-3') or pkt4.giaddr == 10.246.127.253"
           }
          ]
        }
      }
    ],
    "dhcp-ddns": {
      // Connectivity parameters
      "enable-updates": true,
      "server-ip": "127.0.0.1",
      "server-port": 53001,
      "sender-ip": "",
      "sender-port": 0,
      "max-queue-size": 1024,
      "ncr-protocol": "UDP",
      "ncr-format": "JSON"
    },
    // Behavioral parameters (global)
    "ddns-send-updates": true,
    "ddns-override-no-update": false,
    "ddns-override-client-update": true,
    "ddns-replace-client-name": "always",
    "ddns-generated-prefix": "host",
    "ddns-qualifying-suffix": “example.com",
    "ddns-update-on-renew": true,
    "hostname-char-set": "",
    "hostname-char-replacement": "",
    "reservations-global": true,
    "reservations-in-subnet": true,
    "authoritative": true,
    "ip-reservations-unique": false,
    "match-client-id": false,

    "client-classes": [
  {"name": "dhcp-2”},
  {"name": "dhcp-42"}
],
    "reservations": [
  { "hostname": "foobar", "hw-address": "00:0a:9f:22:c7:b0", "client-classes": ["dhcp-2"]  },
// 20000+ additional reservations of various client-class types not shown
],
    "subnet4": [
  {
    "id": 503,
    "subnet": "10.245.34.128/26",
    "option-data": [
      { "name": "routers"             , "data": "10.245.34.190"                               },
      { "name": "domain-name-servers" , "data": "10.245.94.204,10.245.48.89,10.245.252.201" },
      { "name": "domain-name"         , "data": "example.com"                                  },
      { "name": "netbios-name-servers", "data": "10.245.42.23,10.245.48.35"                  }
    ],
    "valid-lifetime": 28800,
    "pools": [{"pool-id": 10503042, "client-class": "dhcp-42", "pool": "10.245.34.129 - 10.245.34.185"}],
    ]
  }
]  }
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-users/attachments/20250807/a9f0e23a/attachment-0001.htm>


More information about the Kea-users mailing list