Package: sasl2-bin
Version: 2.1.25.dfsg1-6+deb7u1
Severity: important

Dear Maintainer,

Once in a while saslauthd goes into an infinite loop, using 100% cpu.

We haven't determined what causes this, but the loop occurs inside kerberos
library at sendto_kdc.c function service_fds, more specifically at the
while loop that starts as...

%% while (selstate->nfds > 0) {

... it appears (but I might be wrong) as if all calls to ...

%% if (state->fd == INVALID_SOCKET)

... return true and the code continues (continue) forever.

Doing a simple strace returns the following two lines, forever repeating:

%% poll([{fd=9, events=POLLIN}], 1, -399174223) = 1 ([{fd=9, revents=POLLIN}])
%% gettimeofday({1377825003, 91830}, NULL) = 0

File descriptor 9 has the following properties in lsof:

COMMAND    PID USER   FD   TYPE             DEVICE SIZE/OFF    NODE
saslauthd 2023 root    9u  IPv4            2225955      0t0     UDP

NAME
XX.XX.XX.XX:36034->YY.YY.YY.YY:88

(sorry, had to mask out the IPs)

YY.YY.YY.YY is a kerberos server.

It seems as if this file descriptor is somehow invalid or something.

No network traffic into (or from) kerberos server occurs while
the saslauthd is in this state.

The only solution until now seems to be restarting saslauthd, until it
happens again, a few days after.

Best regards,

Rodrigo Cunha

-- GDB stack trace of the running process:
#0  0x00007fe0455e6df8 in *__GI___poll (fds=fds@entry=0x7fe049277198, nfds=1, 
timeout=<optimized out>, timeout@entry=-195696288)
    at ../sysdeps/unix/sysv/linux/poll.c:83
#1  0x00007fe046f6dff4 in cm_select_or_poll (sret=<synthetic pointer>, 
out=0x7fe049277198, in=0x7fe049275180) at 
../../../../src/lib/krb5/os/sendto_kdc.c:530
#2  service_fds (context=context@entry=0x7fe04926d110, 
selstate=selstate@entry=0x7fe049275180, interval=interval@entry=1, 
conns=conns@entry=0x7fe04926e630, 
    seltemp=seltemp@entry=0x7fe049277198, 
msg_handler=msg_handler@entry=0x7fe046f6d870 <check_for_svc_unavailable>, 
    msg_handler_data=msg_handler_data@entry=0x7fff37725de8, 
winner_out=winner_out@entry=0x7fff37725cb8) at 
../../../../src/lib/krb5/os/sendto_kdc.c:1163
#3  0x00007fe046f6ee4c in k5_sendto (context=context@entry=0x7fe04926d110, 
message=message@entry=0x7fff37725e70, servers=servers@entry=0x7fff37725df0, 
    socktype1=socktype1@entry=2, socktype2=1, 
callback_info=callback_info@entry=0x0, reply=reply@entry=0x7fff37725e80, 
remoteaddr=remoteaddr@entry=0x0, 
    remoteaddrlen=remoteaddrlen@entry=0x0, 
server_used=server_used@entry=0x7fff37725dec, 
    msg_handler=msg_handler@entry=0x7fe046f6d870 <check_for_svc_unavailable>, 
msg_handler_data=msg_handler_data@entry=0x7fff37725de8)
    at ../../../../src/lib/krb5/os/sendto_kdc.c:1290
#4  0x00007fe046f6f2cc in krb5_sendto_kdc 
(context=context@entry=0x7fe04926d110, message=message@entry=0x7fff37725e70, 
realm=realm@entry=0x7fff37725e90, 
    reply=reply@entry=0x7fff37725e80, 
use_master=use_master@entry=0x7fff37725fa8, tcp_only=tcp_only@entry=0) at 
../../../../src/lib/krb5/os/sendto_kdc.c:339
#5  0x00007fe046f47eeb in init_creds_get (context=context@entry=0x7fe04926d110, 
ctx=0x7fe049270c70, use_master=use_master@entry=0x7fff37725fa8)
    at ../../../../src/lib/krb5/krb/get_in_tkt.c:578
#6  0x00007fe046f4801d in krb5int_get_init_creds 
(context=context@entry=0x7fe04926d110, creds=creds@entry=0x7fff377272d0, 
client=client@entry=0x7fe049270420, 
    prompter=prompter@entry=0, prompter_data=prompter_data@entry=0x0, 
start_time=start_time@entry=0, in_tkt_service=in_tkt_service@entry=0x0, 
    options=options@entry=0x7fff37727280, gak_fct=gak_fct@entry=0x7fe046f48f70 
<krb5_get_as_key_password>, gak_data=gak_data@entry=0x7fff37725fd0, 
    use_master=use_master@entry=0x7fff37725fa8, 
as_reply=as_reply@entry=0x7fff37725fb8) at 
../../../../src/lib/krb5/krb/get_in_tkt.c:1649
#7  0x00007fe046f49622 in krb5_get_init_creds_password (context=0x7fe04926d110, 
creds=creds@entry=0x7fff377272d0, client=0x7fe049270420, 
    password=password@entry=0x7fff3772a770 "Z,", prompter=prompter@entry=0, 
data=data@entry=0x0, start_time=start_time@entry=0, 
    in_tkt_service=in_tkt_service@entry=0x0, 
options=options@entry=0x7fff37727280) at 
../../../../src/lib/krb5/krb/gic_pwd.c:291
#8  0x00007fe04762bfcb in auth_krb5 (user=0x7fff3772a660 "xpto91234", 
password=0x7fff3772a770 "Z,", service=<optimized out>, realm=<optimized out>)
    at ../../saslauthd/auth_krb5.c:418
#9  0x00007fe047635981 in do_auth (_login=_login@entry=0x7fff3772a660 
"xpto91234", password=password@entry=0x7fff3772a770 "Z,", 
    service=service@entry=0x7fff3772a880 "ldap", 
realm=realm@entry=0x7fff3772a990 "") at ../../saslauthd/saslauthd-main.c:410
#10 0x00007fe047634a90 in do_request (conn_fd=conn_fd@entry=8) at 
../../saslauthd/ipc_unix.c:426
#11 0x00007fe047635267 in ipc_loop () at ../../saslauthd/ipc_unix.c:277
#12 0x00007fe04762b96e in main (argc=<optimized out>, argv=<optimized out>) at 
../../saslauthd/saslauthd-main.c:369

-- System Information:
Debian Release: 7.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages sasl2-bin depends on:
ii  db-util                5.1.6
ii  debconf [debconf-2.0]  1.5.49
ii  libc6                  2.13-38
ii  libcomerr2             1.42.5-1.1
ii  libdb5.1               5.1.29-5
ii  libgssapi-krb5-2       1.10.1+dfsg-5+deb7u1
ii  libk5crypto3           1.10.1+dfsg-5+deb7u1
ii  libkrb5-3              1.10.1+dfsg-5+deb7u1
ii  libldap-2.4-2          2.4.35-1+dsi70+2
ii  libpam0g               1.1.3-7.1
ii  libsasl2-2             2.1.25.dfsg1-6+deb7u1
ii  libssl1.0.0            1.0.1e-2
ii  lsb-base               4.1+Debian8+deb7u1

sasl2-bin recommends no packages.

sasl2-bin suggests no packages.

-- Configuration Files:
/etc/default/saslauthd changed:
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS='kerberos5'
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/run/saslauthd"
export KRB5_KTNAME=/etc/ldap/slapd.keytab


-- debconf information:
  cyrus-sasl2/backup-sasldb2: /var/backups/sasldb2.bak
  cyrus-sasl2/upgrade-sasldb2-failed:
  cyrus-sasl2/upgrade-sasldb2-backup-failed:
  cyrus-sasl2/purge-sasldb2: false


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to