#599291 isc-dhcp-server hangs with 100% CPU load on startup

Package:
isc-dhcp-server
Source:
isc-dhcp
Description:
ISC DHCP server for automatic IP address assignment
Submitter:
Jens Pranaitis
Date:
2026-08-05 17:33:41 UTC
Severity:
normal
#599291#5
Date:
2010-10-06 13:01:59 UTC
From:
To:
When upgrading from dhcp3-server 3.1.1-6+lenny4 to isc-dhcp-server
4.1.1-P1-9 the dhcpd hangs and causes 100% CPU load. I wasn't able to
get any meaningful output from strace. A tarball with the config files
is attached to this email.
Any help on debugging the issue would be really appreciated.

#599291#10
Date:
2010-11-12 12:44:42 UTC
From:
To:
Problem is caused by the use of 'option slp-directory-agent' and/or 'option slp-service-scope'.  By removing these, dhcpd loads up normally:

berk:/home/alex# tail /var/tmp/dhcp-ldap-startup.log
}
}
}
shared-network "lar-1" {
option domain-name "soas.ac.uk";
option domain-name-servers 193.63.73.32;
option domain-search "soas.ac.uk";
option wpad "http://proxy.soas.ac.uk/";
option slp-directory-agent true 212.219.139.134;
option slp-service-scope true "SOAS_SCOPE";
<------- 100% CPU SPIN HANG
----

Although I am using the LDAP functionality, it's repeated with the non-LDAP enabled dhcpcd.  This seems to be an upstream bug and linked to the parsing of that option, attached is a backtrace of where it is looping:
----
(gdb) bt full
#0  0x0000000000461a33 in parse_option_data (expr=0x7fff1328ad68, cfile=0x15b33b0, lookups=1, option=<value optimized out>) at parse.c:4932
        uniform = 0
        val = 0x7fb8178e4e40 ""
        fmt = 0x499c44 "o"
        tmp = 0x0
        token = <value optimized out>
#1  0x0000000000461c01 in parse_option_statement (result=0x7fff1328ae08, cfile=0x15b33b0, lookups=1, option=0x6afc00,
    op=supersede_option_statement) at parse.c:5026
        val = 0x15b34a4 "SOAS_SCOPE"
        token = 4824132
        expr = 0x1bb1160
        lose = <value optimized out>
#2  0x0000000000414f33 in parse_statement (cfile=0x15b33b0, group=0x15b4460, type=2, host_decl=<value optimized out>, declaration=0)
    at confpars.c:790
        token = <value optimized out>
        val = <value optimized out>
        share = <value optimized out>
        n = <value optimized out>
        hardware = {hlen = 1 '\001', hbuf = "\000\000\000\000\000\000\000\260\026\063\030\270\177\000\000\240}"}
        et = 0x0
        ep = <value optimized out>
        option = 0x132
        cache = <value optimized out>
        lose = <value optimized out>
        known = 1
        status = <value optimized out>
        code = 0
#3  0x0000000000416a4c in parse_shared_net_declaration (cfile=0x15b33b0, group=<value optimized out>) at confpars.c:2498
        val = 0x15b34a4 "SOAS_SCOPE"
        token = <value optimized out>
        share = 0x1bb2150
        name = <value optimized out>
        declaration = 0
        status = <value optimized out>
#4  0x00000000004154d1 in parse_statement (cfile=0x15b33b0, group=0x12c7da0, type=<value optimized out>, host_decl=<value optimized out>,
    declaration=1) at confpars.c:432
        token = SHARED_NETWORK
        val = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        share = <value optimized out>
        n = <value optimized out>
        hardware = {hlen = 1 '\001', hbuf = "\000\000\000\000\000\000\000\260\026\063\030\270\177\000\000\300\257"}
        et = <value optimized out>
        ep = <value optimized out>
        option = 0x0
        cache = <value optimized out>
        lose = <value optimized out>
        known = <value optimized out>
        status = <value optimized out>
        code = <value optimized out>
#5  0x000000000041a1b3 in conf_file_subparse (cfile=0x15b33b0, group=0x12c7da0, group_type=0) at confpars.c:253
        val = 0x15b34a4 "SOAS_SCOPE"
        token = 4824132
        declaration = 1
#6  0x00000000004415fb in ldap_read_config () at ldap.c:1847
[snipped uninteresting bit]
----

Cheers

#599291#15
Date:
2010-11-22 09:21:38 UTC
From:
To:
Hi,

Novell, unsurprisingly, have released a fix for this bug.

https://bugzilla.novell.com/show_bug.cgi?id=643845

It's been reported upstream too.

Cheers

#599291#20
Date:
2011-03-04 14:17:34 UTC
From:
To:
Hello all - it appears the offending option is only slp-service-scope statement, slp-directory-agent being present will still allow daemon to load correctly.  This is still present in isc-dhcp-server-4.1.1-P1-15.

We can create a custom option 79 to handle this issue in the meantime.

option slp-scope code 79 = { boolean, text };
option slp-scope true "scope_name";

This will have to be placed before upgrading from lenny to avoid the hang, and comment out or remove the existing option slp-service-scope statement.

Hope this helps someone :)
Grant Meeker
Technology Services

#599291#25
Date:
2026-08-05 17:31:09 UTC
From:
To:
Dear submitter,

as the package isc-dhcp has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/1143544

The version of this package that was in Debian prior to this removal
can still be found using https://snapshot.debian.org/.

Please note that the changes have been done on the master archive and
will not propagate to any mirrors until the next dinstall run at the
earliest.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmaster@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Thorsten Alteholz (the ftpmaster behind the curtain)