← Back to team overview

touch-packages team mailing list archive

[Bug 1225844] Re: applications sometimes get into an infinite busy loop when doing krb5 authentication

 

** Also affects: krb5 (Debian) via
   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=694988
   Importance: Unknown
       Status: Unknown

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to krb5 in Ubuntu.
https://bugs.launchpad.net/bugs/1225844

Title:
  applications sometimes get into an infinite busy loop when doing krb5
  authentication

Status in krb5 package in Ubuntu:
  Confirmed
Status in krb5 package in Debian:
  Unknown

Bug description:
  From time to time, kerberos authentication fails for me and the
  calling application goes into a busy loop, using 100% of CPU.  I
  usually notice this when the fan on my laptop kicks into high gear due
  to the sudden excessive CPU utilization.

  I've seen this both with local services using pam_krb5 (lightdm,
  gnome-screensaver), and with clients to remote services that use
  libkrb5 directly (openssh-client).

  Here's a gdb backtrace (with libkrb5-3 debugging symbols) of an ssh
  client that's stuck this way.  The process never leaves service_fds.

  #0  service_fds (context=context@entry=0x7fd6663a3b00, 
      selstate=selstate@entry=0x7fd6663aabf0, interval=interval@entry=1, 
      conns=conns@entry=0x7fd6663aa5a0, seltemp=seltemp@entry=0x7fd6663acc08, 
      msg_handler=msg_handler@entry=0x7fd6628d6fc0 <check_for_svc_unavailable>, 
      msg_handler_data=msg_handler_data@entry=0x7fff7b237ab8, 
      winner_out=winner_out@entry=0x7fff7b237978)
      at ../../../../src/lib/krb5/os/sendto_kdc.c:1169
  #1  0x00007fd6628d85c1 in k5_sendto (context=context@entry=0x7fd6663a3b00, 
      message=message@entry=0x7fff7b237b40, 
      servers=servers@entry=0x7fff7b237ac0, socktype1=socktype1@entry=2, 
      socktype2=socktype2@entry=1, callback_info=callback_info@entry=0x0, 
      reply=reply@entry=0x7fff7b237b50, remoteaddr=remoteaddr@entry=0x0, 
      remoteaddrlen=remoteaddrlen@entry=0x0, 
      server_used=server_used@entry=0x7fff7b237abc, 
      msg_handler=msg_handler@entry=0x7fd6628d6fc0 <check_for_svc_unavailable>, 
      msg_handler_data=msg_handler_data@entry=0x7fff7b237ab8)
      at ../../../../src/lib/krb5/os/sendto_kdc.c:1290
  #2  0x00007fd6628d89fa in krb5_sendto_kdc (
      context=context@entry=0x7fd6663a3b00, 
      message=message@entry=0x7fff7b237b40, realm=realm@entry=0x7fff7b237b60, 
      reply=reply@entry=0x7fff7b237b50, 
      use_master=use_master@entry=0x7fff7b237b3c, tcp_only=tcp_only@entry=0)
      at ../../../../src/lib/krb5/os/sendto_kdc.c:339
  ---Type <return> to continue, or q <return> to quit---
  #3  0x00007fd6628b00e5 in krb5_tkt_creds_get (
      context=context@entry=0x7fd6663a3b00, ctx=0x7fd6663a8900)
      at ../../../../src/lib/krb5/krb/get_creds.c:1151
  #4  0x00007fd6628b020d in krb5_get_credentials (
      context=context@entry=0x7fd6663a3b00, options=options@entry=0, 
      ccache=0x7fd6663a4630, in_creds=in_creds@entry=0x7fff7b237c50, 
      out_creds=out_creds@entry=0x7fff7b237c40)
      at ../../../../src/lib/krb5/krb/get_creds.c:1229
  #5  0x00007fd66336117e in get_credentials (
      context=context@entry=0x7fd6663a3b00, cred=cred@entry=0x7fd6663a45b0, 
      now=1379278536, endtime=0, out_creds=out_creds@entry=0x7fff7b237ea0, 
      server=<optimized out>)
      at ../../../../src/lib/gssapi/krb5/init_sec_context.c:203
  #6  0x00007fd6633765aa in kg_new_connection (exts=0x7fff7b237fa0, 
      context=0x7fd6663a3b00, time_rec=0x0, ret_flags=0x0, 
      output_token=0x7fff7b2380e0, actual_mech_type=0x0, input_token=0x0, 
      input_chan_bindings=0x0, time_req=0, req_flags=34, 
      mech_type=<optimized out>, target_name=0x7fd6663a4180, 
      context_handle=0x7fd6663a4060, cred=0x7fd6663a45b0, 
      minor_status=0x7fd6663a19d4)
      at ../../../../src/lib/gssapi/krb5/init_sec_context.c:619
  #7  krb5_gss_init_sec_context_ext (minor_status=0x7fd6663a19d4, 
      claimant_cred_handle=0x7fd6663a45b0, context_handle=0x7fd6663a4060, 
  ---Type <return> to continue, or q <return> to quit---
      target_name=0x7fd6663a4180, mech_type=<optimized out>, req_flags=34, 
      time_req=time_req@entry=0, 
      input_chan_bindings=input_chan_bindings@entry=0x0, 
      input_token=input_token@entry=0x0, 
      actual_mech_type=actual_mech_type@entry=0x0, 
      output_token=output_token@entry=0x7fff7b2380e0, 
      ret_flags=ret_flags@entry=0x0, time_rec=time_rec@entry=0x0, 
      exts=exts@entry=0x7fff7b237fa0)
      at ../../../../src/lib/gssapi/krb5/init_sec_context.c:1009
  #8  0x00007fd663376ce1 in krb5_gss_init_sec_context (
      minor_status=<optimized out>, claimant_cred_handle=<optimized out>, 
      context_handle=<optimized out>, target_name=<optimized out>, 
      mech_type=<optimized out>, req_flags=<optimized out>, time_req=0, 
      input_chan_bindings=0x0, input_token=0x0, actual_mech_type=0x0, 
      output_token=0x7fff7b2380e0, ret_flags=0x0, time_rec=0x0)
      at ../../../../src/lib/gssapi/krb5/init_sec_context.c:1117
  #9  0x00007fd663368cbd in gss_init_sec_context (minor_status=0x7fd6663a19d4, 
      claimant_cred_handle=0x0, context_handle=0x7fd6663a19d8, 
      target_name=0x7fd6663a2650, req_mech_type=<optimized out>, 
      req_flags=<optimized out>, time_req=0, input_chan_bindings=0x0, 
      input_token=0x0, actual_mech_type=0x0, output_token=0x7fff7b2380e0, 
      ret_flags=0x0, time_rec=0x0)
      at ../../../../src/lib/gssapi/mechglue/g_init_sec_context.c:211
  ---Type <return> to continue, or q <return> to quit---
  #10 0x00007fd6644300f0 in ?? ()
  #11 0x00007fd664430355 in ?? ()
  #12 0x00007fd66442f983 in ?? ()
  #13 0x00007fd66442fbe0 in ?? ()
  #14 0x00007fd664407e22 in ?? ()
  #15 0x00007fd664404a52 in ?? ()
  #16 0x00007fd6643f96da in ?? ()
  #17 0x00007fd662fb0de5 in __libc_start_main (main=0x7fd6643f8220, argc=5, 
      ubp_av=0x7fff7b23a8b8, init=<optimized out>, fini=<optimized out>, 
      rtld_fini=<optimized out>, stack_end=0x7fff7b23a8a8) at libc-start.c:260
  #18 0x00007fd6643fa7f5 in ?? ()
  (gdb) info local
  e = <optimized out>
  selret = 1
  now = {tv_sec = 1379278539, tv_usec = 792945}
  state = <optimized out>
  (gdb)

  ProblemType: Bug
  DistroRelease: Ubuntu 13.10
  Package: libkrb5-3 1.10.1+dfsg-6.1ubuntu1
  ProcVersionSignature: Ubuntu 3.11.0-7.13-generic 3.11.0
  Uname: Linux 3.11.0-7-generic x86_64
  ApportVersion: 2.12.1-0ubuntu4
  Architecture: amd64
  Date: Sun Sep 15 19:46:40 2013
  InstallationDate: Installed on 2010-09-24 (1087 days ago)
  InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
  MarkForUpload: True
  SourcePackage: krb5
  UpgradeStatus: Upgraded to saucy on 2013-05-06 (132 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/krb5/+bug/1225844/+subscriptions