I use the following service configuration:
[service/test] mechs = krb5 cred_store = keytab:/path/to/keytab cred_store = ccache:FILE:/var/lib/gssproxy/clients/krb5cc_%U # cred_store = client_keytab:/path/to/keytab euid = 1000
With this config, the gssproxy daemon crashes with SIGABRT every time when executing GSSX_INIT_SEC_CONTEXT:
Debug Enabled Failed to open /proc/net/rpc/use-gss-proxy: 2 (No such file or directory) Client connected(fd = 14) gp_rpc_execute: executing 6 (GSSX_ACQUIRE_CRED) gp_rpc_execute: executing 8 (GSSX_INIT_SEC_CONTEXT) *** Error in `/usr/sbin/gssproxy': corrupted double-linked list: 0x00007fffe40009b0 *** <snip>
Backtrace:
#0 0x00007ffff6267819 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007ffff6268f28 in __GI_abort () at abort.c:90 #2 0x00007ffff62a7b57 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7ffff63afa88 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:196 #3 0x00007ffff62ae53c in malloc_printerr (ptr=<optimized out>, str=0x7ffff63ad154 "corrupted double-linked list", action=3) at malloc.c:4916 #4 malloc_consolidate (av=av@entry=0x7fffe4000020) at malloc.c:4093 #5 0x00007ffff62af559 in _int_malloc (av=av@entry=0x7fffe4000020, bytes=bytes@entry=1344) at malloc.c:3364 #6 0x00007ffff62b282a in __libc_calloc (n=<optimized out>, elem_size=<optimized out>) at malloc.c:3173 #7 0x00007ffff7323da7 in krb5_init_context_profile (flags=0, context_out=0x7fffec0a9740) at init_ctx.c:185 #8 0x00007ffff683491a in krb5_gss_import_cred (minor_status=0x7fffec0a9900, token=0x7fffec0a9880, cred_handle=0x7fffec0a9868) at import_cred.c:610 #9 0x00007ffff68227cd in gss_import_cred (minor_status=minor_status@entry=0x7fffec0a9900, token=token@entry=0x7fffec0a98f0, cred_handle=cred_handle@entry=0x7fffec0a99e0) at g_imp_cred.c:147 #10 0x000000000040a728 in gp_import_gssx_cred (min=min@entry=0x7fffec0a99d4, svc=svc@entry=0x612d90, cred=0x7fffe4001e20, out=out@entry=0x7fffec0a99e0) at src/gp_export.c:376 #11 0x000000000040c512 in gp_init_sec_context (gpctx=<optimized out>, gpsvc=0x612d90, arg=0x7fffec0a9c10, res=0x7fffec0a9b70) at src/gp_rpc_init_sec_context.c:71 #12 0x0000000000408fc9 in gp_rpc_execute (res=0x7fffec0a9b70, arg=0x7fffec0a9c10, proc=8, gpsvc=0x612d90, gpctx=0x6123e0) at src/gp_rpc_process.c:340 #13 gp_rpc_process_call (gpctx=0x6123e0, gpsvc=0x612d90, inbuf=<optimized out>, inlen=<optimized out>, outbuf=outbuf@entry=0x7fffec1a9de0, outlen=outlen@entry=0x7fffec1a9de8) at src/gp_rpc_process.c:398 #14 0x0000000000405e6e in gp_handle_query (w=0x619480, q=0x61b020) at src/gp_workers.c:445 #15 gp_worker_main (pvt=0x61aa90) at src/gp_workers.c:401 #16 0x00007ffff65f9c53 in start_thread (arg=0x7fffec1aa700) at pthread_create.c:308 #17 0x00007ffff6326ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
If I uncomment the "cred_store = client_keytab:..." line in the service configuration, the crash does not happen.
Sounds like a bug in gssapi. Will investigate.
Jan, here is a new build, can you please test it ?
http://koji.fedoraproject.org/koji/taskinfo?taskID=5409995
It could also resolve the sporadic issues described in #86 although I am not sure of that.
This fixes the crash, thank you.
It does not seem to affect #86.
Thanks for testing. Closing as fixed.
Metadata Update from @jcholast: - Issue assigned to gd - Issue set to the milestone: 2013 May