[pkg-dhcp-devel] Bug#599291: isc-dhcp-server: hangs with 100% CPU load on startup

Alexander Clouter alex at digriz.org.uk
Fri Nov 12 12:44:42 UTC 2010


Package: isc-dhcp-server
Version: 4.1.1-P1-11
Severity: normal

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

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: armel (armv5tel)

Kernel: Linux 2.6.32-5-kirkwood
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages isc-dhcp-server depends on:
ii  debconf [debconf-2.0]        1.5.36      Debian configuration management sy
ii  debianutils                  3.4         Miscellaneous utilities specific t
ii  isc-dhcp-common              4.1.1-P1-11 common files used by all the isc-d
ii  libc6                        2.11.2-7    Embedded GNU C Library: Shared lib
ii  lsb-base                     3.2-23.1    Linux Standard Base 3.2 init scrip

isc-dhcp-server recommends no packages.

Versions of packages isc-dhcp-server suggests:
ii  isc-dhcp-server-ldap         4.1.1-P1-11 DHCP server able to use LDAP as ba

-- Configuration Files:
/etc/dhcp/dhcpd.conf changed [not included]

-- debconf information excluded





More information about the pkg-dhcp-devel mailing list